From 33e6766d410a374a709cbc05e2f6be0f83ccbfed Mon Sep 17 00:00:00 2001 From: ahmed elias Date: Tue, 25 Jul 2017 20:56:22 +0200 Subject: [PATCH 001/109] adding all changes from ornage private branch --- openair2/COMMON/rrc_messages_types.h | 37 + openair2/ENB_APP/enb_config.c | 942 ++++++++++----- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 1515 ++++++++++++++++++++++--- openair2/RRC/LITE/MESSAGES/asn1_msg.h | 2 +- openair2/RRC/LITE/rrc_eNB.c | 19 +- 5 files changed, 2023 insertions(+), 492 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index cd8b533dd3..91ac072384 100644 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -166,6 +166,43 @@ typedef struct RrcConfigurationReq_s { long ue_TimersAndConstants_n310[MAX_NUM_CCs]; long ue_TimersAndConstants_n311[MAX_NUM_CCs]; long ue_TransmissionMode[MAX_NUM_CCs]; + + + //MIB + long schedulingInfoSIB1_BR_r13[MAX_NUM_CCs]; + //SIB1 BR options + + + uint16_t* hyperSFN_r13[MAX_NUM_CCs]; + long* eDRX_Allowed_r13[MAX_NUM_CCs]; + BOOLEAN_t cellSelectionInfoCE_r13[MAX_NUM_CCs]; + long q_RxLevMinCE_r13[MAX_NUM_CCs]; + long* q_QualMinRSRQ_CE_r13[MAX_NUM_CCs]; + BOOLEAN_t bandwidthReducedAccessRelatedInfo_r13[MAX_NUM_CCs]; + long si_WindowLength_BR_r13[MAX_NUM_CCs]; + long si_RepetitionPattern_r13[MAX_NUM_CCs]; + BOOLEAN_t fdd_DownlinkOrTddSubframeBitmapBR_r13[MAX_NUM_CCs]; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13[MAX_NUM_CCs]; + uint16_t fdd_UplinkSubframeBitmapBR_r13[MAX_NUM_CCs]; + long startSymbolBR_r13[MAX_NUM_CCs]; + long si_HoppingConfigCommon_r13[MAX_NUM_CCs]; + long* si_ValidityTime_r13[MAX_NUM_CCs]; + BOOLEAN_t freqHoppingParametersDL_r13[MAX_NUM_CCs]; + long* mpdcch_pdsch_HoppingNB_r13[MAX_NUM_CCs]; + BOOLEAN_t interval_DLHoppingConfigCommonModeA_r13[MAX_NUM_CCs]; + long interval_DLHoppingConfigCommonModeA_r13_val[MAX_NUM_CCs]; + BOOLEAN_t interval_DLHoppingConfigCommonModeB_r13[MAX_NUM_CCs]; + long interval_DLHoppingConfigCommonModeB_r13_val[MAX_NUM_CCs]; + long* mpdcch_pdsch_HoppingOffset_r13[MAX_NUM_CCs]; + + + //SIB2 BR Options + long* preambleTransMax_CE_r13[MAX_NUM_CCs]; + BOOLEAN_t prach_ConfigCommon_v1310[MAX_NUM_CCs]; + BOOLEAN_t* mpdcch_startSF_CSS_RA_r13[MAX_NUM_CCs]; + long mpdcch_startSF_CSS_RA_r13_val[MAX_NUM_CCs]; + long* prach_HoppingOffset_r13[MAX_NUM_CCs]; + } RrcConfigurationReq; // UE: NAS -> RRC messages diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index ae3c7d5bfb..39c181319a 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -299,6 +299,38 @@ #define CONFIG_STRING_RU_MAX_RXGAIN "max_rxgain" #define CONFIG_STRING_RU_IF_COMPRESSION "if_compression" +#define ENB_CONFIG_STRING_BR "br_parameters" +#define ENB_CONFIG_STRING_schedulingInfoSIB1 "schedulingInfoSIB1_BR_r13" + +#define ENB_CONFIG_STRING_HYPERSFN "hyperSFN_r13" +#define ENB_CONFIG_STRING_EDRX_ALLOWED "eDRX_Allowed_r13" +#define ENB_CONFIG_STRING_CELLSELECTIONINFOCE "cellSelectionInfoCE_r13" +#define ENB_CONFIG_STRING_Q_RXLEVMINCE "q_RxLevMinCE_r13" +#define ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE "q_QualMinRSRQ_CE_r13" +#define ENB_CONFIG_STRING_BRAccessRelatedInfo "bandwidthReducedAccessRelatedInfo_r13" + +#define ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR "si_WindowLength_BR_r13" +#define ENB_CONFIG_STRING_SI_REPETITIONPATTERN "si_RepetitionPattern_r13" +#define ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR "fdd_DownlinkOrTddSubframeBitmapBR_r13" +#define ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" +#define ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR "fdd_UplinkSubframeBitmapBR_r13" +#define ENB_CONFIG_STRING_STARTSYMBOLBR "startSymbolBR_r13" +#define ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON "si_HoppingConfigCommon_r13" +#define ENB_CONFIG_STRING_SI_VALIDITYTIME "si_ValidityTime_r13" +#define ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL "freqHoppingParametersDL_r13" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB "mpdcch_pdsch_HoppingNB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEA "interval_DLHoppingConfigCommonModeA_r13" +#define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEA_VAL "interval_DLHoppingConfigCommonModeA_r13_val" +#define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB "interval_DLHoppingConfigCommonModeB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL "interval_DLHoppingConfigCommonModeB_r13_val" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET "mpdcch_pdsch_HoppingOffset_r13" + + +#define ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13 "preambleTransMax_CE_r13" +#define ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310 "prach_ConfigCommon_v1310" +#define ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13 "mpdcch_startSF_CSS_RA_r13" +#define ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL "mpdcch_startSF_CSS_RA_r13_val" +#define ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13 "prach_HoppingOffset_r13" #define KHz (1000UL) #define MHz (1000 * KHz) @@ -881,6 +913,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_setting_t *setting_enb = NULL; config_setting_t *setting_otg = NULL; config_setting_t *subsetting_otg = NULL; +#if defined(Rel14) + config_setting_t *setting_br13 = NULL; +#endif // REL14 int parse_errors = 0; int num_enbs = 0; int num_mme_address = 0; @@ -1041,28 +1076,32 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_destroy(&cfg); AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); } - } else { - config_destroy(&cfg); - AssertFatal (0, "No eNB configuration file provided!\n"); - } + } + else { + config_destroy(&cfg); + AssertFatal(0, "No eNB configuration file provided!\n"); + } #if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME) if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { - asn_debug = 0; - asn1_xer_print = 0; - } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { - asn_debug = 1; - asn1_xer_print = 1; - } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { - asn_debug = 1; - asn1_xer_print = 2; - } else { - asn_debug = 0; - asn1_xer_print = 0; - } - } + asn_debug = 0; + asn1_xer_print = 0; + } + else if (strcasecmp(astring, ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { + asn_debug = 1; + asn1_xer_print = 1; + } + else if (strcasecmp(astring, ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { + asn_debug = 1; + asn1_xer_print = 2; + } + else { + asn_debug = 0; + asn1_xer_print = 0; + } + } #endif @@ -1325,26 +1364,30 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = NORMAL; - } else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = EXTENDED; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } #ifdef Rel14 - if (!pbch_repetition) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pbch_repetition[j] = 1; - } else if (strcmp(pbch_repetition, "FALSE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pbch_repetition[j] = 0; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", + if (!pbch_repetition) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); + else if (strcmp(pbch_repetition, "TRUE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; + } + else if (strcmp(pbch_repetition, "FALSE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", RC.config_file_name, i, pbch_repetition); } #endif @@ -1368,13 +1411,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, N_RB_DL); } - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = FDD; - } else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = TDD; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + if (strcmp(frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; + } + else if (strcmp(frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", RC.config_file_name, i, frame_type); } @@ -1396,14 +1441,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = NORMAL; - } else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = EXTENDED; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); } @@ -1455,12 +1502,14 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prach_high_speed[j] = TRUE; - } else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prach_high_speed[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RRC_CONFIGURATION_REQ(msg_p).prach_high_speed[j] = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prach_high_speed[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", RC.config_file_name, i, prach_high_speed); RRC_CONFIGURATION_REQ (msg_p).prach_zero_correlation[j] =prach_zero_correlation; @@ -1533,14 +1582,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode,"interSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } else if (strcmp(pusch_hoppingMode,"intraAndInterSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingOffset[j] = pusch_hoppingOffset; @@ -1554,25 +1605,29 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_enable64QAM[j] = TRUE; - } else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_enable64QAM[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); + RRC_CONFIGURATION_REQ(msg_p).pusch_enable64QAM[j] = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_enable64QAM[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); - if (!pusch_groupHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_groupHoppingEnabled[j] = TRUE; - } else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_groupHoppingEnabled[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_groupHoppingEnabled[j] = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_groupHoppingEnabled[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", RC.config_file_name, i, pusch_groupHoppingEnabled); @@ -1587,13 +1642,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_sequenceHoppingEnabled[j] = TRUE; - } else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_sequenceHoppingEnabled[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_sequenceHoppingEnabled[j] = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_sequenceHoppingEnabled[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", RC.config_file_name, i, pusch_sequenceHoppingEnabled); RRC_CONFIGURATION_REQ (msg_p).pusch_nDMRS1[j] = pusch_nDMRS1; //cyclic_shift in RRC! @@ -1603,38 +1660,46 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", RC.config_file_name, i, pusch_nDMRS1); - if (strcmp(phich_duration,"NORMAL")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_normal; - } else if (strcmp(phich_duration,"EXTENDED")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).phich_duration[j] = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).phich_duration[j] = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); - if (strcmp(phich_resource,"ONESIXTH")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_oneSixth ; - } else if (strcmp(phich_resource,"HALF")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_half; - } else if (strcmp(phich_resource,"ONE")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_one; - } else if (strcmp(phich_resource,"TWO")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_two; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j],phich_resource, - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j],phich_duration); + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + RRC_CONFIGURATION_REQ(msg_p).phich_resource[j], phich_resource, + RRC_CONFIGURATION_REQ(msg_p).phich_duration[j], phich_duration); - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] = TRUE; - } else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] = FALSE; - } else - AssertFatal (0, + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).srs_enable[j] = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).srs_enable[j] = FALSE; + } + else + AssertFatal(0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", RC.config_file_name, i, srs_enable); @@ -1661,163 +1726,197 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", RC.config_file_name, i, srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_ackNackST[j] = TRUE; - } else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_ackNackST[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).srs_ackNackST[j] = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).srs_ackNackST[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_MaxUpPts[j] = TRUE; - } else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_MaxUpPts[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).srs_MaxUpPts[j] = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).srs_MaxUpPts[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } - RRC_CONFIGURATION_REQ (msg_p).pusch_p0_Nominal[j] = pusch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).pusch_p0_Nominal[j] = pusch_p0_Nominal; - if ((pusch_p0_Nominal<-126) || (pusch_p0_Nominal>24)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); #ifndef Rel14 - if (strcmp(pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0; - } else if (strcmp(pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04; - } else if (strcmp(pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05; - } else if (strcmp(pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06; - } else if (strcmp(pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07; - } else if (strcmp(pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08; - } else if (strcmp(pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09; - } else if (strcmp(pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1; + } #else - if (strcmp(pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al0; - } else if (strcmp(pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al04; - } else if (strcmp(pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al05; - } else if (strcmp(pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al06; - } else if (strcmp(pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al07; - } else if (strcmp(pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al08; - } else if (strcmp(pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al09; - } else if (strcmp(pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al1; + } #endif - 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", - RC.config_file_name, i, pusch_alpha); + 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", + RC.config_file_name, i, pusch_alpha); - RRC_CONFIGURATION_REQ (msg_p).pucch_p0_Nominal[j] = pucch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).pucch_p0_Nominal[j] = pucch_p0_Nominal; - if ((pucch_p0_Nominal<-127) || (pucch_p0_Nominal>-96)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); - RRC_CONFIGURATION_REQ (msg_p).msg3_delta_Preamble[j] = msg3_delta_Preamble; + RRC_CONFIGURATION_REQ(msg_p).msg3_delta_Preamble[j] = msg3_delta_Preamble; - if ((msg3_delta_Preamble<-1) || (msg3_delta_Preamble>6)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } else if (strcmp(pucch_deltaF_Format1,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } else if (strcmp(pucch_deltaF_Format1,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } else if (strcmp(pucch_deltaF_Format1b,"deltaF3")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } else if (strcmp(pucch_deltaF_Format1b,"deltaF5")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } else if (strcmp(pucch_deltaF_Format2,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } else if (strcmp(pucch_deltaF_Format2,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2a,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } else if (strcmp(pucch_deltaF_Format2a,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2b,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } else if (strcmp(pucch_deltaF_Format2b,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ (msg_p).rach_numberOfRA_Preambles[j] = (rach_numberOfRA_Preambles/4)-1; + RRC_CONFIGURATION_REQ(msg_p).rach_numberOfRA_Preambles[j] = (rach_numberOfRA_Preambles / 4) - 1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>64) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).rach_preamblesGroupAConfig[j] = TRUE; + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).rach_preamblesGroupAConfig[j] = TRUE; - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", RC.config_file_name, i); @@ -1883,17 +1982,20 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + RRC_CONFIGURATION_REQ(msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); - } else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).rach_preamblesGroupAConfig[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).rach_preamblesGroupAConfig[j] = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", RC.config_file_name, i, rach_preamblesGroupAConfig); RRC_CONFIGURATION_REQ (msg_p).rach_preambleInitialReceivedTargetPower[j] = (rach_preambleInitialReceivedTargetPower+120)/2; @@ -2060,25 +2162,33 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_fourT; - } else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_twoT; - } else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneT; - } else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_halfT; - } else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_quarterT; - } else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneEighthT; - } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneSixteenthT; - } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneThirtySecondT; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", RC.config_file_name, i, pcch_defaultPagingCycle); @@ -2375,7 +2485,228 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, ue_TransmissionMode); break; } - } + + setting_br13 = config_setting_get_member(setting_enb, ENB_CONFIG_STRING_BR); + if (setting_br13 != NULL) + { + int hyperSFN_r13; + int eDRX_Allowed_r13; + int q_RxLevMinCE_r13; + int q_QualMinRSRQ_CE_r13; + int si_WindowLength_BR_r13; + int si_RepetitionPattern_r13; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + int startSymbolBR_r13; + int si_HoppingConfigCommon_r13; + int si_ValidityTime_r13; + int mpdcch_pdsch_HoppingNB_r13; + int interval_DLHoppingConfigCommonModeA_r13_val; + int interval_DLHoppingConfigCommonModeB_r13_val; + int mpdcch_pdsch_HoppingOffset_r13; + int preambleTransMax_CE_r13; + int mpdcch_startSF_CSS_RA_r13_val; + int prach_HoppingOffset_r13; + int schedulingInfoSIB1_BR_r13; + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13; + + + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", + RC.config_file_name, i); + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j] = calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j] = (uint16_t)hyperSFN_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j] = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j] = eDRX_Allowed_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j] = NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j] = q_RxLevMinCE_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j] = q_QualMinRSRQ_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || + !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + + + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + + /////SIB2 Parameters + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).preambleTransMax_CE_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).preambleTransMax_CE_r13[j] = preambleTransMax_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).preambleTransMax_CE_r13[j] = NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).prach_ConfigCommon_v1310[j] = TRUE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = calloc(1, sizeof(BOOLEAN_t)); + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13_val[j] = mpdcch_startSF_CSS_RA_r13_val; + + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).prach_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).prach_HoppingOffset_r13[j] = prach_HoppingOffset_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).prach_HoppingOffset_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).prach_ConfigCommon_v1310[j] = TRUE; + } + else + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + } } setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); @@ -2539,22 +2870,26 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5)/5; - } else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300)/50 + 50; - } else { - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; + } + else if (srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_timer_poll_retransmit); + } - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit/5; - } else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300)/50 + 51; - } else { - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + if (srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; + } + else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", RC.config_file_name, i, srb1_timer_status_prohibit); } @@ -2686,14 +3021,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } + RC.config_file_name, i, srb1_timer_reordering); + } - } else { - rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; - rrc->srb1_timer_reordering = T_Reordering_ms35; - rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; - rrc->srb1_poll_pdu = PollPDU_p4; + } + else { + rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; + rrc->srb1_timer_reordering = T_Reordering_ms35; + rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; + rrc->srb1_poll_pdu = PollPDU_p4; rrc->srb1_poll_byte = PollByte_kBinfinity; rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; } diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 70f27a7cf5..01c95845d6 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -72,6 +72,8 @@ #include "SystemInformation.h" #include "SystemInformationBlockType1.h" +#include "SystemInformationBlockType1-BR-r13.h" + #include "SIB-Type.h" @@ -190,7 +192,7 @@ uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId) return 0xFF; //error! } -uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame) +uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame, uint32_t schedulingInfoSIB1) { asn_enc_rval_t enc_rval; @@ -244,6 +246,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich #ifndef Rel14 mib->message.spare.size = 2; mib->message.spare.bits_unused = 6; // This makes a spare of 10 bits + mib->message.schedulingInfoSIB1_BR_r13 = schedulingInfoSIB1; // turn on eMTC #else mib->message.spare.size = 1; mib->message.spare.bits_unused = 3; // This makes a spare of 5 bits @@ -301,7 +304,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, uint8_t *buffer = carrier->SIB1; BCCH_DL_SCH_Message_t *bcch_message = &carrier->siblock1; - SystemInformationBlockType1_t **sib1 = &carrier->sib1; + SystemInformationBlockType1_BR_r13_t **sib1_br = &carrier->sib1; memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_t)); @@ -309,7 +312,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1; // memcpy(&bcch_message.message.choice.c1.choice.systemInformationBlockType1,sib1,sizeof(SystemInformationBlockType1_t)); - *sib1 = &bcch_message->message.choice.c1.choice.systemInformationBlockType1; + *sib1_br = &bcch_message->message.choice.c1.choice.systemInformationBlockType1; memset(&PLMN_identity_info,0,sizeof(PLMN_IdentityInfo_t)); memset(&schedulingInfo,0,sizeof(SchedulingInfo_t)); @@ -370,90 +373,401 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, //assign_enum(&PLMN_identity_info.cellReservedForOperatorUse,PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved); PLMN_identity_info.cellReservedForOperatorUse=PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved; - ASN_SEQUENCE_ADD(&(*sib1)->cellAccessRelatedInfo.plmn_IdentityList.list,&PLMN_identity_info); + ASN_SEQUENCE_ADD(&(*sib1_br)->cellAccessRelatedInfo.plmn_IdentityList.list, &PLMN_identity_info); - // 16 bits - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf = MALLOC(2); + // 16 bits + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf = MALLOC(2); #if defined(ENABLE_ITTI) - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = (configuration->tac >> 8) & 0xff; - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = (configuration->tac >> 0) & 0xff; + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = (configuration->tac >> 8) & 0xff; + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = (configuration->tac >> 0) & 0xff; #else - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = 0x00; - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = 0x01; + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = 0x00; + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = 0x01; #endif - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.size=2; - (*sib1)->cellAccessRelatedInfo.trackingAreaCode.bits_unused=0; + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.size = 2; + (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.bits_unused = 0; - // 28 bits - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf = MALLOC(8); + // 28 bits + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf = MALLOC(8); #if defined(ENABLE_ITTI) - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[0] = (configuration->cell_identity >> 20) & 0xff; - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[1] = (configuration->cell_identity >> 12) & 0xff; - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[2] = (configuration->cell_identity >> 4) & 0xff; - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[3] = (configuration->cell_identity << 4) & 0xf0; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[0] = (configuration->cell_identity >> 20) & 0xff; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[1] = (configuration->cell_identity >> 12) & 0xff; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[2] = (configuration->cell_identity >> 4) & 0xff; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[3] = (configuration->cell_identity << 4) & 0xf0; #else - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[0] = 0x00; - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[1] = 0x00; - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[2] = 0x00; - (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[3] = 0x10; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[0] = 0x00; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[1] = 0x00; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[2] = 0x00; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[3] = 0x10; #endif - (*sib1)->cellAccessRelatedInfo.cellIdentity.size=4; - (*sib1)->cellAccessRelatedInfo.cellIdentity.bits_unused=4; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.size = 4; + (*sib1_br)->cellAccessRelatedInfo.cellIdentity.bits_unused = 4; - // assign_enum(&(*sib1)->cellAccessRelatedInfo.cellBarred,SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred); - (*sib1)->cellAccessRelatedInfo.cellBarred=SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred; + // assign_enum(&(*sib1)->cellAccessRelatedInfo.cellBarred,SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred); + (*sib1_br)->cellAccessRelatedInfo.cellBarred = SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred; - // assign_enum(&(*sib1)->cellAccessRelatedInfo.intraFreqReselection,SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_allowed); - (*sib1)->cellAccessRelatedInfo.intraFreqReselection=SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_notAllowed; - (*sib1)->cellAccessRelatedInfo.csg_Indication=0; + // assign_enum(&(*sib1)->cellAccessRelatedInfo.intraFreqReselection,SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_allowed); + (*sib1_br)->cellAccessRelatedInfo.intraFreqReselection = SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_notAllowed; + (*sib1_br)->cellAccessRelatedInfo.csg_Indication = 0; - (*sib1)->cellSelectionInfo.q_RxLevMin=-65; - (*sib1)->cellSelectionInfo.q_RxLevMinOffset=NULL; - //(*sib1)->p_Max = CALLOC(1, sizeof(P_Max_t)); - //*((*sib1)->p_Max) = 23; - (*sib1)->freqBandIndicator = + (*sib1_br)->cellSelectionInfo.q_RxLevMin = -65; + (*sib1_br)->cellSelectionInfo.q_RxLevMinOffset = NULL; + //(*sib1)->p_Max = CALLOC(1, sizeof(P_Max_t)); + //*((*sib1)->p_Max) = 23; + (*sib1_br)->freqBandIndicator = #if defined(ENABLE_ITTI) - configuration->eutra_band[CC_id]; + configuration->eutra_band[CC_id]; #else - 7; + 7; #endif - schedulingInfo.si_Periodicity=SchedulingInfo__si_Periodicity_rf8; + schedulingInfo.si_Periodicity = SchedulingInfo__si_Periodicity_rf8; - // This is for SIB2/3 - sib_type=SIB_Type_sibType3; - ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type); - ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo); + // This is for SIB2/3 + sib_type = SIB_Type_sibType3; + ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list, &sib_type); + ASN_SEQUENCE_ADD(&(*sib1_br)->schedulingInfoList.list, &schedulingInfo); - // ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL); + // ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL); #if defined(ENABLE_ITTI) - if (configuration->frame_type[CC_id] == TDD) + if (configuration->frame_type[CC_id] == TDD) #endif - { - (*sib1)->tdd_Config = CALLOC(1,sizeof(struct TDD_Config)); + { + (*sib1_br)->tdd_Config = CALLOC(1, sizeof(struct TDD_Config)); - (*sib1)->tdd_Config->subframeAssignment = + (*sib1_br)->tdd_Config->subframeAssignment = #if defined(ENABLE_ITTI) - configuration->tdd_config[CC_id]; + configuration->tdd_config[CC_id]; #else - 3; + 3; // +kogo this was frame_parms->tdd_config #endif - (*sib1)->tdd_Config->specialSubframePatterns = + (*sib1_br)->tdd_Config->specialSubframePatterns = #if defined(ENABLE_ITTI) - configuration->tdd_config_s[CC_id]; + configuration->tdd_config_s[CC_id]; #else - 0; + 0; // +kogo this was frame_parms->tdd_config_S; #endif - } + } - (*sib1)->si_WindowLength=SystemInformationBlockType1__si_WindowLength_ms20; - (*sib1)->systemInfoValueTag=0; - // (*sib1).nonCriticalExtension = calloc(1,sizeof(*(*sib1).nonCriticalExtension)); + (*sib1_br)->si_WindowLength = SystemInformationBlockType1__si_WindowLength_ms20; + (*sib1_br)->systemInfoValueTag = 0; + (*sib1_br)->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v890_IEs_t)); + SystemInformationBlockType1_v890_IEs_t *sib1_br_890 = (*sib1_br)->nonCriticalExtension; + sib1_br_890->lateNonCriticalExtension = NULL; + sib1_br_890->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v920_IEs_t)); + memset(sib1_br_890->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v920_IEs_t)); + + SystemInformationBlockType1_v920_IEs_t *sib1_br_920 = (*sib1_br_890).nonCriticalExtension; + sib1_br_920->ims_EmergencySupport_r9 = NULL; // ptr + sib1_br_920->cellSelectionInfo_v920 = NULL; + sib1_br_920->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1130_IEs_t)); + memset(sib1_br_920->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1130_IEs_t)); + + //////Rel11 + SystemInformationBlockType1_v1130_IEs_t *sib1_br_1130 = sib1_br_920->nonCriticalExtension; + + sib1_br_1130->tdd_Config_v1130 = NULL; // ptr + sib1_br_1130->cellSelectionInfo_v1130 = NULL; // ptr + sib1_br_1130->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1250_IEs_t)); + memset(sib1_br_1130->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1250_IEs_t)); + + + ///Rel12 + SystemInformationBlockType1_v1250_IEs_t *sib1_br_1250 = sib1_br_1130->nonCriticalExtension; + sib1_br_1250->cellAccessRelatedInfo_v1250.category0Allowed_r12 = NULL; // long* + sib1_br_1250->cellSelectionInfo_v1250 = NULL; + sib1_br_1250->freqBandIndicatorPriority_r12 = 0; // long* // FIXME + sib1_br_1250->nonCriticalExtension = NULL; + + + + + ////Rel1310 +#if defined(ENABLE_ITTI) + if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) + { + sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; + + + if (configuration->hyperSFN_r13[CC_id]) + { + sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_br_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_br_1310->hyperSFN_r13->size = 2; + sib1_br_1310->hyperSFN_r13->bits_unused = 6; + } + else + sib1_br_1310->hyperSFN_r13 = NULL; + + if (configuration->eDRX_Allowed_r13[CC_id]) + { + sib1_br_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); + *sib1_br_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; + } + else + sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* + + if (configuration->cellSelectionInfoCE_r13[CC_id]) + { + sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long + if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) + { + sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); + *sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; + } + else + sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; + } + else + sib1_br_1310->cellSelectionInfoCE_r13 = NULL; + + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = configuration->si_WindowLength_BR_r13[CC_id]; // 0 + + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = configuration->si_RepetitionPattern_r13[CC_id]; // 0 + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); + SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); + memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); + schedulinginfo_br_13->si_Narrowband_r13 = 1; + schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + } + else + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); + memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; + } + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], + 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 + = configuration->si_HoppingConfigCommon_r13[CC_id]; + + if (configuration->si_ValidityTime_r13[CC_id]) + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 + = *configuration->si_ValidityTime_r13[CC_id]; + } + else + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + } + else + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; + + sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + + /////Rel1320 + SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; + + + + if (configuration->freqHoppingParametersDL_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + + + if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; + } + else + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; + + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + + if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } + else + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } + + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + + if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } + else + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } + + if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) + { + + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; + } + else + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; + + } + else + sib1_br_1320->freqHoppingParametersDL_r13 = NULL; + + sib1_br_1320->nonCriticalExtension = NULL; + } +#else + sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; + + sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memset(sib1_br_1310->hyperSFN_r13->buf, 0, 2*sizeof(uint8_t)); + sib1_br_1310->hyperSFN_r13->size = 2; + sib1_br_1310->hyperSFN_r13->bits_unused = 6; + + sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* + sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = -70; // (Q_RxLevMin_t) long + sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; // (Q_RxLevMin_t) *long + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms20; // 0 + + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_everyRF; // 0 + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); + SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); + memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); + schedulinginfo_br_13->si_Narrowband_r13 = 1; + schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, 0, 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, 0, + 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = 1; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_on; + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_ValidityTime_r13_true; + + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + + sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + + /////Rel1320 + SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; + sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__mpdcch_pdsch_HoppingNB_r13_nb2; + + + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13__interval_FDD_r13_int1; + + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13__interval_FDD_r13_int2; + + + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = 1; + + sib1_br_1320->nonCriticalExtension = NULL; +#endif #ifdef XER_PRINT xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message); #endif @@ -512,7 +826,7 @@ uint8_t do_SIB23(uint8_t Mod_id, uint8_t *buffer = RC.rrc[Mod_id]->carrier[CC_id].SIB23; BCCH_DL_SCH_Message_t *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation; - SystemInformationBlockType2_t **sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2; + SystemInformationBlockType2_t **sib2_br = &RC.rrc[Mod_id]->carrier[CC_id].sib2; SystemInformationBlockType3_t **sib3 = &RC.rrc[Mod_id]->carrier[CC_id].sib3; #if defined(Rel10) || defined(Rel14) SystemInformationBlockType13_r9_t **sib13 = &RC.rrc[Mod_id]->carrier[CC_id].sib13; @@ -526,8 +840,8 @@ uint8_t do_SIB23(uint8_t Mod_id, exit(-1); } - if (!sib2) { - LOG_E(RRC,"[eNB %d] sib2 is null, exiting\n", Mod_id); + if (!sib2_br) { + LOG_E(RRC,"[eNB %d] sib2_br is null, exiting\n", Mod_id); exit(-1); } @@ -537,7 +851,7 @@ uint8_t do_SIB23(uint8_t Mod_id, } #if defined(Rel10) || defined(Rel14) - LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag); + LOG_I(RRC,"[eNB %d] Configuration sib2_br/3, MBMS = %d\n", Mod_id, MBMS_flag); #else LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id); #endif @@ -549,7 +863,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2; sib3_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3; - *sib2 = &sib2_part->choice.sib2; + *sib2_br = &sib2_part->choice.sib2; *sib3 = &sib3_part->choice.sib3; #if defined(Rel10) || defined(Rel14) @@ -565,252 +879,428 @@ uint8_t do_SIB23(uint8_t Mod_id, // sib2 - (*sib2)->ac_BarringInfo = NULL; + (*sib2_br)->ac_BarringInfo = NULL; #if defined(Rel10) || defined(Rel14) #if 0 - (*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL; - (*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL; - (*sib2)->ac_BarringForCSFB_r10 = NULL; + (*sib2_br)->ssac_BarringForMMTEL_Voice_r9 = NULL; + (*sib2_br)->ssac_BarringForMMTEL_Video_r9 = NULL; + (*sib2_br)->ac_BarringForCSFB_r10 = NULL; #endif - (*sib2)->ext1 = NULL; - (*sib2)->ext2 = NULL; + (*sib2_br)->ext1 = NULL; + (*sib2_br)->ext2 = NULL; #endif #if defined(ENABLE_ITTI) - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles = configuration->rach_numberOfRA_Preambles[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles = configuration->rach_numberOfRA_Preambles[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; if (configuration->rach_preamblesGroupAConfig[CC_id]) { - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = CALLOC(1,sizeof(struct RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig)); - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->sizeOfRA_PreamblesGroupA + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->sizeOfRA_PreamblesGroupA = configuration->rach_sizeOfRA_PreamblesGroupA[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messageSizeGroupA + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messageSizeGroupA = configuration->rach_messageSizeGroupA[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messagePowerOffsetGroupB + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messagePowerOffsetGroupB = configuration->rach_messagePowerOffsetGroupB[CC_id]; } - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep = configuration->rach_powerRampingStep[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower = - configuration->rach_preambleInitialReceivedTargetPower[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax = configuration->rach_preambleTransMax[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize = configuration->rach_raResponseWindowSize[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer = - configuration->rach_macContentionResolutionTimer[CC_id]; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = configuration->rach_maxHARQ_Msg3Tx[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep = configuration->rach_powerRampingStep[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower = configuration->rach_preambleInitialReceivedTargetPower[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax = configuration->rach_preambleTransMax[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize = configuration->rach_raResponseWindowSize[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer = configuration->rach_macContentionResolutionTimer[CC_id]; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = configuration->rach_maxHARQ_Msg3Tx[CC_id]; + + // LTE-M +kogo + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); + memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); + + if (configuration->rach_maxHARQ_Msg3Tx[CC_id]) + { + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); + *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = configuration->rach_maxHARQ_Msg3Tx[CC_id]; // to be re-initialized when we find the enum + } + else + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; + + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); + memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); + + RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); + memset(rach_ce_levelinfo_r13, 0, sizeof(RACH_CE_LevelInfo_r13_t)); + rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = 0; + rach_ce_levelinfo_r13->preambleMappingInfo_r13.lastPreamble_r13 = 63; + rach_ce_levelinfo_r13->ra_ResponseWindowSize_r13 = RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf80; + rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; + rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; + + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); +//--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo // BCCH-Config - (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff + (*sib2_br)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff = configuration->bcch_modificationPeriodCoeff[CC_id]; // PCCH-Config - (*sib2)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle + (*sib2_br)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = configuration->pcch_defaultPagingCycle[CC_id]; - (*sib2)->radioResourceConfigCommon.pcch_Config.nB + (*sib2_br)->radioResourceConfigCommon.pcch_Config.nB = configuration->pcch_nB[CC_id]; // PRACH-Config - (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex + (*sib2_br)->radioResourceConfigCommon.prach_Config.rootSequenceIndex = configuration->prach_root[CC_id]; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = configuration->prach_config_index[CC_id]; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = configuration->prach_high_speed[CC_id]; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = configuration->prach_zero_correlation[CC_id]; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset = configuration->prach_freq_offset[CC_id]; // PDSCH-Config - (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower + (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower = configuration->pdsch_referenceSignalPower[CC_id]; - (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b + (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b = configuration->pdsch_p_b[CC_id]; // PUSCH-Config - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB = configuration->pusch_n_SB[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode = configuration->pusch_hoppingMode[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset = configuration->pusch_hoppingOffset[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM = configuration->pusch_enable64QAM[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = configuration->pusch_groupHoppingEnabled[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = configuration->pusch_groupAssignment[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = configuration->pusch_sequenceHoppingEnabled[CC_id]; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift = configuration->pusch_nDMRS1[CC_id]; // PUCCH-Config - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift = configuration->pucch_delta_shift[CC_id]; - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI = configuration->pucch_nRB_CQI[CC_id]; - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN = configuration->pucch_nCS_AN[CC_id]; #if !defined(Rel10) && !defined(Rel14) - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN = configuration->pucch_n1_AN[CC_id]; #endif // SRS Config if (configuration->srs_enable[CC_id]==1) { - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present = SoundingRS_UL_ConfigCommon_PR_setup; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig = configuration->srs_BandwidthConfig[CC_id]; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig = configuration->srs_SubframeConfig[CC_id]; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission = configuration->srs_ackNackST[CC_id]; if (configuration->srs_MaxUpPts[CC_id]) { - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts = CALLOC(1,sizeof(long)); - *(*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts=1; + *(*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts=1; } else { - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts = NULL; + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts = NULL; } RC.rrc[Mod_id]->srs_enable[CC_id] = 1; } else { RC.rrc[Mod_id]->srs_enable[CC_id] = 0; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; } // uplinkPowerControlCommon - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = configuration->pusch_p0_Nominal[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = configuration->pucch_p0_Nominal[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha = configuration->pusch_alpha[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1 + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1 = configuration->pucch_deltaF_Format1[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b = configuration->pucch_deltaF_Format1b[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2 + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2 = configuration->pucch_deltaF_Format2[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a = configuration->pucch_deltaF_Format2a[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b = configuration->pucch_deltaF_Format2b[CC_id]; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 = configuration->msg3_delta_Preamble[CC_id]; - (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength + (*sib2_br)->radioResourceConfigCommon.ul_CyclicPrefixLength = configuration->ul_CyclicPrefixLength[CC_id]; + // LTE-M - +Kogo + (*sib2_br)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + memset((*sib2_br)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); + (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; + (*sib2_br)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; + + if (configuration->prach_ConfigCommon_v1310[CC_id]) + { + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); + + RSRP_Range_t rsrp_range = 60; + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); + + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; + + if (configuration->mpdcch_startSF_CSS_RA_r13[CC_id]) + { + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + + if (*configuration->mpdcch_startSF_CSS_RA_r13[CC_id]) + { + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = configuration->mpdcch_startSF_CSS_RA_r13_val[CC_id]; + } + else + { + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = configuration->mpdcch_startSF_CSS_RA_r13_val[CC_id]; + } + } + + if (configuration->prach_HoppingOffset_r13[CC_id]) + { + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = *configuration->prach_HoppingOffset_r13[CC_id]; + } + else + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; + + PRACH_ParametersCE_r13_t *prach_parametersce_r13 = calloc(1, sizeof(PRACH_ParametersCE_r13_t)); + memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); + + prach_parametersce_r13->prach_ConfigIndex_r13 = 3; + prach_parametersce_r13->prach_FreqOffset_r13 = 1; + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = calloc(1, sizeof(long)); + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = PRACH_ParametersCE_r13__maxNumPreambleAttemptCE_r13_n3; + + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; + long maxavailablenarrowband = 2; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + } + else + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; + + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); + long pucch_info_value1 = 0; + long pucch_info_value2 = 2; + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; +//----------------------------------------------------------------------------------------------------------------------------------------- + + // UE Timers and Constants - (*sib2)->ue_TimersAndConstants.t300 + (*sib2_br)->ue_TimersAndConstants.t300 = configuration->ue_TimersAndConstants_t300[CC_id]; - (*sib2)->ue_TimersAndConstants.t301 + (*sib2_br)->ue_TimersAndConstants.t301 = configuration->ue_TimersAndConstants_t301[CC_id]; - (*sib2)->ue_TimersAndConstants.t310 + (*sib2_br)->ue_TimersAndConstants.t310 = configuration->ue_TimersAndConstants_t310[CC_id]; - (*sib2)->ue_TimersAndConstants.n310 + (*sib2_br)->ue_TimersAndConstants.n310 = configuration->ue_TimersAndConstants_n310[CC_id]; - (*sib2)->ue_TimersAndConstants.t311 + (*sib2_br)->ue_TimersAndConstants.t311 = configuration->ue_TimersAndConstants_t311[CC_id]; - (*sib2)->ue_TimersAndConstants.n311 + (*sib2_br)->ue_TimersAndConstants.n311 = configuration->ue_TimersAndConstants_n311[CC_id]; #else - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower= + puts("This is a test that #define ITTI is not working"); + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower= RACH_ConfigCommon__powerRampingParameters__preambleInitialReceivedTargetPower_dBm_100; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax=RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize=RACH_ConfigCommon__ra_SupervisionInfo__ra_ResponseWindowSize_sf10; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer= + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax=RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize=RACH_ConfigCommon__ra_SupervisionInfo__ra_ResponseWindowSize_sf10; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer= RACH_ConfigCommon__ra_SupervisionInfo__mac_ContentionResolutionTimer_sf48; - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = 4; + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = 4; + + // LTE-M +kogo + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); + memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); + *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = PreambleTransMax_n5; // to be re-initialized when we find the enum + (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); + memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); + + RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); + memset(rach_ce_levelinfo_r13, 0, sizeof(RACH_CE_LevelInfo_r13_t)); + rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = 0; + rach_ce_levelinfo_r13->preambleMappingInfo_r13.lastPreamble_r13 = 63; + rach_ce_levelinfo_r13->ra_ResponseWindowSize_r13 = RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf80; + rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; + rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; + + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); +//--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo // BCCH-Config - (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff=BCCH_Config__modificationPeriodCoeff_n2; + (*sib2_br)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff=BCCH_Config__modificationPeriodCoeff_n2; // PCCH-Config - (*sib2)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; - (*sib2)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT; + (*sib2_br)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + (*sib2_br)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT; // PRACH-Config - (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = 0;//3; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = 0; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = 1;//12; - (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset = 2; + (*sib2_br)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384; + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = 0;//3; + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = 0; + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = 1;//12; + (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset = 2; // PDSCH-Config - (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower=0; // corresponds to 24.7 dBm 5 MHz/ 27.7 10 MHz/ 30.7 20 MHz + (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower=0; // corresponds to 24.7 dBm 5 MHz/ 27.7 10 MHz/ 30.7 20 MHz - (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b=0; + (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b=0; // this is different ,, // PUSCH-Config - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB=1; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode=PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset=0; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM=0; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled=1; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH=0; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled=0; - (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift=0; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB=1; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode=PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset=0; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM=0; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled=1; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH=0; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled=0; + (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift=0; // PUCCH-Config - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift=PUCCH_ConfigCommon__deltaPUCCH_Shift_ds1; - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI = 1; - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN = 0; - (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN = 32; + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift=PUCCH_ConfigCommon__deltaPUCCH_Shift_ds1; + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI = 1; + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN = 0; + (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN = 32; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; - (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; + (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; // uplinkPowerControlCommon - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha=UplinkPowerControlCommon__alpha_al1; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1=DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b=DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha=UplinkPowerControlCommon__alpha_al1; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1=DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b=DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2=DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2=DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a=DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a=DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b=DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b=DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 = 6; + (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 = 6; - (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength=UL_CyclicPrefixLength_len1; + (*sib2_br)->radioResourceConfigCommon.ul_CyclicPrefixLength=UL_CyclicPrefixLength_len1; - (*sib2)->ue_TimersAndConstants.t300=UE_TimersAndConstants__t300_ms1000; + // LTE-M - +Kogo + (*sib2_br)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + memset((*sib2_br)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); + (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; + (*sib2_br)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); - (*sib2)->ue_TimersAndConstants.t301=UE_TimersAndConstants__t301_ms1000; + RSRP_Range_t rsrp_range = 60; + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); - (*sib2)->ue_TimersAndConstants.t310=UE_TimersAndConstants__t310_ms1000; + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13__fdd_r13_v5; + (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; - (*sib2)->ue_TimersAndConstants.n310=UE_TimersAndConstants__n310_n20; + PRACH_ParametersCE_r13_t *prach_parametersce_r13 = calloc(1, sizeof(PRACH_ParametersCE_r13_t)); + memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); - (*sib2)->ue_TimersAndConstants.t311=UE_TimersAndConstants__t311_ms10000; + prach_parametersce_r13->prach_ConfigIndex_r13 = 3; + prach_parametersce_r13->prach_FreqOffset_r13 = 1; + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = calloc(1, sizeof(long)); + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = PRACH_ParametersCE_r13__maxNumPreambleAttemptCE_r13_n3; - (*sib2)->ue_TimersAndConstants.n311=UE_TimersAndConstants__n311_n1; + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; + long maxavailablenarrowband = 2; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); + memset((*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); + long pucch_info_value1 = 0; + long pucch_info_value2 = 2; + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); + ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; +//----------------------------------------------------------------------------------------------------------------------------------------- + + (*sib2_br)->ue_TimersAndConstants.t300=UE_TimersAndConstants__t300_ms1000; + + (*sib2_br)->ue_TimersAndConstants.t301=UE_TimersAndConstants__t301_ms1000; + + (*sib2_br)->ue_TimersAndConstants.t310=UE_TimersAndConstants__t310_ms1000; + + (*sib2_br)->ue_TimersAndConstants.n310=UE_TimersAndConstants__n310_n20; + + (*sib2_br)->ue_TimersAndConstants.t311=UE_TimersAndConstants__t311_ms10000; + + (*sib2_br)->ue_TimersAndConstants.n311=UE_TimersAndConstants__n311_n1; #endif - (*sib2)->freqInfo.additionalSpectrumEmission = 1; - (*sib2)->freqInfo.ul_CarrierFreq = NULL; - (*sib2)->freqInfo.ul_Bandwidth = NULL; + (*sib2_br)->freqInfo.additionalSpectrumEmission = 1; + (*sib2_br)->freqInfo.ul_CarrierFreq = NULL; + (*sib2_br)->freqInfo.ul_Bandwidth = NULL; // (*sib2)->mbsfn_SubframeConfigList = NULL; #if defined(Rel10) || defined(Rel14) @@ -818,8 +1308,8 @@ uint8_t do_SIB23(uint8_t Mod_id, if (MBMS_flag > 0) { LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n"); MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig1; - (*sib2)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct MBSFN_SubframeConfigList)); - MBSFNSubframeConfigList = (*sib2)->mbsfn_SubframeConfigList; + (*sib2_br)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct MBSFN_SubframeConfigList)); + MBSFNSubframeConfigList = (*sib2_br)->mbsfn_SubframeConfigList; sib2_mbsfn_SubframeConfig1= CALLOC(1,sizeof(*sib2_mbsfn_SubframeConfig1)); memset((void*)sib2_mbsfn_SubframeConfig1,0,sizeof(*sib2_mbsfn_SubframeConfig1)); @@ -849,17 +1339,17 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.bits_unused= 2; sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.buf[0]=0x07<<2; - + ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig2); } } #else // no MBMS transmission - (*sib2)->mbsfn_SubframeConfigList = NULL; + (*sib2_br)->mbsfn_SubframeConfigList = NULL; #endif - (*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120; + (*sib2_br)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120; /// (*SIB3) #if defined(Rel10) || defined(Rel14) @@ -921,7 +1411,7 @@ uint8_t do_SIB23(uint8_t Mod_id, MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.size= 1; MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=0x20<<2; // FDD: SF1 - + MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2; @@ -944,7 +1434,7 @@ uint8_t do_SIB23(uint8_t Mod_id, MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2; MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=0x04<<2; // FDD: SF6 - + MBSFN_Area2->mcch_Config_r9.signallingMCS_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7; @@ -1253,6 +1743,442 @@ do_RRCConnectionReconfigurationComplete( return((enc_rval.encoded+7)/8); } +uint8_t +do_RRCConnectionSetup_BR( + const protocol_ctxt_t* const ctxt_pP, + rrc_eNB_ue_context_t* const ue_context_pP, + int CC_id, + uint8_t* const buffer, + const uint8_t transmission_mode, + const uint8_t Transaction_id, + SRB_ToAddModList_t **SRB_configList, + struct PhysicalConfigDedicated **physicalConfigDedicated) +{ + + asn_enc_rval_t enc_rval; + uint8_t ecause=0; + eNB_RRC_INST *rrc = RC.rrc[ctxt_pP->module_id]; + rrc_eNB_carrier_data_t *carrier = &rrc->carrier[CC_id]; + + long* logicalchannelgroup = NULL; + struct SRB_ToAddMod* SRB1_config = NULL; + struct SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL; + struct SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL; + struct LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL; + + #ifdef CBA + struct PUSCH_CBAConfigDedicated_vlola* pusch_CBAConfigDedicated_vlola = NULL; + long* betaOffset_CBA_Index = NULL; + long* cShift_CBA = NULL; + #endif + PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL; + + DL_CCCH_Message_t dl_ccch_msg; + + RRCConnectionSetup_t* rrcConnectionSetup = NULL; + + memset((void *)&dl_ccch_msg,0,sizeof(DL_CCCH_Message_t)); + dl_ccch_msg.message.present = DL_CCCH_MessageType_PR_c1; + dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionSetup; + rrcConnectionSetup = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionSetup; + + // RRCConnectionSetup + // Configure SRB1 + + // *SRB_configList = CALLOC(1,sizeof(*SRB_configList)); + if (*SRB_configList) { + free(*SRB_configList); + } + + *SRB_configList = CALLOC(1,sizeof(SRB_ToAddModList_t)); + + /// SRB1 + SRB1_config = CALLOC(1,sizeof(*SRB1_config)); + + SRB1_config->srb_Identity = 1; + SRB1_rlc_config = CALLOC(1,sizeof(*SRB1_rlc_config)); + SRB1_config->rlc_Config = SRB1_rlc_config; + + SRB1_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue; + SRB1_rlc_config->choice.explicitValue.present=RLC_Config_PR_am; +#if defined(ENABLE_ITTI) + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = rrc->srb1_timer_poll_retransmit; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = rrc->srb1_poll_pdu; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = rrc->srb1_poll_byte; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = rrc->srb1_max_retx_threshold; + SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = rrc->srb1_timer_reordering; + SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = rrc->srb1_timer_status_prohibit; +#else + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms20;; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p4;; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = PollByte_kBinfinity; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8; + SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35; + SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms0; +#endif + + SRB1_lchan_config = CALLOC(1,sizeof(*SRB1_lchan_config)); + SRB1_config->logicalChannelConfig = SRB1_lchan_config; + + SRB1_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue; + SRB1_ul_SpecificParameters = CALLOC(1,sizeof(*SRB1_ul_SpecificParameters)); + + SRB1_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB1_ul_SpecificParameters; + + + SRB1_ul_SpecificParameters->priority = 1; + + //assign_enum(&SRB1_ul_SpecificParameters->prioritisedBitRate,LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity); + SRB1_ul_SpecificParameters->prioritisedBitRate=LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity; + + //assign_enum(&SRB1_ul_SpecificParameters->bucketSizeDuration,LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50); + SRB1_ul_SpecificParameters->bucketSizeDuration=LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50; + + logicalchannelgroup = CALLOC(1,sizeof(long)); + *logicalchannelgroup=0; + SRB1_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; + + + ASN_SEQUENCE_ADD(&(*SRB_configList)->list,SRB1_config); + + // PhysicalConfigDedicated + + physicalConfigDedicated2 = CALLOC(1,sizeof(*physicalConfigDedicated2)); + *physicalConfigDedicated = physicalConfigDedicated2; + + physicalConfigDedicated2->pdsch_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->pdsch_ConfigDedicated)); + physicalConfigDedicated2->pucch_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->pucch_ConfigDedicated)); + + physicalConfigDedicated2->pusch_ConfigDedicated = NULL; + physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH = NULL; + physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH = NULL; + + physicalConfigDedicated2->uplinkPowerControlDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated)); + physicalConfigDedicated2->cqi_ReportConfig = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig)); + + if (rrc->srs_enable[CC_id]) + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->soundingRS_UL_ConfigDedicated)); + else + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = NULL; + physicalConfigDedicated2->antennaInfo = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo)); + physicalConfigDedicated2->schedulingRequestConfig = CALLOC(1,sizeof(*physicalConfigDedicated2->schedulingRequestConfig)); +#ifdef CBA + physicalConfigDedicated2->pusch_CBAConfigDedicated_vlola = CALLOC(1,sizeof(*physicalConfigDedicated2->pusch_CBAConfigDedicated_vlola)); +#endif + // PDSCH + //assign_enum(&physicalConfigDedicated2->pdsch_ConfigDedicated->p_a, + // PDSCH_ConfigDedicated__p_a_dB0); + if (carrier->p_eNB==2) + physicalConfigDedicated2->pdsch_ConfigDedicated->p_a= PDSCH_ConfigDedicated__p_a_dB_3; + else + physicalConfigDedicated2->pdsch_ConfigDedicated->p_a= PDSCH_ConfigDedicated__p_a_dB0; + + // PUCCH + physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present=PUCCH_ConfigDedicated__ackNackRepetition_PR_release; + physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.choice.release=0; + + if (carrier->sib1->tdd_Config == NULL) { + physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode=NULL;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing; + } else { //TDD + physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode= CALLOC(1,sizeof(long)); + *(physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode) = + PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_bundling;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing; + } + + /// TODO to be reviewed + // UplinkPowerControlDedicated + physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUSCH = 0; // 0 dB + //assign_enum(&physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled, + // UplinkPowerControlDedicated__deltaMCS_Enabled_en1); + physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled= UplinkPowerControlDedicated__deltaMCS_Enabled_en1; + physicalConfigDedicated2->uplinkPowerControlDedicated->accumulationEnabled = 1; // TRUE + physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUCCH = 0; // 0 dB + physicalConfigDedicated2->uplinkPowerControlDedicated->pSRS_Offset = 0; // 0 dB + physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient = CALLOC(1, + sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient)); + // assign_enum(physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient,FilterCoefficient_fc4); // fc4 dB + *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient=FilterCoefficient_fc4; // fc4 dB + + // TPC-PDCCH-Config + + // CQI ReportConfig + + /// TODO to be reviewed + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic)); +#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 +#endif + physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB + //physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL; + + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; + /* + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup; + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex = 0; // Icqi/pmi + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present = CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI; // subband CQI + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.choice.subbandCQI.k=4; + + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex=NULL; + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.simultaneousAckNackAndCQI=0; + */ + + /// TODO to be reviewed + if (rrc->srs_enable[CC_id]) { + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = + SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = + SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; + if (carrier->sib1->tdd_Config==NULL) { // FDD + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); + if (ue_context_pP->local_uid >=20) + LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); + //the current code will allow for 20 UEs - to be revised for more + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=7+ue_context_pP->local_uid/2; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; + } + else { + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) { + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, + carrier->sib1->tdd_Config->subframeAssignment); + } + if (ue_context_pP->local_uid >=6) + LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=17+ue_context_pP->local_uid/2; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; + } + LOG_W(RRC,"local UID %d, srs ConfigIndex %d, TransmissionComb %d\n",ue_context_pP->local_uid, + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); + + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift= + SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; + } + + //AntennaInfoDedicated + physicalConfigDedicated2->antennaInfo = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo)); + physicalConfigDedicated2->antennaInfo->present = PhysicalConfigDedicated__antennaInfo_PR_explicitValue; + //assign_enum(&physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode, + // AntennaInfoDedicated__transmissionMode_tm2); + + switch (transmission_mode) { + default: + LOG_W(RRC,"At RRCConnectionSetup Transmission mode can only take values 1 or 2! Defaulting to 1!\n"); + case 1: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + + case 2: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + /* + case 3: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1, + sizeof(*physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction)); + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = + AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1); + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; + + break; + + case 4: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + + case 5: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + + case 6: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + + case 7: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + */ + } + + + physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.present = AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_release; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.choice.release = 0; + + // SchedulingRequestConfig + + physicalConfigDedicated2->schedulingRequestConfig->present = SchedulingRequestConfig_PR_setup; + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = 3;//ue_context_pP->local_uid; + + if (carrier->sib1->tdd_Config == NULL) { // FDD + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 5+(ue_context_pP->local_uid%10); // Isr = 5 (every 10 subframes, offset=2+UE_id mod3) + } else { + switch (carrier->sib1->tdd_Config->subframeAssignment) { + case 1: + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+(ue_context_pP->local_uid&1)+(( + ue_context_pP->local_uid&3)>>1)*5; // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 7 for UE2, 8 for UE3 , 2 for UE4 etc..) + break; + + case 3: + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+ + (ue_context_pP->local_uid%3); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) + break; + + case 4: + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+ + (ue_context_pP->local_uid&1); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) + break; + + default: + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7; // Isr = 5 (every 10 subframes, offset=2 for all UE0 etc..) + break; + } + } + + + // assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax, + //SchedulingRequestConfig__setup__dsr_TransMax_n4); + // assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; + + physicalConfigDedicated2->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; + physicalConfigDedicated2->ext4->csi_RS_ConfigNZPToAddModList_r11 = NULL; + physicalConfigDedicated2->ext4->csi_RS_ConfigZPToAddModList_r11 = NULL; + physicalConfigDedicated2->ext4->csi_RS_ConfigZPToReleaseList_r11 = NULL; + + physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; + physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; + physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; + physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToReleaseList_r11 = NULL; + + + physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); +// memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); + epdcch_setconfig_r11->setConfigId_r11 = 0; + epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; + epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; + //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; + + epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; + epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; + epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; + ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + + physicalConfigDedicated2->ext7->pdsch_ConfigDedicated_v1310 = NULL; + physicalConfigDedicated2->ext7->pusch_ConfigDedicated_r13 = NULL; + + physicalConfigDedicated2->ext7->pdcch_CandidateReductions_r13 = NULL; + physicalConfigDedicated2->ext7->pucch_ConfigDedicated_r13 = NULL; + + physicalConfigDedicated2->ext7->cqi_ReportConfig_v1310 = NULL; + + physicalConfigDedicated2->ext7->soundingRS_UL_ConfigDedicated_v1310 = NULL; + physicalConfigDedicated2->ext7->soundingRS_UL_ConfigDedicatedUpPTsExt_r13 = NULL; + physicalConfigDedicated2->ext7->soundingRS_UL_ConfigDedicatedAperiodic_v1310 = NULL; + physicalConfigDedicated2->ext7->soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13 = NULL; + + physicalConfigDedicated2->ext7->csi_RS_Config_v1310 = NULL; + + physicalConfigDedicated2->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; + physicalConfigDedicated2->ext7->ce_Mode_r13->choice.setup = PhysicalConfigDedicated__ext7__ce_Mode_r13__setup_ce_ModeA; + physicalConfigDedicated2->ext7->csi_RS_ConfigNZPToAddModListExt_r13 = NULL; + physicalConfigDedicated2->ext7->csi_RS_ConfigNZPToReleaseListExt_r13 = NULL; + + + rrcConnectionSetup->rrc_TransactionIdentifier = Transaction_id; + rrcConnectionSetup->criticalExtensions.present = RRCConnectionSetup__criticalExtensions_PR_c1; + rrcConnectionSetup->criticalExtensions.choice.c1.present =RRCConnectionSetup__criticalExtensions__c1_PR_rrcConnectionSetup_r8 ; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.srb_ToAddModList = *SRB_configList; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.drb_ToAddModList = NULL; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.drb_ToReleaseList = NULL; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.sps_Config = NULL; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.physicalConfigDedicated = physicalConfigDedicated2; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.mac_MainConfig = NULL; + +#ifdef CBA + betaOffset_CBA_Index = CALLOC(1,sizeof(long)); + cShift_CBA = CALLOC(1,sizeof(long)); + *betaOffset_CBA_Index=10; // need to be changed by Kaijie + *cShift_CBA=4; + physicalConfigDedicated2->pusch_CBAConfigDedicated_vlola->betaOffset_CBA_Index=betaOffset_CBA_Index; + physicalConfigDedicated2->pusch_CBAConfigDedicated_vlola->cShift_CBA=cShift_CBA; + rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.sps_CBA_ConfigList_vlola = NULL; +#endif + + +#ifdef XER_PRINT + xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); +#endif + enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, + (void*)&dl_ccch_msg, + buffer, + 100); + AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", + enc_rval.failed_type->name, enc_rval.encoded); + +#if defined(ENABLE_ITTI) +# if !defined(DISABLE_XER_SPRINT) + { + char message_string[20000]; + size_t message_string_size; + + if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) { + MessageDef *msg_p; + + msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText)); + msg_p->ittiMsg.rrc_dl_ccch.size = message_string_size; + memcpy(&msg_p->ittiMsg.rrc_dl_ccch.text, message_string, message_string_size); + + itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p); + } + } +# endif +#endif + +#ifdef USER_MODE + LOG_D(RRC,"RRCConnectionSetup Encoded %d bits (%d bytes), ecause %d\n", + enc_rval.encoded,(enc_rval.encoded+7)/8,ecause); +#endif + + // FREEMEM(SRB_list); + // free(SRB1_config); + // free(SRB1_rlc_config); + // free(SRB1_lchan_config); + // free(SRB1_ul_SpecificParameters); + + return((enc_rval.encoded+7)/8); +} + //------------------------------------------------------------------------------ uint8_t @@ -1806,6 +2732,225 @@ do_UECapabilityEnquiry( return((enc_rval.encoded+7)/8); } +uint16_t +do_RRCConnectionReconfiguration_BR( + const protocol_ctxt_t* const ctxt_pP, + uint8_t *buffer, + uint8_t Transaction_id, + SRB_ToAddModList_t *SRB_list, + DRB_ToAddModList_t *DRB_list, + DRB_ToReleaseList_t *DRB_list2, + struct SPS_Config *sps_Config, + struct PhysicalConfigDedicated *physicalConfigDedicated, + MeasObjectToAddModList_t *MeasObj_list, + ReportConfigToAddModList_t *ReportConfig_list, + QuantityConfig_t *quantityConfig, + MeasIdToAddModList_t *MeasId_list, + MAC_MainConfig_t *mac_MainConfig, + MeasGapConfig_t *measGapConfig, + MobilityControlInfo_t *mobilityInfo, + struct MeasConfig__speedStatePars *speedStatePars, + RSRP_Range_t *rsrp, + C_RNTI_t *cba_rnti, + struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList + *dedicatedInfoNASList + +#if defined(Rel10) || defined(Rel14) + , SCellToAddMod_r10_t *SCell_config +#endif +) +{ + asn_enc_rval_t enc_rval; + + DL_DCCH_Message_t dl_dcch_msg; + RRCConnectionReconfiguration_t *rrcConnectionReconfiguration; + + + memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t)); + + dl_dcch_msg.message.present = DL_DCCH_MessageType_PR_c1; + dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration; + rrcConnectionReconfiguration = &dl_dcch_msg.message.choice.c1.choice.rrcConnectionReconfiguration; + + // RRCConnectionReconfiguration + rrcConnectionReconfiguration->rrc_TransactionIdentifier = Transaction_id; + rrcConnectionReconfiguration->criticalExtensions.present = RRCConnectionReconfiguration__criticalExtensions_PR_c1; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.present =RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8 ; + + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated)); + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList = SRB_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList = DRB_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToReleaseList = DRB_list2; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->sps_Config = sps_Config; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->physicalConfigDedicated = physicalConfigDedicated; + #ifdef CBA + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->cba_RNTI_vlola= cba_rnti; + #endif + + // +kogo + physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; + + physicalConfigDedicated->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigNZPToAddModList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigZPToAddModList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigZPToReleaseList_r11 = NULL; + + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToReleaseList_r11 = NULL; + + + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); + // memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); + epdcch_setconfig_r11->setConfigId_r11 = 0; + epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; + epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; + //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; + + epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; + epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; + epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; + ASN_SEQUENCE_ADD(physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + + physicalConfigDedicated->ext7->pdsch_ConfigDedicated_v1310 = NULL; + physicalConfigDedicated->ext7->pusch_ConfigDedicated_r13 = NULL; + + physicalConfigDedicated->ext7->pdcch_CandidateReductions_r13 = NULL; + + physicalConfigDedicated->ext7->pucch_ConfigDedicated_r13 = NULL; + + physicalConfigDedicated->ext7->cqi_ReportConfig_v1310 = NULL; + + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicated_v1310 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedUpPTsExt_r13 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodic_v1310 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13 = NULL; + + physicalConfigDedicated->ext7->csi_RS_Config_v1310 = NULL; + + physicalConfigDedicated->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; + physicalConfigDedicated->ext7->ce_Mode_r13->choice.setup = PhysicalConfigDedicated__ext7__ce_Mode_r13__setup_ce_ModeA; + physicalConfigDedicated->ext7->csi_RS_ConfigNZPToAddModListExt_r13 = NULL; + physicalConfigDedicated->ext7->csi_RS_ConfigNZPToReleaseListExt_r13 = NULL; + + // +kogo ------------------------------------------------------------------------------------------ + + + if (mac_MainConfig!=NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig)); + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->present + =RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue; + memcpy(&rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue, + mac_MainConfig, + sizeof(*mac_MainConfig)); + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig=NULL; + } + + if (MeasId_list != NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); + memset((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig, + 0, sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); + + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list; + + if (quantityConfig!=NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); + memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig, + (void *)quantityConfig, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = NULL; + } + + if(speedStatePars != NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars)); + memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars, + (void *)speedStatePars,sizeof(*speedStatePars)); + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = NULL; + } + + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->s_Measure= rsrp; + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = NULL; + } + + if (mobilityInfo !=NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo)); + memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo, (void*)mobilityInfo, + sizeof(MobilityControlInfo_t)); + + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = NULL; + } + + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.dedicatedInfoNASList = dedicatedInfoNASList; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.securityConfigHO = NULL; + + enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, + (void*)&dl_dcch_msg, + buffer, + RRC_BUF_SIZE); + AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %l)!\n", + enc_rval.failed_type->name, enc_rval.encoded); + + #ifdef XER_PRINT + xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)&dl_dcch_msg); + #endif + + #if defined(ENABLE_ITTI) + # if !defined(DISABLE_XER_SPRINT) + { + char message_string[30000]; + size_t message_string_size; + + if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) { + MessageDef *msg_p; + + msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText)); + msg_p->ittiMsg.rrc_dl_dcch.size = message_string_size; + memcpy(&msg_p->ittiMsg.rrc_dl_dcch.text, message_string, message_string_size); + + itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p); + } + } + # endif + #endif + + //#ifdef USER_MODE + LOG_I(RRC,"RRCConnectionReconfiguration Encoded %d bits (%d bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8); + // for (i=0;i<30;i++) + // msg("%x.",buffer[i]); + // msg("\n"); + + //#endif + + return((enc_rval.encoded+7)/8); +} + //------------------------------------------------------------------------------ uint16_t do_RRCConnectionReconfiguration( diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h index 0e03ff9274..9f978dc797 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h @@ -67,7 +67,7 @@ uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId); @param phich_duration PHICH duration parameter @param frame radio frame number @return size of encoded bit stream in bytes*/ -uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame); +uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame, uint32_t schedulingInfoSIB1); /** \brief Generate configuration for SIB1 (eNB). diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index c733ebdfd4..91c1d91ee6 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -155,9 +155,10 @@ init_SI( #ifdef ENABLE_ITTI configuration->N_RB_DL[CC_id], configuration->phich_resource[CC_id], - configuration->phich_duration[CC_id] + configuration->phich_duration[CC_id], + configuration->schedulingInfoSIB1_BR_r13[CC_id] #else - 50,0,0 + 50, 0, 0, 1 #endif ,0); @@ -3731,6 +3732,7 @@ rrc_eNB_generate_RRCConnectionSetup( //----------------------------------------------------------------------------- { + bool is_mtc = false; LogicalChannelConfig_t *SRB1_logicalChannelConfig; //,*SRB2_logicalChannelConfig; SRB_ToAddModList_t **SRB_configList; SRB_ToAddMod_t *SRB1_config; @@ -3740,15 +3742,26 @@ rrc_eNB_generate_RRCConnectionSetup( T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti)); SRB_configList = &ue_context_pP->ue_context.SRB_configList; + if (is_mtc) { + do_RRCConnectionSetup_BR(ctxt_pP, + ue_context_pP, + CC_id, + (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Payload, + (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 + rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id), + SRB_configList, + &ue_context_pP->ue_context.physicalConfigDedicated); + } else { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size = do_RRCConnectionSetup(ctxt_pP, ue_context_pP, CC_id, (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Payload, - (uint8_t) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 + (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id), SRB_configList, &ue_context_pP->ue_context.physicalConfigDedicated); + } #ifdef RRC_MSG_PRINT LOG_F(RRC,"[MSG] RRC Connection Setup\n"); From 8717669c92569438734361ee95efc618589bc19f Mon Sep 17 00:00:00 2001 From: kogo Date: Wed, 26 Jul 2017 17:36:11 +0200 Subject: [PATCH 002/109] tested do_SIB1 parameters & config file reading --- oai5g_development.config | 2 + oai5g_development.creator | 1 + oai5g_development.files | 3763 ++++++++++++++++++++++++++++++++++++ oai5g_development.includes | 182 ++ 4 files changed, 3948 insertions(+) create mode 100644 oai5g_development.config create mode 100644 oai5g_development.creator create mode 100644 oai5g_development.files create mode 100644 oai5g_development.includes diff --git a/oai5g_development.config b/oai5g_development.config new file mode 100644 index 0000000000..e0284f4257 --- /dev/null +++ b/oai5g_development.config @@ -0,0 +1,2 @@ +// Add predefined macros for your project here. For example: +// #define THE_ANSWER 42 diff --git a/oai5g_development.creator b/oai5g_development.creator new file mode 100644 index 0000000000..e94cbbd302 --- /dev/null +++ b/oai5g_development.creator @@ -0,0 +1 @@ +[General] diff --git a/oai5g_development.files b/oai5g_development.files new file mode 100644 index 0000000000..24c41067c5 --- /dev/null +++ b/oai5g_development.files @@ -0,0 +1,3763 @@ +cmake_targets/at_commands/CMakeLists.txt +cmake_targets/autotests/test.0101/CMakeLists.txt +cmake_targets/autotests/test.0102/CMakeLists.txt +cmake_targets/autotests/test.0103/CMakeLists.txt +cmake_targets/autotests/test.0104/CMakeLists.txt +cmake_targets/autotests/test.0106/CMakeLists.txt +cmake_targets/autotests/test.0107/CMakeLists.txt +cmake_targets/autotests/test.0108/CMakeLists.txt +cmake_targets/autotests/test.0113/CMakeLists.txt +cmake_targets/autotests/test.0114/CMakeLists.txt +cmake_targets/autotests/test.0115/CMakeLists.txt +cmake_targets/autotests/test.0120/CMakeLists.txt +cmake_targets/autotests/run_compilation_autotests.bash +cmake_targets/autotests/run_exec_autotests.bash +cmake_targets/doxygen/CMakeLists.txt +cmake_targets/epc_build_oai/CMakeLists.template +cmake_targets/hss_build/acl.conf.in +cmake_targets/hss_build/CMakeLists.txt +cmake_targets/hss_build/hss.conf.in +cmake_targets/hss_build/hss_fd.conf.in +cmake_targets/lte-simulators/CMakeLists.txt +cmake_targets/lte_noS1_build_oai/CMakeLists.txt +cmake_targets/nas_sim_tools/CMakeLists.txt +cmake_targets/oaisim_build_oai/CMakeLists.template +cmake_targets/oaisim_mme_build_oai/CMakeLists.template +cmake_targets/oaisim_noS1_build_oai/CMakeLists.template +cmake_targets/s1c_mme_test/CMakeLists.template +cmake_targets/tools/MODULES/cmake_useful.cmake +cmake_targets/tools/MODULES/CMakeParseArguments.cmake +cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake +cmake_targets/tools/MODULES/CMakeUserUseBison.cmake +cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake +cmake_targets/tools/MODULES/FindFreeDiameter.cmake +cmake_targets/tools/MODULES/FindGCCXML.cmake +cmake_targets/tools/MODULES/FindGcrypt.cmake +cmake_targets/tools/MODULES/FindGnuTLS.cmake +cmake_targets/tools/MODULES/FindKbuild.cmake +cmake_targets/tools/MODULES/FindLibXml2.cmake +cmake_targets/tools/MODULES/FindMySQL.cmake +cmake_targets/tools/MODULES/FindNettle.cmake +cmake_targets/tools/MODULES/FindPostgreSQL.cmake +cmake_targets/tools/MODULES/FindSCTP.cmake +cmake_targets/tools/MODULES/Kbuild.cmake +cmake_targets/tools/MODULES/kbuild_system.cmake +cmake_targets/tools/MODULES/kmodule.cmake +cmake_targets/tools/MODULES/path_prefixes.cmake +cmake_targets/tools/build_epc +cmake_targets/tools/build_helper +cmake_targets/tools/build_hss +cmake_targets/tools/check_hss_s6a_certificate +cmake_targets/tools/check_mme_s6a_certificate +cmake_targets/tools/create_hss_database +cmake_targets/tools/epc.conf.in +cmake_targets/tools/epc.local.enb.conf.in +cmake_targets/tools/example_enb_exmimo_mme_hss.txt +cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt +cmake_targets/tools/exmimo2_2arxg.lime +cmake_targets/tools/exmimo2_2brxg.lime +cmake_targets/tools/generate_asn1 +cmake_targets/tools/indent_source_code +cmake_targets/tools/init_exmimo2 +cmake_targets/tools/init_nas_nos1 +cmake_targets/tools/Kbuild.cmake +cmake_targets/tools/perf_oai.bash +cmake_targets/tools/run_enb_s1_exmimo +cmake_targets/tools/run_enb_s1_usrp +cmake_targets/tools/run_enb_ue_virt_noS1 +cmake_targets/tools/run_enb_ue_virt_s1 +cmake_targets/tools/run_epc +cmake_targets/tools/run_hss +cmake_targets/tools/s6a.conf.in +cmake_targets/tools/test_helper +cmake_targets/build_oai +cmake_targets/CMakeLists.txt +common/utils/collection/hashtable/COPYING +common/utils/collection/hashtable/hashtable.c +common/utils/collection/hashtable/hashtable.h +common/utils/collection/hashtable/obj_hashtable.c +common/utils/collection/hashtable/obj_hashtable.h +common/utils/collection/COPYING +common/utils/collection/queue.h +common/utils/collection/tree.h +common/utils/itti/assertions.h +common/utils/itti/backtrace.c +common/utils/itti/backtrace.h +common/utils/itti/COPYING +common/utils/itti/intertask_interface.c +common/utils/itti/intertask_interface.h +common/utils/itti/intertask_interface_dump.c +common/utils/itti/intertask_interface_dump.h +common/utils/itti/intertask_interface_init.h +common/utils/itti/intertask_interface_types.h +common/utils/itti/intertask_messages_def.h +common/utils/itti/intertask_messages_types.h +common/utils/itti/itti_types.h +common/utils/itti/memory_pools.c +common/utils/itti/memory_pools.h +common/utils/itti/messages_def.h +common/utils/itti/messages_types.h +common/utils/itti/signals.c +common/utils/itti/signals.h +common/utils/itti/tasks_def.h +common/utils/itti/timer.c +common/utils/itti/timer.h +common/utils/itti/timer_messages_def.h +common/utils/itti/timer_messages_types.h +common/utils/itti_analyzer/common/COPYING +common/utils/itti_analyzer/common/itti_types.h +common/utils/itti_analyzer/common/logs.h +common/utils/itti_analyzer/common/queue.h +common/utils/itti_analyzer/common/rc.h +common/utils/itti_analyzer/libbuffers/buffers.c +common/utils/itti_analyzer/libbuffers/buffers.h +common/utils/itti_analyzer/libbuffers/COPYING +common/utils/itti_analyzer/libbuffers/file.c +common/utils/itti_analyzer/libbuffers/file.h +common/utils/itti_analyzer/libbuffers/socket.c +common/utils/itti_analyzer/libbuffers/socket.h +common/utils/itti_analyzer/libparser/array_type.c +common/utils/itti_analyzer/libparser/array_type.h +common/utils/itti_analyzer/libparser/COPYING +common/utils/itti_analyzer/libparser/enum_type.c +common/utils/itti_analyzer/libparser/enum_type.h +common/utils/itti_analyzer/libparser/enum_value_type.c +common/utils/itti_analyzer/libparser/enum_value_type.h +common/utils/itti_analyzer/libparser/field_type.c +common/utils/itti_analyzer/libparser/field_type.h +common/utils/itti_analyzer/libparser/file_type.c +common/utils/itti_analyzer/libparser/file_type.h +common/utils/itti_analyzer/libparser/fundamental_type.c +common/utils/itti_analyzer/libparser/fundamental_type.h +common/utils/itti_analyzer/libparser/intertask_contexts.h +common/utils/itti_analyzer/libparser/pointer_type.c +common/utils/itti_analyzer/libparser/pointer_type.h +common/utils/itti_analyzer/libparser/reference_type.c +common/utils/itti_analyzer/libparser/reference_type.h +common/utils/itti_analyzer/libparser/struct_type.c +common/utils/itti_analyzer/libparser/struct_type.h +common/utils/itti_analyzer/libparser/typedef_type.c +common/utils/itti_analyzer/libparser/typedef_type.h +common/utils/itti_analyzer/libparser/types.c +common/utils/itti_analyzer/libparser/types.h +common/utils/itti_analyzer/libparser/union_type.c +common/utils/itti_analyzer/libparser/union_type.h +common/utils/itti_analyzer/libparser/xml_parse.c +common/utils/itti_analyzer/libparser/xml_parse.h +common/utils/itti_analyzer/libresolver/COPYING +common/utils/itti_analyzer/libresolver/locate_root.c +common/utils/itti_analyzer/libresolver/locate_root.h +common/utils/itti_analyzer/libresolver/resolvers.c +common/utils/itti_analyzer/libresolver/resolvers.h +common/utils/itti_analyzer/libui/COPYING +common/utils/itti_analyzer/libui/ui_callbacks.c +common/utils/itti_analyzer/libui/ui_callbacks.h +common/utils/itti_analyzer/libui/ui_filters.c +common/utils/itti_analyzer/libui/ui_filters.h +common/utils/itti_analyzer/libui/ui_interface.c +common/utils/itti_analyzer/libui/ui_interface.h +common/utils/itti_analyzer/libui/ui_main_screen.c +common/utils/itti_analyzer/libui/ui_main_screen.h +common/utils/itti_analyzer/libui/ui_menu_bar.c +common/utils/itti_analyzer/libui/ui_menu_bar.h +common/utils/itti_analyzer/libui/ui_notebook.c +common/utils/itti_analyzer/libui/ui_notebook.h +common/utils/itti_analyzer/libui/ui_notif_dlg.c +common/utils/itti_analyzer/libui/ui_notif_dlg.h +common/utils/itti_analyzer/libui/ui_notifications.c +common/utils/itti_analyzer/libui/ui_notifications.h +common/utils/itti_analyzer/libui/ui_signal_dissect_view.c +common/utils/itti_analyzer/libui/ui_signal_dissect_view.h +common/utils/itti_analyzer/libui/ui_tree_view.c +common/utils/itti_analyzer/libui/ui_tree_view.h +common/utils/itti_analyzer/AUTHORS +common/utils/itti_analyzer/autogen.sh +common/utils/itti_analyzer/ChangeLog +common/utils/itti_analyzer/configure.ac +common/utils/itti_analyzer/COPYING +common/utils/itti_analyzer/filters.xml +common/utils/itti_analyzer/filters_mme.xml +common/utils/itti_analyzer/filters_ue_enb.xml +common/utils/itti_analyzer/INSTALL +common/utils/itti_analyzer/itti_analyzer.c +common/utils/itti_analyzer/NEWS +common/utils/itti_analyzer/README +common/utils/msc/msc.c +common/utils/msc/msc.h +common/utils/asn1_conversions.h +common/utils/assertions.h +common/utils/COPYING +openair-cn/COMMON/as_message.h +openair-cn/COMMON/common_types.h +openair-cn/COMMON/gtpv1_u_messages_def.h +openair-cn/COMMON/gtpv1_u_messages_types.h +openair-cn/COMMON/intertask_interface_conf.h +openair-cn/COMMON/ip_forward_messages_def.h +openair-cn/COMMON/ip_forward_messages_types.h +openair-cn/COMMON/messages_def.h +openair-cn/COMMON/messages_types.h +openair-cn/COMMON/mme_app_messages_def.h +openair-cn/COMMON/mme_app_messages_types.h +openair-cn/COMMON/nas_messages_def.h +openair-cn/COMMON/nas_messages_types.h +openair-cn/COMMON/s11_messages_def.h +openair-cn/COMMON/s11_messages_types.h +openair-cn/COMMON/s1ap_messages_def.h +openair-cn/COMMON/s1ap_messages_types.h +openair-cn/COMMON/s6a_messages_def.h +openair-cn/COMMON/s6a_messages_types.h +openair-cn/COMMON/sctp_messages_def.h +openair-cn/COMMON/sctp_messages_types.h +openair-cn/COMMON/security_types.h +openair-cn/COMMON/sgw_lite_def.h +openair-cn/COMMON/sgw_lite_messages_types.h +openair-cn/COMMON/tasks_def.h +openair-cn/COMMON/udp_messages_def.h +openair-cn/COMMON/udp_messages_types.h +openair-cn/DOCS/DOXYGEN/COPYING +openair-cn/DOCS/DOXYGEN/Doxyfile.in +openair-cn/DOCS/Latex/DefaultBearer/COPYING +openair-cn/DOCS/Latex/DefaultBearer/DefaultBearer.pdf +openair-cn/DOCS/Latex/DefaultBearer/DefaultBearer.tex +openair-cn/DOCS/Latex/EPC/COPYING +openair-cn/DOCS/Latex/EPC/EPC.pdf +openair-cn/DOCS/Latex/EPC/EPC.tex +openair-cn/DOCS/Latex/COPYING +openair-cn/DOCS/COPYING +openair-cn/DOCS/EPC_User_Guide.docx +openair-cn/DOCS/EPC_User_Guide.pdf +openair-cn/GTPV1-U/GTPUAH/cmd.sh +openair-cn/GTPV1-U/GTPUAH/COPYING +openair-cn/GTPV1-U/GTPUAH/INSTALL +openair-cn/GTPV1-U/GTPUAH/libxt_GTPUAH.c +openair-cn/GTPV1-U/GTPUAH/README +openair-cn/GTPV1-U/GTPUAH/RELEASE_NOTES +openair-cn/GTPV1-U/GTPUAH/xt_GTPUAH.c +openair-cn/GTPV1-U/GTPUAH/xt_GTPUAH.h +openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h +openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h +openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h +openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwLog.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwTypes.h +openair-cn/GTPV1-U/nw-gtpv1u/shared/NwUtils.h +openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c +openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c +openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c +openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h +openair-cn/GTPV1-U/nw-gtpv1u/AUTHORS +openair-cn/GTPV1-U/nw-gtpv1u/ChangeLog +openair-cn/GTPV1-U/nw-gtpv1u/COPYING +openair-cn/GTPV1-U/nw-gtpv1u/NEWS +openair-cn/GTPV1-U/nw-gtpv1u/README +openair-cn/GTPV1-U/gtpv1u.h +openair-cn/GTPV1-U/gtpv1u_eNB.c +openair-cn/GTPV1-U/gtpv1u_eNB_defs.h +openair-cn/GTPV1-U/gtpv1u_eNB_task.h +openair-cn/GTPV1-U/gtpv1u_sgw_defs.h +openair-cn/GTPV1-U/gtpv1u_task.c +openair-cn/GTPV1-U/gtpv1u_teid_pool.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/helloworld.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwEvt.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.c +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.h +openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS +openair-cn/GTPV2-C/nwgtpv2c-0.11/ChangeLog +openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac +openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING +openair-cn/GTPV2-C/nwgtpv2c-0.11/NEWS +openair-cn/GTPV2-C/nwgtpv2c-0.11/README +openair-cn/INTERTASK_INTERFACE/assertions.h +openair-cn/INTERTASK_INTERFACE/backtrace.c +openair-cn/INTERTASK_INTERFACE/backtrace.h +openair-cn/INTERTASK_INTERFACE/COPYING +openair-cn/INTERTASK_INTERFACE/intertask_interface.c +openair-cn/INTERTASK_INTERFACE/intertask_interface.h +openair-cn/INTERTASK_INTERFACE/intertask_interface_dump.c +openair-cn/INTERTASK_INTERFACE/intertask_interface_dump.h +openair-cn/INTERTASK_INTERFACE/intertask_interface_init.h +openair-cn/INTERTASK_INTERFACE/intertask_interface_types.h +openair-cn/INTERTASK_INTERFACE/intertask_messages_def.h +openair-cn/INTERTASK_INTERFACE/intertask_messages_types.h +openair-cn/INTERTASK_INTERFACE/itti_types.h +openair-cn/INTERTASK_INTERFACE/memory_pools.c +openair-cn/INTERTASK_INTERFACE/memory_pools.h +openair-cn/INTERTASK_INTERFACE/messages_def.h +openair-cn/INTERTASK_INTERFACE/messages_types.h +openair-cn/INTERTASK_INTERFACE/signals.c +openair-cn/INTERTASK_INTERFACE/signals.h +openair-cn/INTERTASK_INTERFACE/tasks_def.h +openair-cn/INTERTASK_INTERFACE/timer.c +openair-cn/INTERTASK_INTERFACE/timer.h +openair-cn/INTERTASK_INTERFACE/timer_messages_def.h +openair-cn/INTERTASK_INTERFACE/timer_messages_types.h +openair-cn/MME_APP/COPYING +openair-cn/MME_APP/mme_app_authentication.c +openair-cn/MME_APP/mme_app_bearer.c +openair-cn/MME_APP/mme_app_capabilities.c +openair-cn/MME_APP/mme_app_config.c +openair-cn/MME_APP/mme_app_config.h +openair-cn/MME_APP/mme_app_context.c +openair-cn/MME_APP/mme_app_defs.h +openair-cn/MME_APP/mme_app_extern.h +openair-cn/MME_APP/mme_app_itti_messaging.h +openair-cn/MME_APP/mme_app_location.c +openair-cn/MME_APP/mme_app_main.c +openair-cn/MME_APP/mme_app_statistics.c +openair-cn/MME_APP/mme_app_statistics.h +openair-cn/MME_APP/mme_app_ue_context.h +openair-cn/MME_APP/s6a_2_nas_cause.c +openair-cn/NAS/EURECOM-NAS/bin/COPYING +openair-cn/NAS/EURECOM-NAS/lib/COPYING +openair-cn/NAS/EURECOM-NAS/libMME/COPYING +openair-cn/NAS/EURECOM-NAS/libUE/COPYING +openair-cn/NAS/EURECOM-NAS/src/api/mme/COPYING +openair-cn/NAS/EURECOM-NAS/src/api/mme/mme_api.c +openair-cn/NAS/EURECOM-NAS/src/api/mme/mme_api.h +openair-cn/NAS/EURECOM-NAS/src/api/network/as_message.c +openair-cn/NAS/EURECOM-NAS/src/api/network/as_message.h +openair-cn/NAS/EURECOM-NAS/src/api/network/COPYING +openair-cn/NAS/EURECOM-NAS/src/api/network/l2_message.h +openair-cn/NAS/EURECOM-NAS/src/api/network/nas_message.c +openair-cn/NAS/EURECOM-NAS/src/api/network/nas_message.h +openair-cn/NAS/EURECOM-NAS/src/api/network/network_api.c +openair-cn/NAS/EURECOM-NAS/src/api/network/network_api.h +openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.c +openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.in +openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.in.bis +openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.out +openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.out.bis +openair-cn/NAS/EURECOM-NAS/src/api/user/tst/smartcom.txt +openair-cn/NAS/EURECOM-NAS/src/api/user/at_command.c +openair-cn/NAS/EURECOM-NAS/src/api/user/at_command.h +openair-cn/NAS/EURECOM-NAS/src/api/user/at_error.c +openair-cn/NAS/EURECOM-NAS/src/api/user/at_error.h +openair-cn/NAS/EURECOM-NAS/src/api/user/at_response.c +openair-cn/NAS/EURECOM-NAS/src/api/user/at_response.h +openair-cn/NAS/EURECOM-NAS/src/api/user/COPYING +openair-cn/NAS/EURECOM-NAS/src/api/user/user_api.c +openair-cn/NAS/EURECOM-NAS/src/api/user/user_api.h +openair-cn/NAS/EURECOM-NAS/src/api/user/user_indication.c +openair-cn/NAS/EURECOM-NAS/src/api/user/user_indication.h +openair-cn/NAS/EURECOM-NAS/src/api/usim/aka_functions.c +openair-cn/NAS/EURECOM-NAS/src/api/usim/aka_functions.h +openair-cn/NAS/EURECOM-NAS/src/api/usim/COPYING +openair-cn/NAS/EURECOM-NAS/src/api/usim/usim_api.c +openair-cn/NAS/EURECOM-NAS/src/api/usim/usim_api.h +openair-cn/NAS/EURECOM-NAS/src/api/COPYING +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachAccept.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachAccept.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachComplete.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachComplete.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachReject.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachReject.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationFailure.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationFailure.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationReject.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationReject.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationResponse.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationResponse.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/COPYING +openair-cn/NAS/EURECOM-NAS/src/emm/msg/CsServiceNotification.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/CsServiceNotification.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachAccept.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachAccept.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/DownlinkNasTransport.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/DownlinkNasTransport.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_cause.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_msg.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_msg.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_msgDef.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmInformation.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmInformation.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmStatus.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmStatus.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/ExtendedServiceRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/ExtendedServiceRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationCommand.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationCommand.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationComplete.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationComplete.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityResponse.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityResponse.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/NASSecurityModeCommand.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/NASSecurityModeComplete.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeCommand.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeComplete.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeReject.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeReject.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceReject.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceReject.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateAccept.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateAccept.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateComplete.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateComplete.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateReject.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateReject.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateRequest.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateRequest.h +openair-cn/NAS/EURECOM-NAS/src/emm/msg/UplinkNasTransport.c +openair-cn/NAS/EURECOM-NAS/src/emm/msg/UplinkNasTransport.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/COPYING +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_asDef.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_cn.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_cn.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_cnDef.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_esm.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_esm.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_esmDef.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_fsm.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_fsm.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_recv.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_recv.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_reg.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_reg.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_regDef.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_sap.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_sap.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_send.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_send.h +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmCommonProcedureInitiated.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregistered.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredAttachNeeded.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredAttemptingToAttach.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredInitiated.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredLimitedService.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredNoCellAvailable.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredNoImsi.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredNormalService.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredPlmnSearch.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmNull.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegistered.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredAttemptingToUpdate.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredImsiDetachInitiated.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredInitiated.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredLimitedService.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredNoCellAvailable.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredNormalService.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredPlmnSearch.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredUpdateNeeded.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmServiceRequestInitiated.c +openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmTrackingAreaUpdatingInitiated.c +openair-cn/NAS/EURECOM-NAS/src/emm/Attach.c +openair-cn/NAS/EURECOM-NAS/src/emm/Authentication.c +openair-cn/NAS/EURECOM-NAS/src/emm/COPYING +openair-cn/NAS/EURECOM-NAS/src/emm/Detach.c +openair-cn/NAS/EURECOM-NAS/src/emm/emm_data_ctx.c +openair-cn/NAS/EURECOM-NAS/src/emm/emm_main.c +openair-cn/NAS/EURECOM-NAS/src/emm/emm_main.h +openair-cn/NAS/EURECOM-NAS/src/emm/emm_proc.h +openair-cn/NAS/EURECOM-NAS/src/emm/EmmCommon.c +openair-cn/NAS/EURECOM-NAS/src/emm/EmmCommon.h +openair-cn/NAS/EURECOM-NAS/src/emm/emmData.h +openair-cn/NAS/EURECOM-NAS/src/emm/EmmStatusHdl.c +openair-cn/NAS/EURECOM-NAS/src/emm/Identification.c +openair-cn/NAS/EURECOM-NAS/src/emm/IdleMode.c +openair-cn/NAS/EURECOM-NAS/src/emm/IdleMode.h +openair-cn/NAS/EURECOM-NAS/src/emm/LowerLayer.c +openair-cn/NAS/EURECOM-NAS/src/emm/LowerLayer.h +openair-cn/NAS/EURECOM-NAS/src/emm/SecurityModeControl.c +openair-cn/NAS/EURECOM-NAS/src/emm/ServiceRequestHdl.c +openair-cn/NAS/EURECOM-NAS/src/emm/TrackingAreaUpdate.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextAccept.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextAccept.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/COPYING +openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextAccept.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextAccept.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_cause.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_msg.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_msg.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_msgDef.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationResponse.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationResponse.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmStatus.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmStatus.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextAccept.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextAccept.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectReject.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectReject.h +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectRequest.c +openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectRequest.h +openair-cn/NAS/EURECOM-NAS/src/esm/sap/COPYING +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_recv.c +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_recv.h +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_sap.c +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_sap.h +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_sapDef.h +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_send.c +openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_send.h +openair-cn/NAS/EURECOM-NAS/src/esm/COPYING +openair-cn/NAS/EURECOM-NAS/src/esm/DedicatedEpsBearerContextActivation.c +openair-cn/NAS/EURECOM-NAS/src/esm/DefaultEpsBearerContextActivation.c +openair-cn/NAS/EURECOM-NAS/src/esm/EpsBearerContextDeactivation.c +openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr.c +openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr.h +openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr_context.c +openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr_context.h +openair-cn/NAS/EURECOM-NAS/src/esm/esm_ip.c +openair-cn/NAS/EURECOM-NAS/src/esm/esm_main.c +openair-cn/NAS/EURECOM-NAS/src/esm/esm_main.h +openair-cn/NAS/EURECOM-NAS/src/esm/esm_proc.h +openair-cn/NAS/EURECOM-NAS/src/esm/esm_pt.c +openair-cn/NAS/EURECOM-NAS/src/esm/esm_pt.h +openair-cn/NAS/EURECOM-NAS/src/esm/esmData.h +openair-cn/NAS/EURECOM-NAS/src/esm/EsmStatusHdl.c +openair-cn/NAS/EURECOM-NAS/src/esm/PdnConnectivity.c +openair-cn/NAS/EURECOM-NAS/src/esm/PdnDisconnect.c +openair-cn/NAS/EURECOM-NAS/src/ies/AccessPointName.c +openair-cn/NAS/EURECOM-NAS/src/ies/AccessPointName.h +openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateResult.c +openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateResult.h +openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateType.c +openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateType.h +openair-cn/NAS/EURECOM-NAS/src/ies/ApnAggregateMaximumBitRate.c +openair-cn/NAS/EURECOM-NAS/src/ies/ApnAggregateMaximumBitRate.h +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationFailureParameter.c +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationFailureParameter.h +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterAutn.c +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterAutn.h +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterRand.c +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterRand.h +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationResponseParameter.c +openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationResponseParameter.h +openair-cn/NAS/EURECOM-NAS/src/ies/CipheringKeySequenceNumber.c +openair-cn/NAS/EURECOM-NAS/src/ies/CipheringKeySequenceNumber.h +openair-cn/NAS/EURECOM-NAS/src/ies/Cli.c +openair-cn/NAS/EURECOM-NAS/src/ies/Cli.h +openair-cn/NAS/EURECOM-NAS/src/ies/COPYING +openair-cn/NAS/EURECOM-NAS/src/ies/CsfbResponse.c +openair-cn/NAS/EURECOM-NAS/src/ies/CsfbResponse.h +openair-cn/NAS/EURECOM-NAS/src/ies/DaylightSavingTime.c +openair-cn/NAS/EURECOM-NAS/src/ies/DaylightSavingTime.h +openair-cn/NAS/EURECOM-NAS/src/ies/DetachType.c +openair-cn/NAS/EURECOM-NAS/src/ies/DetachType.h +openair-cn/NAS/EURECOM-NAS/src/ies/DrxParameter.c +openair-cn/NAS/EURECOM-NAS/src/ies/DrxParameter.h +openair-cn/NAS/EURECOM-NAS/src/ies/EmergencyNumberList.c +openair-cn/NAS/EURECOM-NAS/src/ies/EmergencyNumberList.h +openair-cn/NAS/EURECOM-NAS/src/ies/EmmCause.c +openair-cn/NAS/EURECOM-NAS/src/ies/EmmCause.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachResult.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachResult.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachType.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachType.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerContextStatus.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerContextStatus.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsMobileIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsMobileIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsQualityOfService.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsQualityOfService.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateResult.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateResult.h +openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateType.c +openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateType.h +openair-cn/NAS/EURECOM-NAS/src/ies/EsmCause.c +openair-cn/NAS/EURECOM-NAS/src/ies/EsmCause.h +openair-cn/NAS/EURECOM-NAS/src/ies/EsmInformationTransferFlag.c +openair-cn/NAS/EURECOM-NAS/src/ies/EsmInformationTransferFlag.h +openair-cn/NAS/EURECOM-NAS/src/ies/EsmMessageContainer.c +openair-cn/NAS/EURECOM-NAS/src/ies/EsmMessageContainer.h +openair-cn/NAS/EURECOM-NAS/src/ies/GprsTimer.c +openair-cn/NAS/EURECOM-NAS/src/ies/GprsTimer.h +openair-cn/NAS/EURECOM-NAS/src/ies/GutiType.c +openair-cn/NAS/EURECOM-NAS/src/ies/GutiType.h +openair-cn/NAS/EURECOM-NAS/src/ies/IdentityType2.c +openair-cn/NAS/EURECOM-NAS/src/ies/IdentityType2.h +openair-cn/NAS/EURECOM-NAS/src/ies/ImeisvRequest.c +openair-cn/NAS/EURECOM-NAS/src/ies/ImeisvRequest.h +openair-cn/NAS/EURECOM-NAS/src/ies/KsiAndSequenceNumber.c +openair-cn/NAS/EURECOM-NAS/src/ies/KsiAndSequenceNumber.h +openair-cn/NAS/EURECOM-NAS/src/ies/LcsClientIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/LcsClientIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/LcsIndicator.c +openair-cn/NAS/EURECOM-NAS/src/ies/LcsIndicator.h +openair-cn/NAS/EURECOM-NAS/src/ies/LinkedEpsBearerIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/LinkedEpsBearerIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/LlcServiceAccessPointIdentifier.c +openair-cn/NAS/EURECOM-NAS/src/ies/LlcServiceAccessPointIdentifier.h +openair-cn/NAS/EURECOM-NAS/src/ies/LocationAreaIdentification.c +openair-cn/NAS/EURECOM-NAS/src/ies/LocationAreaIdentification.h +openair-cn/NAS/EURECOM-NAS/src/ies/MessageType.c +openair-cn/NAS/EURECOM-NAS/src/ies/MessageType.h +openair-cn/NAS/EURECOM-NAS/src/ies/MobileIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/MobileIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark2.c +openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark2.h +openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark3.c +openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark3.h +openair-cn/NAS/EURECOM-NAS/src/ies/MsNetworkCapability.c +openair-cn/NAS/EURECOM-NAS/src/ies/MsNetworkCapability.h +openair-cn/NAS/EURECOM-NAS/src/ies/NasKeySetIdentifier.c +openair-cn/NAS/EURECOM-NAS/src/ies/NasKeySetIdentifier.h +openair-cn/NAS/EURECOM-NAS/src/ies/NasMessageContainer.c +openair-cn/NAS/EURECOM-NAS/src/ies/NasMessageContainer.h +openair-cn/NAS/EURECOM-NAS/src/ies/NasRequestType.c +openair-cn/NAS/EURECOM-NAS/src/ies/NasRequestType.h +openair-cn/NAS/EURECOM-NAS/src/ies/NasSecurityAlgorithms.c +openair-cn/NAS/EURECOM-NAS/src/ies/NasSecurityAlgorithms.h +openair-cn/NAS/EURECOM-NAS/src/ies/NetworkName.c +openair-cn/NAS/EURECOM-NAS/src/ies/NetworkName.h +openair-cn/NAS/EURECOM-NAS/src/ies/Nonce.c +openair-cn/NAS/EURECOM-NAS/src/ies/Nonce.h +openair-cn/NAS/EURECOM-NAS/src/ies/PacketFlowIdentifier.c +openair-cn/NAS/EURECOM-NAS/src/ies/PacketFlowIdentifier.h +openair-cn/NAS/EURECOM-NAS/src/ies/PagingIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/PagingIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/PdnAddress.c +openair-cn/NAS/EURECOM-NAS/src/ies/PdnAddress.h +openair-cn/NAS/EURECOM-NAS/src/ies/PdnType.c +openair-cn/NAS/EURECOM-NAS/src/ies/PdnType.h +openair-cn/NAS/EURECOM-NAS/src/ies/PlmnList.c +openair-cn/NAS/EURECOM-NAS/src/ies/PlmnList.h +openair-cn/NAS/EURECOM-NAS/src/ies/ProcedureTransactionIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/ProcedureTransactionIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolConfigurationOptions.c +openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolConfigurationOptions.h +openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolDiscriminator.c +openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolDiscriminator.h +openair-cn/NAS/EURECOM-NAS/src/ies/PTmsiSignature.c +openair-cn/NAS/EURECOM-NAS/src/ies/PTmsiSignature.h +openair-cn/NAS/EURECOM-NAS/src/ies/QualityOfService.c +openair-cn/NAS/EURECOM-NAS/src/ies/QualityOfService.h +openair-cn/NAS/EURECOM-NAS/src/ies/RadioPriority.c +openair-cn/NAS/EURECOM-NAS/src/ies/RadioPriority.h +openair-cn/NAS/EURECOM-NAS/src/ies/SecurityHeaderType.c +openair-cn/NAS/EURECOM-NAS/src/ies/SecurityHeaderType.h +openair-cn/NAS/EURECOM-NAS/src/ies/ServiceType.c +openair-cn/NAS/EURECOM-NAS/src/ies/ServiceType.h +openair-cn/NAS/EURECOM-NAS/src/ies/ShortMac.c +openair-cn/NAS/EURECOM-NAS/src/ies/ShortMac.h +openair-cn/NAS/EURECOM-NAS/src/ies/SsCode.c +openair-cn/NAS/EURECOM-NAS/src/ies/SsCode.h +openair-cn/NAS/EURECOM-NAS/src/ies/SupportedCodecList.c +openair-cn/NAS/EURECOM-NAS/src/ies/SupportedCodecList.h +openair-cn/NAS/EURECOM-NAS/src/ies/TimeZone.c +openair-cn/NAS/EURECOM-NAS/src/ies/TimeZone.h +openair-cn/NAS/EURECOM-NAS/src/ies/TimeZoneAndTime.c +openair-cn/NAS/EURECOM-NAS/src/ies/TimeZoneAndTime.h +openair-cn/NAS/EURECOM-NAS/src/ies/TmsiStatus.c +openair-cn/NAS/EURECOM-NAS/src/ies/TmsiStatus.h +openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentity.c +openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentity.h +openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentityList.c +openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentityList.h +openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowAggregateDescription.c +openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowAggregateDescription.h +openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowTemplate.c +openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowTemplate.h +openair-cn/NAS/EURECOM-NAS/src/ies/TransactionIdentifier.c +openair-cn/NAS/EURECOM-NAS/src/ies/TransactionIdentifier.h +openair-cn/NAS/EURECOM-NAS/src/ies/UeNetworkCapability.c +openair-cn/NAS/EURECOM-NAS/src/ies/UeNetworkCapability.h +openair-cn/NAS/EURECOM-NAS/src/ies/UeRadioCapabilityInformationUpdateNeeded.c +openair-cn/NAS/EURECOM-NAS/src/ies/UeRadioCapabilityInformationUpdateNeeded.h +openair-cn/NAS/EURECOM-NAS/src/ies/UeSecurityCapability.c +openair-cn/NAS/EURECOM-NAS/src/ies/UeSecurityCapability.h +openair-cn/NAS/EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.c +openair-cn/NAS/EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.h +openair-cn/NAS/EURECOM-NAS/src/include/commonDef.h +openair-cn/NAS/EURECOM-NAS/src/include/COPYING +openair-cn/NAS/EURECOM-NAS/src/include/networkDef.h +openair-cn/NAS/EURECOM-NAS/src/include/securityDef.h +openair-cn/NAS/EURECOM-NAS/src/include/userDef.h +openair-cn/NAS/EURECOM-NAS/src/util/tst/timer.c +openair-cn/NAS/EURECOM-NAS/src/util/tst/timer_debug.txt +openair-cn/NAS/EURECOM-NAS/src/util/COPYING +openair-cn/NAS/EURECOM-NAS/src/util/device.c +openair-cn/NAS/EURECOM-NAS/src/util/device.h +openair-cn/NAS/EURECOM-NAS/src/util/memory.c +openair-cn/NAS/EURECOM-NAS/src/util/memory.h +openair-cn/NAS/EURECOM-NAS/src/util/nas_log.c +openair-cn/NAS/EURECOM-NAS/src/util/nas_log.h +openair-cn/NAS/EURECOM-NAS/src/util/nas_timer.c +openair-cn/NAS/EURECOM-NAS/src/util/nas_timer.h +openair-cn/NAS/EURECOM-NAS/src/util/OctetString.c +openair-cn/NAS/EURECOM-NAS/src/util/OctetString.h +openair-cn/NAS/EURECOM-NAS/src/util/parser.c +openair-cn/NAS/EURECOM-NAS/src/util/parser.h +openair-cn/NAS/EURECOM-NAS/src/util/socket.c +openair-cn/NAS/EURECOM-NAS/src/util/socket.h +openair-cn/NAS/EURECOM-NAS/src/util/stty.c +openair-cn/NAS/EURECOM-NAS/src/util/TLVDecoder.c +openair-cn/NAS/EURECOM-NAS/src/util/TLVDecoder.h +openair-cn/NAS/EURECOM-NAS/src/util/TLVEncoder.c +openair-cn/NAS/EURECOM-NAS/src/util/TLVEncoder.h +openair-cn/NAS/EURECOM-NAS/src/COPYING +openair-cn/NAS/EURECOM-NAS/src/MMEprocess.c +openair-cn/NAS/EURECOM-NAS/src/nas_network.c +openair-cn/NAS/EURECOM-NAS/src/nas_network.h +openair-cn/NAS/EURECOM-NAS/src/nas_parser.c +openair-cn/NAS/EURECOM-NAS/src/nas_parser.h +openair-cn/NAS/EURECOM-NAS/src/nas_proc.c +openair-cn/NAS/EURECOM-NAS/src/nas_proc.h +openair-cn/NAS/EURECOM-NAS/src/nas_user.c +openair-cn/NAS/EURECOM-NAS/src/nas_user.h +openair-cn/NAS/EURECOM-NAS/src/UEprocess.c +openair-cn/NAS/EURECOM-NAS/tools/COPYING +openair-cn/NAS/EURECOM-NAS/tools/network.h +openair-cn/NAS/EURECOM-NAS/tools/ue_data.c +openair-cn/NAS/EURECOM-NAS/tools/usim_data.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_data.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_data.h +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_process.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_process.h +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_simulator.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_simulator_parser.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_simulator_parser.h +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/COPYING +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_data.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_data.h +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_process.c +openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_process.h +openair-cn/NAS/EURECOM-NAS/tst/MSC/ActivatePDN.png +openair-cn/NAS/EURECOM-NAS/tst/MSC/AuthenticationReject.png +openair-cn/NAS/EURECOM-NAS/tst/MSC/COPYING +openair-cn/NAS/EURECOM-NAS/tst/MSC/DeactivatePDN.png +openair-cn/NAS/EURECOM-NAS/tst/MSC/InitialAttach.png +openair-cn/NAS/EURECOM-NAS/tst/MSC/InitialAttachReject.png +openair-cn/NAS/EURECOM-NAS/tst/MSC/msc_gen.py +openair-cn/NAS/EURECOM-NAS/tst/MSC/mscgen +openair-cn/NAS/EURECOM-NAS/tst/MSC/NomalDetach.png +openair-cn/NAS/EURECOM-NAS/tst/MSC/README +openair-cn/NAS/EURECOM-NAS/tst/MSC/SwitchOffDetach.png +openair-cn/NAS/EURECOM-NAS/tst/network/COPYING +openair-cn/NAS/EURECOM-NAS/tst/network/network_parser.c +openair-cn/NAS/EURECOM-NAS/tst/network/network_parser.h +openair-cn/NAS/EURECOM-NAS/tst/network/network_simulator.c +openair-cn/NAS/EURECOM-NAS/tst/network/README +openair-cn/NAS/EURECOM-NAS/tst/user/COPYING +openair-cn/NAS/EURECOM-NAS/tst/user/user_parser.c +openair-cn/NAS/EURECOM-NAS/tst/user/user_parser.h +openair-cn/NAS/EURECOM-NAS/tst/user/user_simulator.c +openair-cn/NAS/EURECOM-NAS/tst/COPYING +openair-cn/NAS/EURECOM-NAS/COPYING +openair-cn/NAS/EURECOM-NAS/Makerules +openair-cn/NAS/COPYING +openair-cn/NAS/nas_defs.h +openair-cn/NAS/nas_itti_messaging.c +openair-cn/NAS/nas_itti_messaging.h +openair-cn/NAS/nas_main.c +openair-cn/NAS/nas_ue_task.c +openair-cn/OAI_EPC/COPYING +openair-cn/OAI_EPC/oai_epc.c +openair-cn/OAI_EPC/oai_epc.h +openair-cn/OAI_EPC/oai_epc_log.c +openair-cn/OAI_SGW/COPYING +openair-cn/OAI_SGW/oai_sgw.c +openair-cn/OAI_SGW/oai_sgw.h +openair-cn/OAI_SGW/oai_sgw_log.c +openair-cn/OAISIM_MME/COPYING +openair-cn/OAISIM_MME/oai_mme_log.c +openair-cn/OAISIM_MME/oaisim_mme.c +openair-cn/OAISIM_MME/oaisim_mme.h +openair-cn/OPENAIRHSS/access_restriction/access_restriction.c +openair-cn/OPENAIRHSS/access_restriction/access_restriction.h +openair-cn/OPENAIRHSS/access_restriction/COPYING +openair-cn/OPENAIRHSS/auc/auc.h +openair-cn/OPENAIRHSS/auc/COPYING +openair-cn/OPENAIRHSS/auc/fx.c +openair-cn/OPENAIRHSS/auc/kdf.c +openair-cn/OPENAIRHSS/auc/random.c +openair-cn/OPENAIRHSS/auc/rijndael.c +openair-cn/OPENAIRHSS/auc/sequence_number.c +openair-cn/OPENAIRHSS/conf/demoCA/COPYING +openair-cn/OPENAIRHSS/conf/COPYING +openair-cn/OPENAIRHSS/conf/hss.conf.in +openair-cn/OPENAIRHSS/conf/make_certs.sh +openair-cn/OPENAIRHSS/db/COPYING +openair-cn/OPENAIRHSS/db/db_connector.c +openair-cn/OPENAIRHSS/db/db_epc_equipment.c +openair-cn/OPENAIRHSS/db/db_proto.h +openair-cn/OPENAIRHSS/db/db_subscription_data.c +openair-cn/OPENAIRHSS/db/oai_db.sql +openair-cn/OPENAIRHSS/db/pft_db.sql +openair-cn/OPENAIRHSS/debian/changelog +openair-cn/OPENAIRHSS/debian/compat +openair-cn/OPENAIRHSS/debian/control +openair-cn/OPENAIRHSS/debian/copyright +openair-cn/OPENAIRHSS/debian/dirs +openair-cn/OPENAIRHSS/debian/files +openair-cn/OPENAIRHSS/debian/openair-hss.install +openair-cn/OPENAIRHSS/debian/rules +openair-cn/OPENAIRHSS/s6a/COPYING +openair-cn/OPENAIRHSS/s6a/s6a_auth_info.c +openair-cn/OPENAIRHSS/s6a/s6a_common.c +openair-cn/OPENAIRHSS/s6a/s6a_error.c +openair-cn/OPENAIRHSS/s6a/s6a_fd.c +openair-cn/OPENAIRHSS/s6a/s6a_in_addr.c +openair-cn/OPENAIRHSS/s6a/s6a_peers.c +openair-cn/OPENAIRHSS/s6a/s6a_proto.h +openair-cn/OPENAIRHSS/s6a/s6a_purge_ue.c +openair-cn/OPENAIRHSS/s6a/s6a_subscription_data.c +openair-cn/OPENAIRHSS/s6a/s6a_supported_features.c +openair-cn/OPENAIRHSS/s6a/s6a_supported_features.h +openair-cn/OPENAIRHSS/s6a/s6a_up_loc.c +openair-cn/OPENAIRHSS/scripts/COPYING +openair-cn/OPENAIRHSS/scripts/install_hss.sh +openair-cn/OPENAIRHSS/tests/COPYING +openair-cn/OPENAIRHSS/tests/test_fd.c +openair-cn/OPENAIRHSS/tests/test_fd.h +openair-cn/OPENAIRHSS/tests/test_kdf.c +openair-cn/OPENAIRHSS/tests/test_security.c +openair-cn/OPENAIRHSS/tests/test_security_f1.c +openair-cn/OPENAIRHSS/tests/test_security_f2_f3_f5.c +openair-cn/OPENAIRHSS/tests/test_security_f4_f5star.c +openair-cn/OPENAIRHSS/tests/test_security_kasme.c +openair-cn/OPENAIRHSS/tests/test_utils.c +openair-cn/OPENAIRHSS/tests/test_utils.h +openair-cn/OPENAIRHSS/tests/up_loc_test.c +openair-cn/OPENAIRHSS/utils/conversion.c +openair-cn/OPENAIRHSS/utils/conversion.h +openair-cn/OPENAIRHSS/utils/COPYING +openair-cn/OPENAIRHSS/utils/hss_config.c +openair-cn/OPENAIRHSS/utils/hss_config.h +openair-cn/OPENAIRHSS/utils/hss_parser.y +openair-cn/OPENAIRHSS/utils/hss_scanner.l +openair-cn/OPENAIRHSS/utils/queue.h +openair-cn/OPENAIRHSS/AUTHORS +openair-cn/OPENAIRHSS/autogen.sh +openair-cn/OPENAIRHSS/ChangeLog +openair-cn/OPENAIRHSS/configure.ac +openair-cn/OPENAIRHSS/hss_main.c +openair-cn/OPENAIRHSS/INSTALL +openair-cn/OPENAIRHSS/NEWS +openair-cn/OPENAIRHSS/README +openair-cn/S11/COPYING +openair-cn/S11/s11_common.c +openair-cn/S11/s11_common.h +openair-cn/S11/s11_ie_formatter.c +openair-cn/S11/s11_ie_formatter.h +openair-cn/S11/s11_mme.h +openair-cn/S11/s11_mme_peer_manager.c +openair-cn/S11/s11_mme_session_manager.c +openair-cn/S11/s11_mme_session_manager.h +openair-cn/S11/s11_mme_task.c +openair-cn/S11/s11_sgw.c +openair-cn/S11/s11_sgw.h +openair-cn/S11/s11_sgw_bearer_manager.c +openair-cn/S11/s11_sgw_bearer_manager.h +openair-cn/S11/s11_sgw_session_manager.c +openair-cn/S11/s11_sgw_session_manager.h +openair-cn/S1AP/MESSAGES/ASN1/R10.5/COPYING +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn +openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn +openair-cn/S1AP/MESSAGES/ASN1/R8.10/COPYING +openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn +openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn +openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn +openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn +openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/COPYING +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn +openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn +openair-cn/S1AP/MESSAGES/ASN1/asn1cpatch.p0 +openair-cn/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 +openair-cn/S1AP/MESSAGES/ASN1/asn1tostruct.py +openair-cn/S1AP/MESSAGES/ASN1/COPYING +openair-cn/S1AP/MESSAGES/ASN1/README +openair-cn/S1AP/MESSAGES/COPYING +openair-cn/S1AP/COPYING +openair-cn/S1AP/s1ap_common.c +openair-cn/S1AP/s1ap_common.h +openair-cn/S1AP/s1ap_eNB.c +openair-cn/S1AP/s1ap_eNB.h +openair-cn/S1AP/s1ap_eNB_context_management_procedures.c +openair-cn/S1AP/s1ap_eNB_context_management_procedures.h +openair-cn/S1AP/s1ap_eNB_decoder.c +openair-cn/S1AP/s1ap_eNB_decoder.h +openair-cn/S1AP/s1ap_eNB_default_values.h +openair-cn/S1AP/s1ap_eNB_defs.h +openair-cn/S1AP/s1ap_eNB_encoder.c +openair-cn/S1AP/s1ap_eNB_encoder.h +openair-cn/S1AP/s1ap_eNB_handlers.c +openair-cn/S1AP/s1ap_eNB_handlers.h +openair-cn/S1AP/s1ap_eNB_itti_messaging.c +openair-cn/S1AP/s1ap_eNB_itti_messaging.h +openair-cn/S1AP/s1ap_eNB_management_procedures.c +openair-cn/S1AP/s1ap_eNB_management_procedures.h +openair-cn/S1AP/s1ap_eNB_nas_procedures.c +openair-cn/S1AP/s1ap_eNB_nas_procedures.h +openair-cn/S1AP/s1ap_eNB_nnsf.c +openair-cn/S1AP/s1ap_eNB_nnsf.h +openair-cn/S1AP/s1ap_eNB_overload.c +openair-cn/S1AP/s1ap_eNB_overload.h +openair-cn/S1AP/s1ap_eNB_trace.c +openair-cn/S1AP/s1ap_eNB_trace.h +openair-cn/S1AP/s1ap_eNB_ue_context.c +openair-cn/S1AP/s1ap_eNB_ue_context.h +openair-cn/S1AP/s1ap_mme.c +openair-cn/S1AP/s1ap_mme.h +openair-cn/S1AP/s1ap_mme_decoder.c +openair-cn/S1AP/s1ap_mme_decoder.h +openair-cn/S1AP/s1ap_mme_encoder.c +openair-cn/S1AP/s1ap_mme_encoder.h +openair-cn/S1AP/s1ap_mme_handlers.c +openair-cn/S1AP/s1ap_mme_handlers.h +openair-cn/S1AP/s1ap_mme_itti_messaging.c +openair-cn/S1AP/s1ap_mme_itti_messaging.h +openair-cn/S1AP/s1ap_mme_nas_procedures.c +openair-cn/S1AP/s1ap_mme_nas_procedures.h +openair-cn/S1AP/s1ap_mme_retransmission.c +openair-cn/S1AP/s1ap_mme_retransmission.h +openair-cn/S1AP/s1ap_mme_ta.c +openair-cn/S1AP/s1ap_mme_ta.h +openair-cn/S6A/freediameter/freediameter-1.1.5.patch +openair-cn/S6A/freediameter/freediameter-1.2.0.patch +openair-cn/S6A/freediameter/install_freediameter.sh +openair-cn/S6A/freediameter/make_certs.sh +openair-cn/S6A/freediameter/README.txt +openair-cn/S6A/freediameter/s6a.conf +openair-cn/S6A/COPYING +openair-cn/S6A/s6a_apn_conf.c +openair-cn/S6A/s6a_auth_info.c +openair-cn/S6A/s6a_defs.h +openair-cn/S6A/s6a_dict.c +openair-cn/S6A/s6a_error.c +openair-cn/S6A/s6a_messages.h +openair-cn/S6A/s6a_peer.c +openair-cn/S6A/s6a_subscription_data.c +openair-cn/S6A/s6a_task.c +openair-cn/S6A/s6a_up_loc.c +openair-cn/SCTP/COPYING +openair-cn/SCTP/sctp_common.c +openair-cn/SCTP/sctp_common.h +openair-cn/SCTP/sctp_default_values.h +openair-cn/SCTP/sctp_eNB_defs.h +openair-cn/SCTP/sctp_eNB_itti_messaging.c +openair-cn/SCTP/sctp_eNB_itti_messaging.h +openair-cn/SCTP/sctp_eNB_task.c +openair-cn/SCTP/sctp_eNB_task.h +openair-cn/SCTP/sctp_itti_messaging.c +openair-cn/SCTP/sctp_itti_messaging.h +openair-cn/SCTP/sctp_primitives_client.c +openair-cn/SCTP/sctp_primitives_client.h +openair-cn/SCTP/sctp_primitives_server.c +openair-cn/SCTP/sctp_primitives_server.h +openair-cn/SECU/COPYING +openair-cn/SECU/kdf.c +openair-cn/SECU/key_nas_deriver.c +openair-cn/SECU/key_nas_encryption.c +openair-cn/SECU/nas_stream_eea1.c +openair-cn/SECU/nas_stream_eea2.c +openair-cn/SECU/nas_stream_eia1.c +openair-cn/SECU/nas_stream_eia2.c +openair-cn/SECU/rijndael.c +openair-cn/SECU/rijndael.h +openair-cn/SECU/secu_defs.h +openair-cn/SECU/snow3g.c +openair-cn/SECU/snow3g.h +openair-cn/SGW-LITE/COPYING +openair-cn/SGW-LITE/pgw_lite_paa.c +openair-cn/SGW-LITE/pgw_lite_paa.h +openair-cn/SGW-LITE/s11_causes.c +openair-cn/SGW-LITE/s11_causes.h +openair-cn/SGW-LITE/sgw_lite.h +openair-cn/SGW-LITE/sgw_lite_context_manager.c +openair-cn/SGW-LITE/sgw_lite_context_manager.h +openair-cn/SGW-LITE/sgw_lite_defs.h +openair-cn/SGW-LITE/sgw_lite_handlers.c +openair-cn/SGW-LITE/sgw_lite_handlers.h +openair-cn/SGW-LITE/sgw_lite_ie_defs.h +openair-cn/SGW-LITE/sgw_lite_task.c +openair-cn/SGW-LITE/spgw_config.c +openair-cn/SGW-LITE/spgw_config.h +openair-cn/TEST/COPYING +openair-cn/TEST/oaisim_mme_client_test.c +openair-cn/TEST/oaisim_mme_itti_test.c +openair-cn/TEST/oaisim_mme_list_benchmark.c +openair-cn/TEST/oaisim_mme_s1ap_test.c +openair-cn/TEST/oaisim_mme_sctp_test.c +openair-cn/TEST/oaisim_mme_test_s1c.c +openair-cn/TEST/oaisim_mme_test_s1c.h +openair-cn/TEST/oaisim_mme_test_s1c_scenario.h +openair-cn/TEST/oaisim_mme_test_s1c_scenario1.c +openair-cn/TEST/test_aes128_cmac_encrypt.c +openair-cn/TEST/test_aes128_ctr_decrypt.c +openair-cn/TEST/test_aes128_ctr_encrypt.c +openair-cn/TEST/test_kdf.c +openair-cn/TEST/test_s1ap.c +openair-cn/TEST/test_secu.c +openair-cn/TEST/test_secu_kenb.c +openair-cn/TEST/test_secu_knas.c +openair-cn/TEST/test_secu_knas_encrypt_eea1.c +openair-cn/TEST/test_secu_knas_encrypt_eea2.c +openair-cn/TEST/test_secu_knas_encrypt_eia1.c +openair-cn/TEST/test_secu_knas_encrypt_eia2.c +openair-cn/TEST/test_secu_knas_stream_int.c +openair-cn/TEST/test_util.c +openair-cn/TEST/test_util.h +openair-cn/UDP/COPYING +openair-cn/UDP/udp_eNB_task.c +openair-cn/UDP/udp_eNB_task.h +openair-cn/UDP/udp_primitives_server.c +openair-cn/UDP/udp_primitives_server.h +openair-cn/UTILS/CONF/COPYING +openair-cn/UTILS/HASHTABLE/COPYING +openair-cn/UTILS/HASHTABLE/hashtable.c +openair-cn/UTILS/HASHTABLE/hashtable.h +openair-cn/UTILS/HASHTABLE/obj_hashtable.c +openair-cn/UTILS/HASHTABLE/obj_hashtable.h +openair-cn/UTILS/conversions.c +openair-cn/UTILS/conversions.h +openair-cn/UTILS/COPYING +openair-cn/UTILS/enum_string.c +openair-cn/UTILS/enum_string.h +openair-cn/UTILS/log.c +openair-cn/UTILS/log.h +openair-cn/UTILS/mcc_mnc_itu.c +openair-cn/UTILS/mcc_mnc_itu.h +openair-cn/UTILS/mme_config.c +openair-cn/UTILS/mme_config.h +openair-cn/UTILS/mme_default_values.h +openair-cn/UTILS/mme_parser.y +openair-cn/UTILS/mme_scanner.l +openair-cn/UTILS/queue.h +openair-cn/UTILS/tree.h +openair-cn/AUTHORS +openair-cn/autogen.sh +openair-cn/ChangeLog +openair-cn/configure.ac +openair-cn/COPYING +openair-cn/cppcheck.sh +openair-cn/INSTALL +openair-cn/NEWS +openair-cn/README +openair-cn/valgrind.sh +openair1/MAC_INTERFACE/COPYING +openair1/MAC_INTERFACE/defs.h +openair1/MAC_INTERFACE/extern.h +openair1/MAC_INTERFACE/init.c +openair1/MAC_INTERFACE/register.c +openair1/MAC_INTERFACE/vars.h +openair1/PHY/CODING/TESTBENCH/COPYING +openair1/PHY/CODING/TESTBENCH/ltetest.c +openair1/PHY/CODING/TESTBENCH/pdcch_test.c +openair1/PHY/CODING/TESTBENCH/README.txt +openair1/PHY/CODING/TESTBENCH/viterbi_test.c +openair1/PHY/CODING/3gpplte.c +openair1/PHY/CODING/3gpplte_sse.c +openair1/PHY/CODING/3gpplte_turbo_decoder.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c +openair1/PHY/CODING/ccoding_byte.c +openair1/PHY/CODING/ccoding_byte_lte.c +openair1/PHY/CODING/COPYING +openair1/PHY/CODING/crc_byte.c +openair1/PHY/CODING/defs.h +openair1/PHY/CODING/extern.h +openair1/PHY/CODING/extern_3GPPinterleaver.h +openair1/PHY/CODING/lte_interleaver.h +openair1/PHY/CODING/lte_interleaver2.h +openair1/PHY/CODING/lte_interleaver_inline.h +openair1/PHY/CODING/lte_rate_matching.c +openair1/PHY/CODING/lte_segmentation.c +openair1/PHY/CODING/lte_tf.m +openair1/PHY/CODING/rate_matching.c +openair1/PHY/CODING/README.txt +openair1/PHY/CODING/scrambler.h +openair1/PHY/CODING/vars.h +openair1/PHY/CODING/viterbi.c +openair1/PHY/CODING/viterbi_lte.c +openair1/PHY/INIT/COPYING +openair1/PHY/INIT/defs.h +openair1/PHY/INIT/extern.h +openair1/PHY/INIT/init_top.c +openair1/PHY/INIT/lte_init.c +openair1/PHY/INIT/lte_parms.c +openair1/PHY/INIT/README.txt +openair1/PHY/INIT/vars.h +openair1/PHY/LTE_ESTIMATION/adjust_gain.c +openair1/PHY/LTE_ESTIMATION/COPYING +openair1/PHY/LTE_ESTIMATION/defs.h +openair1/PHY/LTE_ESTIMATION/extern.h +openair1/PHY/LTE_ESTIMATION/filt96_32.h +openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m +openair1/PHY/LTE_ESTIMATION/freq_equalization.c +openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c +openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c +openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c +openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c +openair1/PHY/LTE_ESTIMATION/lte_sync_time.c +openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c +openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m +openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c +openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/pss6144.h +openair1/PHY/LTE_ESTIMATION/README.txt +openair1/PHY/LTE_ESTIMATION/vars.h +openair1/PHY/LTE_REFSIG/COPYING +openair1/PHY/LTE_REFSIG/defs.h +openair1/PHY/LTE_REFSIG/gen_mod_table.m +openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c +openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c +openair1/PHY/LTE_REFSIG/lte_dl_uespec.c +openair1/PHY/LTE_REFSIG/lte_gold.c +openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c +openair1/PHY/LTE_REFSIG/lte_ul.m +openair1/PHY/LTE_REFSIG/lte_ul_ref.c +openair1/PHY/LTE_REFSIG/mod_table.h +openair1/PHY/LTE_REFSIG/primary_synch.h +openair1/PHY/LTE_REFSIG/primary_synch.m +openair1/PHY/LTE_REFSIG/README.txt +openair1/PHY/LTE_TRANSPORT/COPYING +openair1/PHY/LTE_TRANSPORT/dci.c +openair1/PHY/LTE_TRANSPORT/dci.h +openair1/PHY/LTE_TRANSPORT/dci_tools.c +openair1/PHY/LTE_TRANSPORT/defs.h +openair1/PHY/LTE_TRANSPORT/dlsch_coding.c +openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c +openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c +openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c +openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c +openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h +openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h +openair1/PHY/LTE_TRANSPORT/drs_modulation.c +openair1/PHY/LTE_TRANSPORT/extern.h +openair1/PHY/LTE_TRANSPORT/group_hopping.c +openair1/PHY/LTE_TRANSPORT/initial_sync.c +openair1/PHY/LTE_TRANSPORT/lte_mcs.c +openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h +openair1/PHY/LTE_TRANSPORT/pbch.c +openair1/PHY/LTE_TRANSPORT/pcfich.c +openair1/PHY/LTE_TRANSPORT/phich.c +openair1/PHY/LTE_TRANSPORT/pilots.c +openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c +openair1/PHY/LTE_TRANSPORT/pmch.c +openair1/PHY/LTE_TRANSPORT/power_control.c +openair1/PHY/LTE_TRANSPORT/prach.c +openair1/PHY/LTE_TRANSPORT/prach.h +openair1/PHY/LTE_TRANSPORT/print_stats.c +openair1/PHY/LTE_TRANSPORT/proto.h +openair1/PHY/LTE_TRANSPORT/pss.c +openair1/PHY/LTE_TRANSPORT/pucch.c +openair1/PHY/LTE_TRANSPORT/rar_tools.c +openair1/PHY/LTE_TRANSPORT/README.txt +openair1/PHY/LTE_TRANSPORT/srs_modulation.c +openair1/PHY/LTE_TRANSPORT/sss.c +openair1/PHY/LTE_TRANSPORT/sss.h +openair1/PHY/LTE_TRANSPORT/sss_gen.m +openair1/PHY/LTE_TRANSPORT/uci.h +openair1/PHY/LTE_TRANSPORT/uci_tools.c +openair1/PHY/LTE_TRANSPORT/ulsch_coding.c +openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c +openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c +openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c +openair1/PHY/LTE_TRANSPORT/vars.h +openair1/PHY/LTE_TRANSPORT/vrb_maps.m +openair1/PHY/MODULATION/COPYING +openair1/PHY/MODULATION/defs.h +openair1/PHY/MODULATION/extern.h +openair1/PHY/MODULATION/gen_7_5_kHz.m +openair1/PHY/MODULATION/kHz_7_5.h +openair1/PHY/MODULATION/ofdm_mod.c +openair1/PHY/MODULATION/prach625Hz.h +openair1/PHY/MODULATION/slot_fep.c +openair1/PHY/MODULATION/slot_fep_mbsfn.c +openair1/PHY/MODULATION/slot_fep_ul.c +openair1/PHY/MODULATION/ul_7_5_kHz.c +openair1/PHY/MODULATION/vars.h +openair1/PHY/TOOLS/8bit_rxdemux.c +openair1/PHY/TOOLS/8bit_txmux.c +openair1/PHY/TOOLS/angle.c +openair1/PHY/TOOLS/cadd_sv.c +openair1/PHY/TOOLS/cadd_vv.c +openair1/PHY/TOOLS/cdot_prod.c +openair1/PHY/TOOLS/cmult_mm.c +openair1/PHY/TOOLS/cmult_sv.c +openair1/PHY/TOOLS/cmult_vv.c +openair1/PHY/TOOLS/cmult_vvh.c +openair1/PHY/TOOLS/COPYING +openair1/PHY/TOOLS/costable.h +openair1/PHY/TOOLS/dB_routines.c +openair1/PHY/TOOLS/dB_routines.h +openair1/PHY/TOOLS/defs.h +openair1/PHY/TOOLS/extern.h +openair1/PHY/TOOLS/file_output.c +openair1/PHY/TOOLS/invSqrt.c +openair1/PHY/TOOLS/log2_approx.c +openair1/PHY/TOOLS/lte_dfts.c +openair1/PHY/TOOLS/lte_phy_scope.c +openair1/PHY/TOOLS/lte_phy_scope.h +openair1/PHY/TOOLS/lut.c +openair1/PHY/TOOLS/memory_routines.c +openair1/PHY/TOOLS/signal_energy.c +openair1/PHY/TOOLS/smbv.c +openair1/PHY/TOOLS/smbv.h +openair1/PHY/TOOLS/sqrt.c +openair1/PHY/TOOLS/time_meas.c +openair1/PHY/TOOLS/time_meas.h +openair1/PHY/TOOLS/twiddle12288.h +openair1/PHY/TOOLS/twiddle1536.h +openair1/PHY/TOOLS/twiddle24576.h +openair1/PHY/TOOLS/twiddle6144.h +openair1/PHY/TOOLS/twiddles4096.h +openair1/PHY/TOOLS/vars.h +openair1/PHY/COPYING +openair1/PHY/defs.h +openair1/PHY/extern.h +openair1/PHY/impl_defs_lte.h +openair1/PHY/impl_defs_top.h +openair1/PHY/spec_defs.h +openair1/PHY/spec_defs_top.h +openair1/PHY/sse_intrin.h +openair1/PHY/types.h +openair1/PHY/vars.h +openair1/SCHED/COPYING +openair1/SCHED/defs.h +openair1/SCHED/extern.h +openair1/SCHED/phy_procedures_emos.h +openair1/SCHED/phy_procedures_lte_common.c +openair1/SCHED/phy_procedures_lte_eNb.c +openair1/SCHED/phy_procedures_lte_ue.c +openair1/SCHED/pucch_pc.c +openair1/SCHED/pusch_pc.c +openair1/SCHED/rt_compat.h +openair1/SCHED/vars.h +openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c +openair1/SIMULATION/ETH_TRANSPORT/COPYING +openair1/SIMULATION/ETH_TRANSPORT/defs.h +openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c +openair1/SIMULATION/ETH_TRANSPORT/extern.h +openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c +openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h +openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c +openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c +openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h +openair1/SIMULATION/ETH_TRANSPORT/proto.h +openair1/SIMULATION/ETH_TRANSPORT/README.txt +openair1/SIMULATION/ETH_TRANSPORT/socket.c +openair1/SIMULATION/ETH_TRANSPORT/socket.h +openair1/SIMULATION/ETH_TRANSPORT/vars.h +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls +openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m +openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m +openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m +openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m +openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m +openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m +openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m +openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m +openair1/SIMULATION/LTE_PHY/plotTools/p +openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m +openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt +openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex +openair1/SIMULATION/LTE_PHY/blerSimus.zip +openair1/SIMULATION/LTE_PHY/COPYING +openair1/SIMULATION/LTE_PHY/dlsim.c +openair1/SIMULATION/LTE_PHY/fancyheadings.sty +openair1/SIMULATION/LTE_PHY/framegen.c +openair1/SIMULATION/LTE_PHY/gpib_send.c +openair1/SIMULATION/LTE_PHY/gpib_send.h +openair1/SIMULATION/LTE_PHY/launch_sim.sh +openair1/SIMULATION/LTE_PHY/LTE_Configuration.c +openair1/SIMULATION/LTE_PHY/LTE_Configuration.h +openair1/SIMULATION/LTE_PHY/mat2wv.m +openair1/SIMULATION/LTE_PHY/mbmssim.c +openair1/SIMULATION/LTE_PHY/pbch_awgn.txt +openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt +openair1/SIMULATION/LTE_PHY/pbchsim.c +openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh +openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m +openair1/SIMULATION/LTE_PHY/pdcchsim.c +openair1/SIMULATION/LTE_PHY/prachsim.c +openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h +openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c +openair1/SIMULATION/LTE_PHY/pucchsim.c +openair1/SIMULATION/LTE_PHY/README.txt +openair1/SIMULATION/LTE_PHY/scansim.c +openair1/SIMULATION/LTE_PHY/signalanalyzer.c +openair1/SIMULATION/LTE_PHY/signalanalyzer.h +openair1/SIMULATION/LTE_PHY/syncsim.c +openair1/SIMULATION/LTE_PHY/test.c +openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c +openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h +openair1/SIMULATION/LTE_PHY/ulsim.c +openair1/SIMULATION/LTE_PHY/ulsim2.c +openair1/SIMULATION/RF/adc.c +openair1/SIMULATION/RF/COPYING +openair1/SIMULATION/RF/dac.c +openair1/SIMULATION/RF/defs.h +openair1/SIMULATION/RF/README.txt +openair1/SIMULATION/RF/rf.c +openair1/SIMULATION/TOOLS/abstraction.c +openair1/SIMULATION/TOOLS/ch_desc_proto.c +openair1/SIMULATION/TOOLS/COPYING +openair1/SIMULATION/TOOLS/corr_mat.m +openair1/SIMULATION/TOOLS/defs.h +openair1/SIMULATION/TOOLS/gauss.c +openair1/SIMULATION/TOOLS/llr_quantization.c +openair1/SIMULATION/TOOLS/multipath_channel.c +openair1/SIMULATION/TOOLS/multipath_tv_channel.c +openair1/SIMULATION/TOOLS/random_channel.c +openair1/SIMULATION/TOOLS/rangen_double.c +openair1/SIMULATION/TOOLS/scm.m +openair1/SIMULATION/TOOLS/scm_corrmat.h +openair1/SIMULATION/TOOLS/taus.c +openair1/SIMULATION/COPYING +openair1/COPYING +openair1/README.TXT +openair2/COMMON/as_message.h +openair2/COMMON/commonDef.h +openair2/COMMON/COPYING +openair2/COMMON/gtpv1_u_messages_def.h +openair2/COMMON/gtpv1_u_messages_types.h +openair2/COMMON/intertask_interface_conf.h +openair2/COMMON/mac_messages_def.h +openair2/COMMON/mac_messages_types.h +openair2/COMMON/mac_primitives.h +openair2/COMMON/mac_rlc_primitives.h +openair2/COMMON/mac_rrc_primitives.h +openair2/COMMON/messages_def.h +openair2/COMMON/messages_types.h +openair2/COMMON/nas_messages_def.h +openair2/COMMON/nas_messages_types.h +openair2/COMMON/networkDef.h +openair2/COMMON/openair_defs.h +openair2/COMMON/openair_types.h +openair2/COMMON/pdcp_messages_def.h +openair2/COMMON/pdcp_messages_types.h +openair2/COMMON/phy_messages_def.h +openair2/COMMON/phy_messages_types.h +openair2/COMMON/platform_constants.h +openair2/COMMON/platform_types.h +openair2/COMMON/ral_messages_def.h +openair2/COMMON/ral_messages_types.h +openair2/COMMON/rlc_messages_def.h +openair2/COMMON/rlc_messages_types.h +openair2/COMMON/rrc_messages_def.h +openair2/COMMON/rrc_messages_types.h +openair2/COMMON/rrm_config_structs.h +openair2/COMMON/rrm_constants.h +openair2/COMMON/rtos_header.h +openair2/COMMON/s1ap_messages_def.h +openair2/COMMON/s1ap_messages_types.h +openair2/COMMON/sctp_messages_def.h +openair2/COMMON/sctp_messages_types.h +openair2/COMMON/tasks_def.h +openair2/COMMON/udp_messages_def.h +openair2/COMMON/udp_messages_types.h +openair2/COMMON/x2ap_messages_def.h +openair2/COMMON/x2ap_messages_types.h +openair2/DOCS/Documentation/flow.txt +openair2/DOCS/DOXYGEN/images/cellular_topology.doc +openair2/DOCS/DOXYGEN/images/cellular_topology.pdf +openair2/DOCS/DOXYGEN/images/cellular_topology_small.png +openair2/DOCS/DOXYGEN/images/channel server.png +openair2/DOCS/DOXYGEN/images/channel server.vsd +openair2/DOCS/DOXYGEN/images/convolutional.png +openair2/DOCS/DOXYGEN/images/convolutional.vsd +openair2/DOCS/DOXYGEN/images/Diapositive6.JPG +openair2/DOCS/DOXYGEN/images/DLC_arch.png +openair2/DOCS/DOXYGEN/images/Framing.png +openair2/DOCS/DOXYGEN/images/Framing.vsd +openair2/DOCS/DOXYGEN/images/irs_dcf.jpg +openair2/DOCS/DOXYGEN/images/irs_pcf.jpg +openair2/DOCS/DOXYGEN/images/layer2_stack.jpg +openair2/DOCS/DOXYGEN/images/layer2_stack.pdf +openair2/DOCS/DOXYGEN/images/layer2_stack.png +openair2/DOCS/DOXYGEN/images/MAC Services.vsd +openair2/DOCS/DOXYGEN/images/MAC_arch.eps +openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG +openair2/DOCS/DOXYGEN/images/mac_channels.png +openair2/DOCS/DOXYGEN/images/MAC_Measurements.png +openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd +openair2/DOCS/DOXYGEN/images/MAC_Services.eps +openair2/DOCS/DOXYGEN/images/MAC_Services.vsd +openair2/DOCS/DOXYGEN/images/MAC_Services2.eps +openair2/DOCS/DOXYGEN/images/MAC_Services2.png +openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd +openair2/DOCS/DOXYGEN/images/mac_wbs.jpg +openair2/DOCS/DOXYGEN/images/macphynet.eps +openair2/DOCS/DOXYGEN/images/macphynet.png +openair2/DOCS/DOXYGEN/images/mesh_frame.pdf +openair2/DOCS/DOXYGEN/images/mesh_topology.pdf +openair2/DOCS/DOXYGEN/images/mesh_topology_small.png +openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png +openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd +openair2/DOCS/DOXYGEN/images/PHY_arch.eps +openair2/DOCS/DOXYGEN/images/PHY_arch.png +openair2/DOCS/DOXYGEN/images/PHY_arch.vsd +openair2/DOCS/DOXYGEN/images/QAM modulation.png +openair2/DOCS/DOXYGEN/images/QAM modulation.vsd +openair2/DOCS/DOXYGEN/images/QAMmodulation.png +openair2/DOCS/DOXYGEN/images/scrambler.png +openair2/DOCS/DOXYGEN/images/scrambler.vsd +openair2/DOCS/DOXYGEN/images/Transmission.pdf +openair2/DOCS/DOXYGEN/images/Transmission.png +openair2/DOCS/DOXYGEN/images/Transmission.ps +openair2/DOCS/DOXYGEN/images/w3g4f_framing.png +openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd +openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd +openair2/DOCS/DOXYGEN/Doxyfile +openair2/DOCS/TEMPLATES/CODE/images/arch.eps +openair2/DOCS/TEMPLATES/CODE/images/arch.png +openair2/DOCS/TEMPLATES/CODE/COPYING +openair2/DOCS/TEMPLATES/CODE/Doxyfile +openair2/DOCS/TEMPLATES/CODE/example_doxy.h +openair2/DOCS/TEMPLATES/README/Readme.doxy +openair2/DOCS/TEMPLATES/README/readme.txt +openair2/ENB_APP/enb_app.c +openair2/ENB_APP/enb_app.h +openair2/ENB_APP/enb_config.c +openair2/ENB_APP/enb_config.h +openair2/LAYER2/MAC/config.c +openair2/LAYER2/MAC/COPYING +openair2/LAYER2/MAC/defs.h +openair2/LAYER2/MAC/eNB_scheduler.c +openair2/LAYER2/MAC/eNB_scheduler_bch.c +openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +openair2/LAYER2/MAC/eNB_scheduler_mch.c +openair2/LAYER2/MAC/eNB_scheduler_primitives.c +openair2/LAYER2/MAC/eNB_scheduler_RA.c +openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +openair2/LAYER2/MAC/extern.h +openair2/LAYER2/MAC/l1_helpers.c +openair2/LAYER2/MAC/lte_transport_init.c +openair2/LAYER2/MAC/main.c +openair2/LAYER2/MAC/openair2_proc.c +openair2/LAYER2/MAC/pre_processor.c +openair2/LAYER2/MAC/proto.h +openair2/LAYER2/MAC/ra_procedures.c +openair2/LAYER2/MAC/rar_tools.c +openair2/LAYER2/MAC/ue_procedures.c +openair2/LAYER2/MAC/vars.h +openair2/LAYER2/PDCP_v10.1.0/COPYING +openair2/LAYER2/PDCP_v10.1.0/pdcp.c +openair2/LAYER2/PDCP_v10.1.0/pdcp.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h +openair2/LAYER2/RLC/AM_v9.3.0/COPYING +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h +openair2/LAYER2/RLC/TM_v9.3.0/COPYING +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h +openair2/LAYER2/RLC/UM_v9.3.0/COPYING +openair2/LAYER2/RLC/UM_v9.3.0/README +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h +openair2/LAYER2/RLC/COPYING +openair2/LAYER2/RLC/mac_primitives.h +openair2/LAYER2/RLC/rlc.c +openair2/LAYER2/RLC/rlc.h +openair2/LAYER2/RLC/rlc_def.h +openair2/LAYER2/RLC/rlc_def_lte.h +openair2/LAYER2/RLC/rlc_mac.c +openair2/LAYER2/RLC/rlc_mpls.c +openair2/LAYER2/RLC/rlc_primitives.h +openair2/LAYER2/RLC/rlc_rrc.c +openair2/LAYER2/COPYING +openair2/LAYER2/layer2_top.c +openair2/LAYER2/openair2_proc.c +openair2/LAYER2/register.c +openair2/LAYER2/register.h +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h +openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest +openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c +openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c +openair2/NAS/DRIVER/CELLULAR/readme.txt +openair2/NAS/DRIVER/CELLULAR/start_mt_cellular +openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_noradvd +openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_radvd +openair2/NAS/DRIVER/CELLULAR/stop_mt_cellular +openair2/NAS/DRIVER/CELLULAR/stop_rg_cellular +openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h +openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c +openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c +openair2/NAS/nas_ue_task.h +openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c +openair2/NETWORK_DRIVER/LITE/classifier.c +openair2/NETWORK_DRIVER/LITE/common.c +openair2/NETWORK_DRIVER/LITE/constant.h +openair2/NETWORK_DRIVER/LITE/COPYING +openair2/NETWORK_DRIVER/LITE/device.c +openair2/NETWORK_DRIVER/LITE/ioctl.c +openair2/NETWORK_DRIVER/LITE/ioctl.h +openair2/NETWORK_DRIVER/LITE/local.h +openair2/NETWORK_DRIVER/LITE/netlink.c +openair2/NETWORK_DRIVER/LITE/proto_extern.h +openair2/NETWORK_DRIVER/LITE/sap.h +openair2/NETWORK_DRIVER/LITE/tool.c +openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c +openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c +openair2/NETWORK_DRIVER/MESH/classifier.c +openair2/NETWORK_DRIVER/MESH/common.c +openair2/NETWORK_DRIVER/MESH/constant.h +openair2/NETWORK_DRIVER/MESH/COPYING +openair2/NETWORK_DRIVER/MESH/device.c +openair2/NETWORK_DRIVER/MESH/ioctl.c +openair2/NETWORK_DRIVER/MESH/ioctl.h +openair2/NETWORK_DRIVER/MESH/local.h +openair2/NETWORK_DRIVER/MESH/mesh.c +openair2/NETWORK_DRIVER/MESH/netlink.c +openair2/NETWORK_DRIVER/MESH/proto_extern.h +openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h +openair2/NETWORK_DRIVER/MESH/sap.h +openair2/NETWORK_DRIVER/MESH/tool.c +openair2/NETWORK_DRIVER/UE_IP/common.c +openair2/NETWORK_DRIVER/UE_IP/constant.h +openair2/NETWORK_DRIVER/UE_IP/COPYING +openair2/NETWORK_DRIVER/UE_IP/device.c +openair2/NETWORK_DRIVER/UE_IP/local.h +openair2/NETWORK_DRIVER/UE_IP/netlink.c +openair2/NETWORK_DRIVER/UE_IP/proto_extern.h +openair2/NETWORK_DRIVER/UE_IP/README +openair2/NETWORK_DRIVER/UE_IP/sap.h +openair2/PHY_INTERFACE/COPYING +openair2/PHY_INTERFACE/defs.h +openair2/PHY_INTERFACE/extern.h +openair2/PHY_INTERFACE/mac_phy_primitives.c +openair2/PHY_INTERFACE/mac_phy_primitives.h +openair2/PHY_INTERFACE/vars.h +openair2/RRC/L2_INTERFACE/COPYING +openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c +openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-860.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-a20.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl +openair2/RRC/LITE/MESSAGES/asn1_msg.c +openair2/RRC/LITE/MESSAGES/asn1_msg.h +openair2/RRC/LITE/MESSAGES/asn1_patch +openair2/RRC/LITE/MESSAGES/bsearch.c +openair2/RRC/LITE/MESSAGES/bsearch.h +openair2/RRC/LITE/MESSAGES/COPYING +openair2/RRC/LITE/MESSAGES/README.txt +openair2/RRC/LITE/MESSAGES/rtai_mem.c +openair2/RRC/LITE/MESSAGES/rtai_mem.h +openair2/RRC/LITE/COPYING +openair2/RRC/LITE/defs.h +openair2/RRC/LITE/extern.h +openair2/RRC/LITE/L2_interface.c +openair2/RRC/LITE/mesh_top.c +openair2/RRC/LITE/plmn_data.h +openair2/RRC/LITE/proto.h +openair2/RRC/LITE/rrc_2_rrm_msg.c +openair2/RRC/LITE/rrc_common.c +openair2/RRC/LITE/rrc_config.c +openair2/RRC/LITE/rrc_eNB.c +openair2/RRC/LITE/rrc_eNB_GTPV1U.c +openair2/RRC/LITE/rrc_eNB_GTPV1U.h +openair2/RRC/LITE/rrc_eNB_ral.c +openair2/RRC/LITE/rrc_eNB_ral.h +openair2/RRC/LITE/rrc_eNB_S1AP.c +openair2/RRC/LITE/rrc_eNB_S1AP.h +openair2/RRC/LITE/rrc_eNB_UE_context.c +openair2/RRC/LITE/rrc_eNB_UE_context.h +openair2/RRC/LITE/rrc_rrm_interface.c +openair2/RRC/LITE/rrc_rrm_interface.h +openair2/RRC/LITE/rrc_types.h +openair2/RRC/LITE/rrc_UE.c +openair2/RRC/LITE/rrc_UE_ral.c +openair2/RRC/LITE/rrc_UE_ral.h +openair2/RRC/LITE/rrm_2_rrc_msg.c +openair2/RRC/LITE/utils.c +openair2/RRC/LITE/vars.h +openair2/RRC/NAS/COPYING +openair2/RRC/NAS/nas_config.c +openair2/RRC/NAS/nas_config.h +openair2/RRC/NAS/rb_config.c +openair2/RRC/NAS/rb_config.h +openair2/RRM_4_RRC_LITE/src/com/asn1/rrc-rrm.asn +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerConfirm.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerConfirm.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerRequest.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerRequest.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserConfirm.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserConfirm.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserRequest.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserRequest.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageConnectionRequest.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageConnectionRequest.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveRadioAccessBearerRequest.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveRadioAccessBearerRequest.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveUserRequest.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveUserRequest.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageUserReconfigurationComplete.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageUserReconfigurationComplete.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRCMessageHandler.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRCMessageHandler.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRCUdpSocket.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRCUdpSocket.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddRadioAccessBearerResponse.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddRadioAccessBearerResponse.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddUserResponse.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddUserResponse.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageConnectionResponse.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageConnectionResponse.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveRadioAccessBearerResponse.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveRadioAccessBearerResponse.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveUserResponse.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveUserResponse.h +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageUserReconfiguration.cpp +openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageUserReconfiguration.h +openair2/RRM_4_RRC_LITE/src/com/rrm/RRMMessageHandler.cpp +openair2/RRM_4_RRC_LITE/src/com/rrm/RRMMessageHandler.h +openair2/RRM_4_RRC_LITE/src/com/rrm/RRMUdpSocket.cpp +openair2/RRM_4_RRC_LITE/src/com/rrm/RRMUdpSocket.h +openair2/RRM_4_RRC_LITE/src/com/Message.cpp +openair2/RRM_4_RRC_LITE/src/com/Message.h +openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/36331-860.txt +openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/EUTRA-InterNodeDefinitions.asn +openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/EUTRA-RRC-Definitions.asn +openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/EUTRA-UE-Variables.asn +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libSockets.pc +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libSockets.pc.IN +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libsockets2.pc +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libsockets2.pc.IN +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/base64.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/chunked.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/copy.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/crlf.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/echoserver.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/events.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/http.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/http_post.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/httpd.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/httpd_test.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/https.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/json.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/listener.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/resolve.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/resume.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/retry.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/scanr.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/semtest.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/sloppy_http.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/sockets_test.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/stressclient.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/threadstress.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/x.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ajp13.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ajp13Socket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ajp13Socket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/AjpBaseSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/AjpBaseSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Base64.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Base64.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Changelog +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Debug.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Debug.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Event.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Event.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventHandler.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventHandler.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventTime.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventTime.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Exception.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Exception.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/File.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/File.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/FileStream.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/FileStream.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/gpl.txt +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpBaseSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpBaseSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpClientSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpClientSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdCookies.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdCookies.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpDebugSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpDebugSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdForm.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdForm.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpGetSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpGetSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPostSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPostSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPutSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPutSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpRequest.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpRequest.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpResponse.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpResponse.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HTTPSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HTTPSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpTransaction.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpTransaction.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IBase.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IEventHandler.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IEventOwner.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IEventOwner.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IFile.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IFileUpload.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IHttpServer.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IMutex.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv4Address.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv4Address.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv6Address.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv6Address.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ISocketHandler.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IStream.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Json.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Json.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ListenSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Lock.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Lock.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/MemFile.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/MemFile.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/mkdot.sh +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Mutex.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Mutex.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/OSX.zip +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Parse.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Parse.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/README +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/README.macosx +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvServer.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvServer.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SctpSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SctpSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Semaphore.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Semaphore.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SmtpdSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SmtpdSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Socket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Socket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/socket_include.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/socket_include.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketAddress.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandler.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandler.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerEp.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerEp.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerThread.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerThread.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Sockets-config +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Sockets-config.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/sockets-config.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketStream.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketStream.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketThread.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketThread.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SSLInitializer.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SSLInitializer.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StdLog.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StdoutLog.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StdoutLog.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamWriter.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamWriter.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/TcpSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/TcpSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Thread.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Thread.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/UdpSocket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/UdpSocket.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Utility.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Utility.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlDocument.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlDocument.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlException.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlException.h +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlNode.cpp +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlNode.h +openair2/RRM_4_RRC_LITE/src/foreign/sql/sqlite3.c +openair2/RRM_4_RRC_LITE/src/foreign/sql/sqlite3.h +openair2/RRM_4_RRC_LITE/src/foreign/tcpip/socket.cpp +openair2/RRM_4_RRC_LITE/src/foreign/tcpip/socket.h +openair2/RRM_4_RRC_LITE/src/foreign/tcpip/socketUnitTests.cpp +openair2/RRM_4_RRC_LITE/src/foreign/tcpip/storage.cpp +openair2/RRM_4_RRC_LITE/src/foreign/tcpip/storage.h +openair2/RRM_4_RRC_LITE/src/foreign/tcpip/tcpipUnitTests.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.h +openair2/RRM_4_RRC_LITE/src/radio_resources/Command.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/Command.h +openair2/RRM_4_RRC_LITE/src/radio_resources/COPYING +openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.h +openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.h +openair2/RRM_4_RRC_LITE/src/radio_resources/Exceptions.h +openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.h +openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.h +openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.h +openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.h +openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.h +openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.h +openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.cpp +openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.h +openair2/RRM_4_RRC_LITE/src/test/test.cpp +openair2/RRM_4_RRC_LITE/src/test/TestScenario.cpp +openair2/RRM_4_RRC_LITE/src/test/TestScenario.h +openair2/RRM_4_RRC_LITE/src/COPYING +openair2/RRM_4_RRC_LITE/src/platform.h +openair2/RRM_4_RRC_LITE/src/platform_constants.h +openair2/RRM_4_RRC_LITE/src/platform_defines.h +openair2/RRM_4_RRC_LITE/src/platform_dim.h +openair2/RRM_4_RRC_LITE/src/rrm.cpp +openair2/RRM_4_RRC_LITE/src/version.h +openair2/RRM_4_RRC_LITE/ChangeLog +openair2/RRM_4_RRC_LITE/configure.ac +openair2/RRM_4_RRC_LITE/COPYING +openair2/RRM_4_RRC_LITE/NEWS +openair2/RRM_4_RRC_LITE/README +openair2/UTIL/AT_COMMANDS/COPYING +openair2/UTIL/AT_COMMANDS/parser.c +openair2/UTIL/AT_COMMANDS/parser.h +openair2/UTIL/BIGPHYS/bigphys.c +openair2/UTIL/BIGPHYS/COPYING +openair2/UTIL/BIGPHYS/defs.h +openair2/UTIL/CLI/cli.c +openair2/UTIL/CLI/cli.h +openair2/UTIL/CLI/cli_cmd.c +openair2/UTIL/CLI/cli_if.h +openair2/UTIL/CLI/cli_server.c +openair2/UTIL/CLI/COPYING +openair2/UTIL/FIFO/COPYING +openair2/UTIL/FIFO/pad_list.c +openair2/UTIL/FIFO/pad_list.h +openair2/UTIL/FIFO/types.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c +openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt +openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln +openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj +openair2/UTIL/LISTS/COPYING +openair2/UTIL/LISTS/list.c +openair2/UTIL/LISTS/list.h +openair2/UTIL/LISTS/list2.c +openair2/UTIL/LOG/COPYING +openair2/UTIL/LOG/log.c +openair2/UTIL/LOG/log.h +openair2/UTIL/LOG/log_extern.h +openair2/UTIL/LOG/log_if.h +openair2/UTIL/LOG/README.txt +openair2/UTIL/LOG/vcd_signal_dumper.c +openair2/UTIL/LOG/vcd_signal_dumper.h +openair2/UTIL/MATH/COPYING +openair2/UTIL/MATH/crc_byte.c +openair2/UTIL/MATH/oml.c +openair2/UTIL/MATH/oml.h +openair2/UTIL/MATH/random.c +openair2/UTIL/MATH/random_proto_extern.h +openair2/UTIL/MATH/taus.c +openair2/UTIL/MEM/COPYING +openair2/UTIL/MEM/mem_block.c +openair2/UTIL/MEM/mem_block.h +openair2/UTIL/MEM/mem_mngt.c +openair2/UTIL/MEM/mem_mngt_proto_extern.h +openair2/UTIL/MEM/mem_pool.h +openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml +openair2/UTIL/OCG/temp_output/OCG_report.xml +openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml +openair2/UTIL/OCG/COPYING +openair2/UTIL/OCG/Doxyfile +openair2/UTIL/OCG/eurecom_20110208110244.xml +openair2/UTIL/OCG/OCG.c +openair2/UTIL/OCG/OCG.h +openair2/UTIL/OCG/OCG_call_emu.c +openair2/UTIL/OCG/OCG_call_emu.h +openair2/UTIL/OCG/OCG_config_mobi.c +openair2/UTIL/OCG/OCG_config_mobi.h +openair2/UTIL/OCG/OCG_create_dir.c +openair2/UTIL/OCG/OCG_create_dir.h +openair2/UTIL/OCG/OCG_detect_file.c +openair2/UTIL/OCG/OCG_detect_file.h +openair2/UTIL/OCG/OCG_extern.h +openair2/UTIL/OCG/OCG_generate_report.c +openair2/UTIL/OCG/OCG_generate_report.h +openair2/UTIL/OCG/OCG_get_opt.c +openair2/UTIL/OCG/OCG_get_opt.h +openair2/UTIL/OCG/OCG_if.h +openair2/UTIL/OCG/OCG_parse_filename.c +openair2/UTIL/OCG/OCG_parse_filename.h +openair2/UTIL/OCG/OCG_parse_XML.c +openair2/UTIL/OCG/OCG_parse_XML.h +openair2/UTIL/OCG/OCG_save_XML.c +openair2/UTIL/OCG/OCG_save_XML.h +openair2/UTIL/OCG/OCG_vars.h +openair2/UTIL/OCG/Readme.doxy +openair2/UTIL/OCG/readme.txt +openair2/UTIL/OMG/SUMO/SCENARIOS/scen.sumo.cfg +openair2/UTIL/OMG/SUMO/SCENARIOS/sumo_commands.txt +openair2/UTIL/OMG/SUMO/SCENARIOS/traci.scen.sumo.cfg +openair2/UTIL/OMG/SUMO/SCENARIOS/traci_ex_Map.net.xml +openair2/UTIL/OMG/SUMO/SCENARIOS/traci_ex_ROU.rou.xml +openair2/UTIL/OMG/SUMO/README.TXT +openair2/UTIL/OMG/TRACE/example_trace.tr +openair2/UTIL/OMG/TRACE/handover.tr +openair2/UTIL/OMG/TRACE/handover_1ue.tr +openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr +openair2/UTIL/OMG/TRACE/mobility_2ues.tr +openair2/UTIL/OMG/TRACE/mobility_3ues.tr +openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf +openair2/UTIL/OMG/TRACE/README.TXT +openair2/UTIL/OMG/TRACE/regular.tr +openair2/UTIL/OMG/TRACE/static_1enb.tr +openair2/UTIL/OMG/TRACE/static_2ues.tr +openair2/UTIL/OMG/TRACE/zero_speed.tr +openair2/UTIL/OMG/client_traci_OMG.c +openair2/UTIL/OMG/client_traci_OMG.h +openair2/UTIL/OMG/common.c +openair2/UTIL/OMG/COPYING +openair2/UTIL/OMG/defs.h +openair2/UTIL/OMG/grid.c +openair2/UTIL/OMG/grid.h +openair2/UTIL/OMG/id_manager.c +openair2/UTIL/OMG/id_manager.h +openair2/UTIL/OMG/job.c +openair2/UTIL/OMG/mobility.txt +openair2/UTIL/OMG/mobility_parser.c +openair2/UTIL/OMG/mobility_parser.h +openair2/UTIL/OMG/omg.c +openair2/UTIL/OMG/omg.h +openair2/UTIL/OMG/omg_constants.h +openair2/UTIL/OMG/omg_hashtable.c +openair2/UTIL/OMG/omg_hashtable.h +openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf +openair2/UTIL/OMG/omg_vars.h +openair2/UTIL/OMG/README.TXT +openair2/UTIL/OMG/rwalk.c +openair2/UTIL/OMG/rwalk.h +openair2/UTIL/OMG/rwp.c +openair2/UTIL/OMG/rwp.h +openair2/UTIL/OMG/socket_traci_OMG.c +openair2/UTIL/OMG/socket_traci_OMG.h +openair2/UTIL/OMG/static.c +openair2/UTIL/OMG/static.h +openair2/UTIL/OMG/steadystaterwp.c +openair2/UTIL/OMG/steadystaterwp.h +openair2/UTIL/OMG/storage_traci_OMG.c +openair2/UTIL/OMG/storage_traci_OMG.h +openair2/UTIL/OMG/sumo.c +openair2/UTIL/OMG/sumo.h +openair2/UTIL/OMG/trace.c +openair2/UTIL/OMG/trace.h +openair2/UTIL/OMG/trace_hashtable.c +openair2/UTIL/OMG/trace_hashtable.h +openair2/UTIL/OMG/TraCIConstants.h +openair2/UTIL/OMV/blue.png +openair2/UTIL/OMV/communicationthread.cpp +openair2/UTIL/OMV/communicationthread.h +openair2/UTIL/OMV/COPYING +openair2/UTIL/OMV/green.png +openair2/UTIL/OMV/jpg.jpeg +openair2/UTIL/OMV/mus.png +openair2/UTIL/OMV/mywindow.cpp +openair2/UTIL/OMV/mywindow.h +openair2/UTIL/OMV/new.jpg +openair2/UTIL/OMV/new2.jpg +openair2/UTIL/OMV/omv.cpp +openair2/UTIL/OMV/openglwidget.cpp +openair2/UTIL/OMV/openglwidget.h +openair2/UTIL/OMV/README.txt +openair2/UTIL/OMV/red.png +openair2/UTIL/OMV/structures.h +openair2/UTIL/OMV/white.png +openair2/UTIL/OMV/wow.png +openair2/UTIL/OPT/COPYING +openair2/UTIL/OPT/mac_pcap.h +openair2/UTIL/OPT/opt.h +openair2/UTIL/OPT/packet-mac-lte.c +openair2/UTIL/OPT/packet-mac-lte.h +openair2/UTIL/OPT/packet-rlc-lte.h +openair2/UTIL/OPT/probe.c +openair2/UTIL/OPT/README.txt +openair2/UTIL/OPT/socket_sender.c +openair2/UTIL/OPT/vars.h +openair2/UTIL/OSA/COPYING +openair2/UTIL/OSA/osa_defs.h +openair2/UTIL/OSA/osa_internal.h +openair2/UTIL/OSA/osa_key_deriver.c +openair2/UTIL/OSA/osa_rijndael.c +openair2/UTIL/OSA/osa_rijndael.h +openair2/UTIL/OSA/osa_snow3g.c +openair2/UTIL/OSA/osa_snow3g.h +openair2/UTIL/OSA/osa_stream_eea.c +openair2/UTIL/OSA/osa_stream_eia.c +openair2/UTIL/OSA/README +openair2/UTIL/OSD/css/images/false.png +openair2/UTIL/OSD/css/images/false2.png +openair2/UTIL/OSD/css/images/lquote.png +openair2/UTIL/OSD/css/images/true.png +openair2/UTIL/OSD/css/images/warning.png +openair2/UTIL/OSD/css/blueprint.css +openair2/UTIL/OSD/css/fix-ie-rtl.css +openair2/UTIL/OSD/css/fix-ie.css +openair2/UTIL/OSD/css/ie.css +openair2/UTIL/OSD/css/ie6.css +openair2/UTIL/OSD/css/print.css +openair2/UTIL/OSD/css/screen.css +openair2/UTIL/OSD/css/style.css +openair2/UTIL/OSD/jquery/jquery.js +openair2/UTIL/OSD/COPYING +openair2/UTIL/OSD/fake_oaisim +openair2/UTIL/OSD/form.php +openair2/UTIL/OSD/header.php +openair2/UTIL/OSD/httpd-result.conf +openair2/UTIL/OSD/index.php +openair2/UTIL/OSD/OCG.pid +openair2/UTIL/OSD/OpenAirEmu.conf +openair2/UTIL/OSD/Platform_is_running.php +openair2/UTIL/OSD/README.txt +openair2/UTIL/OSD/recep.php +openair2/UTIL/OSD/toto.php +openair2/UTIL/OTG/COPYING +openair2/UTIL/OTG/Doxyfile +openair2/UTIL/OTG/help_OTGplot.txt +openair2/UTIL/OTG/main.c +openair2/UTIL/OTG/otg.c +openair2/UTIL/OTG/otg.h +openair2/UTIL/OTG/otg_config.h +openair2/UTIL/OTG/otg_defs.h +openair2/UTIL/OTG/otg_externs.h +openair2/UTIL/OTG/otg_form.c +openair2/UTIL/OTG/otg_form.h +openair2/UTIL/OTG/otg_kpi.c +openair2/UTIL/OTG/otg_kpi.h +openair2/UTIL/OTG/otg_models.c +openair2/UTIL/OTG/otg_models.h +openair2/UTIL/OTG/otg_rx.c +openair2/UTIL/OTG/otg_rx.h +openair2/UTIL/OTG/otg_rx_socket.c +openair2/UTIL/OTG/otg_rx_socket.h +openair2/UTIL/OTG/otg_tx.c +openair2/UTIL/OTG/otg_tx.h +openair2/UTIL/OTG/otg_tx_socket.c +openair2/UTIL/OTG/otg_tx_socket.h +openair2/UTIL/OTG/otg_vars.h +openair2/UTIL/OTG/OTGplot +openair2/UTIL/OTG/traffic_config.h +openair2/UTIL/SCTP/COPYING +openair2/UTIL/TIMER/COPYING +openair2/UTIL/TIMER/umts_timer.c +openair2/UTIL/TIMER/umts_timer.h +openair2/UTIL/TIMER/umts_timer_proto_extern.h +openair2/UTIL/TIMER/umts_timer_struct.h +openair2/UTIL/TRACE/COPYING +openair2/UTIL/TRACE/fifo_printf.c +openair2/UTIL/TRACE/fifo_printf.h +openair2/UTIL/TRACE/fifo_printf_proto_extern.h +openair2/UTIL/TRACE/print.h +openair2/UTIL/queue.h +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Definitions.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-CommonDataTypes.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Constants.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Containers.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-IEs.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Contents.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Descriptions.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU.asn +openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py +openair2/X2AP/COPYING +openair2/X2AP/x2ap.c +openair2/X2AP/x2ap.h +openair2/X2AP/x2ap_common.c +openair2/X2AP/x2ap_common.h +openair3/DOCS/DOXYGEN/Doxyfile +openair3/DOCS/TEMPLATES/CODE/images/arch.eps +openair3/DOCS/TEMPLATES/CODE/images/arch.png +openair3/DOCS/TEMPLATES/CODE/COPYING +openair3/DOCS/TEMPLATES/CODE/Doxyfile +openair3/DOCS/TEMPLATES/CODE/example_doxy.h +openair3/DOCS/TEMPLATES/README/Readme.doxy +openair3/DOCS/TEMPLATES/README/readme.txt +openair3/DOCS/COPYING +openair3/MESH/RRM/DOC/Doxyfile_rrm +openair3/MESH/RRM/EMUL/actdiff.c +openair3/MESH/RRM/EMUL/actdiff.h +openair3/MESH/RRM/EMUL/emul_interface.c +openair3/MESH/RRM/EMUL/emul_interface.h +openair3/MESH/RRM/EMUL/scenario.c +openair3/MESH/RRM/GRAPH/graph +openair3/MESH/RRM/GRAPH/graph_enum.h +openair3/MESH/RRM/GRAPH/graph_int.c +openair3/MESH/RRM/GRAPH/graph_int.h +openair3/MESH/RRM/GRAPH/graph_sock.c +openair3/MESH/RRM/GRAPH/graph_sock.h +openair3/MESH/RRM/VCD/Config_wave.xxx +openair3/MESH/RRM/VCD/gtkwave.ini +openair3/MESH/RRM/VCD/mkvcd +openair3/MESH/RRM/all_freq_to_users_form.c +openair3/MESH/RRM/all_freq_to_users_form.fd +openair3/MESH/RRM/all_freq_to_users_form.h +openair3/MESH/RRM/ch_init.c +openair3/MESH/RRM/ch_init.h +openair3/MESH/RRM/channels_db.c +openair3/MESH/RRM/channels_db.h +openair3/MESH/RRM/cmm_msg.c +openair3/MESH/RRM/cmm_msg.h +openair3/MESH/RRM/debug.h +openair3/MESH/RRM/freq_ass_op.c +openair3/MESH/RRM/freq_ass_op.h +openair3/MESH/RRM/ip_msg.c +openair3/MESH/RRM/ip_msg.h +openair3/MESH/RRM/mr_attach.c +openair3/MESH/RRM/mr_attach.h +openair3/MESH/RRM/msg_mngt.c +openair3/MESH/RRM/msg_mngt.h +openair3/MESH/RRM/neighbor_db.c +openair3/MESH/RRM/neighbor_db.h +openair3/MESH/RRM/pusu_msg.c +openair3/MESH/RRM/pusu_msg.h +openair3/MESH/RRM/rb_db.c +openair3/MESH/RRM/rb_db.h +openair3/MESH/RRM/rb_mngt.c +openair3/MESH/RRM/rb_mngt.h +openair3/MESH/RRM/rrc_2_rrm_msg.c +openair3/MESH/RRM/rrc_rrm_msg.h +openair3/MESH/RRM/rrm.c +openair3/MESH/RRM/rrm.cfg +openair3/MESH/RRM/rrm.h +openair3/MESH/RRM/rrm.sh +openair3/MESH/RRM/rrm_2_rrc_msg.c +openair3/MESH/RRM/rrm_2_sensing_msg.c +openair3/MESH/RRM/rrm_5nodes.sh +openair3/MESH/RRM/rrm_constant.c +openair3/MESH/RRM/rrm_constant.h +openair3/MESH/RRM/rrm_graph.c +openair3/MESH/RRM/rrm_SENS.sh +openair3/MESH/RRM/rrm_sock.c +openair3/MESH/RRM/rrm_sock.h +openair3/MESH/RRM/rrm_SS2_CH1.sh +openair3/MESH/RRM/rrm_SS2_global.sh +openair3/MESH/RRM/rrm_test.sh +openair3/MESH/RRM/rrm_util.c +openair3/MESH/RRM/rrm_util.h +openair3/MESH/RRM/sens_CH1_scen_2.c +openair3/MESH/RRM/sens_CH1_scen_2.fd +openair3/MESH/RRM/sens_CH1_scen_2.h +openair3/MESH/RRM/sens_db.c +openair3/MESH/RRM/sens_db.h +openair3/MESH/RRM/sens_op.c +openair3/MESH/RRM/sens_op.h +openair3/MESH/RRM/sens_scen_2_form.c +openair3/MESH/RRM/sens_scen_2_form.fd +openair3/MESH/RRM/sens_scen_2_form.h +openair3/MESH/RRM/sens_sensor.c +openair3/MESH/RRM/sens_sensor.fd +openair3/MESH/RRM/sens_sensor.h +openair3/MESH/RRM/sensing_2_rrm_msg.c +openair3/MESH/RRM/sensing_form.c +openair3/MESH/RRM/sensing_form.fd +openair3/MESH/RRM/sensing_form.h +openair3/MESH/RRM/sensing_rrm_msg.h +openair3/MESH/RRM/SN_freq_form.c +openair3/MESH/RRM/SN_freq_form.fd +openair3/MESH/RRM/SN_freq_form.h +openair3/MESH/RRM/transact.c +openair3/MESH/RRM/transact.h +openair3/MESH/cmm_ral_interface.h +openair3/MESH/cmm_rrm_interface.h +openair3/MESH/COPYING +openair3/MESH/L3_rrc_defs.h +openair3/MESH/L3_rrc_interface.h +openair3/NEMO_SHO/COPYING +openair3/NEMO_SHO/mipv6-daemon-umip-0.4-nasmesh-2009-may-12.patch +openair3/NEMO_SHO/mipv6-daemon-umip-0.4-nepl-20080108.patch +openair3/NEMO_SHO/mipv6-daemon-umip-0.4-nepl-mcoa-20080108.patch +openair3/NEMO_SHO/mipv6-daemon-umip-0.4-sho-20080331.patch +openair3/NEMO_SHO/mipv6-daemon-umip-0.4.tar.gz +openair3/NEMO_SHO/README +openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/output.0 +openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/output.1 +openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/requests +openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/traces.0 +openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/traces.1 +openair3/PMIPv6/freeradius-client-1.1.6/debian/changelog +openair3/PMIPv6/freeradius-client-1.1.6/debian/conffiles +openair3/PMIPv6/freeradius-client-1.1.6/debian/control +openair3/PMIPv6/freeradius-client-1.1.6/debian/copyright +openair3/PMIPv6/freeradius-client-1.1.6/debian/dirs +openair3/PMIPv6/freeradius-client-1.1.6/debian/docs +openair3/PMIPv6/freeradius-client-1.1.6/debian/examples +openair3/PMIPv6/freeradius-client-1.1.6/debian/files +openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng-dev.dirs +openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.conffiles +openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.dirs +openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.postinst +openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.substvars +openair3/PMIPv6/freeradius-client-1.1.6/debian/postrm +openair3/PMIPv6/freeradius-client-1.1.6/debian/radiusclient-ng.dirs +openair3/PMIPv6/freeradius-client-1.1.6/debian/radiusclient-ng.postinst +openair3/PMIPv6/freeradius-client-1.1.6/debian/README.debian +openair3/PMIPv6/freeradius-client-1.1.6/debian/rules +openair3/PMIPv6/freeradius-client-1.1.6/debian/substvars +openair3/PMIPv6/freeradius-client-1.1.6/debian/watch +openair3/PMIPv6/freeradius-client-1.1.6/doc/ChangeLog +openair3/PMIPv6/freeradius-client-1.1.6/doc/instop.html +openair3/PMIPv6/freeradius-client-1.1.6/doc/login.example +openair3/PMIPv6/freeradius-client-1.1.6/doc/README +openair3/PMIPv6/freeradius-client-1.1.6/doc/release-method.txt +openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary +openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.ascend +openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.compat +openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.merit +openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.sip +openair3/PMIPv6/freeradius-client-1.1.6/etc/issue +openair3/PMIPv6/freeradius-client-1.1.6/etc/port-id-map +openair3/PMIPv6/freeradius-client-1.1.6/etc/radiusclient.conf +openair3/PMIPv6/freeradius-client-1.1.6/etc/radiusclient.conf.in +openair3/PMIPv6/freeradius-client-1.1.6/etc/servers +openair3/PMIPv6/freeradius-client-1.1.6/examples/clients.conf +openair3/PMIPv6/freeradius-client-1.1.6/examples/radiusd.conf +openair3/PMIPv6/freeradius-client-1.1.6/examples/users +openair3/PMIPv6/freeradius-client-1.1.6/include/freeradius-client.h +openair3/PMIPv6/freeradius-client-1.1.6/include/includes.h +openair3/PMIPv6/freeradius-client-1.1.6/include/messages.h +openair3/PMIPv6/freeradius-client-1.1.6/include/pathnames.h +openair3/PMIPv6/freeradius-client-1.1.6/lib/avpair.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/buildreq.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/clientid.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/config.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/dict.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/env.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/ip_util.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/lock.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/log.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/md5.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/md5.h +openair3/PMIPv6/freeradius-client-1.1.6/lib/options.h +openair3/PMIPv6/freeradius-client-1.1.6/lib/sendserver.c +openair3/PMIPv6/freeradius-client-1.1.6/lib/util.c +openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/ip-down +openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/ip-up +openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/login.radius +openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/README +openair3/PMIPv6/freeradius-client-1.1.6/login.radius/login.radius +openair3/PMIPv6/freeradius-client-1.1.6/login.radius/README +openair3/PMIPv6/freeradius-client-1.1.6/patches/merit-2.4.21-CHAP.diff +openair3/PMIPv6/freeradius-client-1.1.6/patches/radiusd-1.16.accounting.diff +openair3/PMIPv6/freeradius-client-1.1.6/patches/radiusd-1.16.shadow.diff +openair3/PMIPv6/freeradius-client-1.1.6/patches/README +openair3/PMIPv6/freeradius-client-1.1.6/rpm/radiusclient.spec +openair3/PMIPv6/freeradius-client-1.1.6/src/local.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radacct +openair3/PMIPv6/freeradius-client-1.1.6/src/radacct.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radembedded +openair3/PMIPv6/freeradius-client-1.1.6/src/radembedded.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radexample +openair3/PMIPv6/freeradius-client-1.1.6/src/radexample.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radius.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radiusclient +openair3/PMIPv6/freeradius-client-1.1.6/src/radiusclient.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radlogin +openair3/PMIPv6/freeradius-client-1.1.6/src/radlogin.c +openair3/PMIPv6/freeradius-client-1.1.6/src/radlogin.h +openair3/PMIPv6/freeradius-client-1.1.6/src/radstatus +openair3/PMIPv6/freeradius-client-1.1.6/src/radstatus.c +openair3/PMIPv6/freeradius-client-1.1.6/aclocal.m4 +openair3/PMIPv6/freeradius-client-1.1.6/BUGS +openair3/PMIPv6/freeradius-client-1.1.6/config.guess +openair3/PMIPv6/freeradius-client-1.1.6/config.h +openair3/PMIPv6/freeradius-client-1.1.6/config.h.in +openair3/PMIPv6/freeradius-client-1.1.6/config.log +openair3/PMIPv6/freeradius-client-1.1.6/config.status +openair3/PMIPv6/freeradius-client-1.1.6/config.sub +openair3/PMIPv6/freeradius-client-1.1.6/configure +openair3/PMIPv6/freeradius-client-1.1.6/configure.in +openair3/PMIPv6/freeradius-client-1.1.6/COPYRIGHT +openair3/PMIPv6/freeradius-client-1.1.6/depcomp +openair3/PMIPv6/freeradius-client-1.1.6/install-sh +openair3/PMIPv6/freeradius-client-1.1.6/libtool +openair3/PMIPv6/freeradius-client-1.1.6/ltmain.sh +openair3/PMIPv6/freeradius-client-1.1.6/missing +openair3/PMIPv6/freeradius-client-1.1.6/mkinstalldirs +openair3/PMIPv6/freeradius-client-1.1.6/README +openair3/PMIPv6/freeradius-client-1.1.6/README.radexample +openair3/PMIPv6/freeradius-client-1.1.6/stamp-h +openair3/PMIPv6/freeradius-client-1.1.6/stamp-h1 +openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pcap2msc +openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pcap2msc_check.py +openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pcap2msc_filter.py +openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pmip_mscgen.sh +openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/lma_guest_setup.bash +openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/lma_vm_setup.bash +openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mag_guest_setup.bash +openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mag_vm_setup.bash +openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mn_guest_setup.bash +openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mn_vm_setup.bash +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-cn.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-ha-lma.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-ha.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-lma.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-mag1.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-mag2.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-mn.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-nemo-ha.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/example-nemo-mn.conf +openair3/PMIPv6/pmipv6-daemon-umip/extras/mac-mapping.auth +openair3/PMIPv6/pmipv6-daemon-umip/extras/PMIPv6_schema_example_1LMA_2MRs.jpg +openair3/PMIPv6/pmipv6-daemon-umip/extras/UMIP0.4_ALL_UBUNTU_GEN_SEQ_DIAGRAM.10.04.sh +openair3/PMIPv6/pmipv6-daemon-umip/extras/UMIP0.4_LMA_UBUNTU.10.04.py +openair3/PMIPv6/pmipv6-daemon-umip/extras/UMIP0.4_MAG_UBUNTU.10.04.py +openair3/PMIPv6/pmipv6-daemon-umip/include/linux/xfrm.h +openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/icmp6.h +openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/in.h +openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/ip6.h +openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/ip6mh.h +openair3/PMIPv6/pmipv6-daemon-umip/include/libnetlink.h +openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_opt_find.c +openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_add.c +openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_getaddr.c +openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_gettype.c +openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_init.c +openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_space.c +openair3/PMIPv6/pmipv6-daemon-umip/libnetlink/libnetlink.c +openair3/PMIPv6/pmipv6-daemon-umip/libnetlink/README +openair3/PMIPv6/pmipv6-daemon-umip/licenses/cisco-ipr-draft-ietf-nemo-basic-support-03.txt +openair3/PMIPv6/pmipv6-daemon-umip/licenses/nokia-ipr-draft-ietf-nemo-basic-support.txt +openair3/PMIPv6/pmipv6-daemon-umip/man/mip6d.conf.tmpl +openair3/PMIPv6/pmipv6-daemon-umip/man/mip6d.tmpl +openair3/PMIPv6/pmipv6-daemon-umip/man/mipv6.tmpl +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/docs/Doxyfile +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/docs/footer.html +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_cache.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_cache.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_consts.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_fsm.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_fsm.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_handler.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_handler.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_hnp_cache.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_hnp_cache.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_init.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_init.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_lma_proc.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_lma_proc.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_mag_proc.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_mag_proc.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_msgs.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_msgs.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_pcap.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_pcap.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_tunnel.c +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_tunnel.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_types.h +openair3/PMIPv6/pmipv6-daemon-umip/src/bcache.c +openair3/PMIPv6/pmipv6-daemon-umip/src/bcache.h +openair3/PMIPv6/pmipv6-daemon-umip/src/bul.c +openair3/PMIPv6/pmipv6-daemon-umip/src/bul.h +openair3/PMIPv6/pmipv6-daemon-umip/src/cn.c +openair3/PMIPv6/pmipv6-daemon-umip/src/cn.h +openair3/PMIPv6/pmipv6-daemon-umip/src/conf.c +openair3/PMIPv6/pmipv6-daemon-umip/src/conf.h +openair3/PMIPv6/pmipv6-daemon-umip/src/crypto.c +openair3/PMIPv6/pmipv6-daemon-umip/src/crypto.h +openair3/PMIPv6/pmipv6-daemon-umip/src/debug.c +openair3/PMIPv6/pmipv6-daemon-umip/src/debug.h +openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_ha.c +openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_ha.h +openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_mn.c +openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_mn.h +openair3/PMIPv6/pmipv6-daemon-umip/src/gram.y +openair3/PMIPv6/pmipv6-daemon-umip/src/ha.c +openair3/PMIPv6/pmipv6-daemon-umip/src/ha.h +openair3/PMIPv6/pmipv6-daemon-umip/src/hash.c +openair3/PMIPv6/pmipv6-daemon-umip/src/hash.h +openair3/PMIPv6/pmipv6-daemon-umip/src/icmp6.c +openair3/PMIPv6/pmipv6-daemon-umip/src/icmp6.h +openair3/PMIPv6/pmipv6-daemon-umip/src/ipsec.c +openair3/PMIPv6/pmipv6-daemon-umip/src/ipsec.h +openair3/PMIPv6/pmipv6-daemon-umip/src/keygen.c +openair3/PMIPv6/pmipv6-daemon-umip/src/keygen.h +openair3/PMIPv6/pmipv6-daemon-umip/src/list.h +openair3/PMIPv6/pmipv6-daemon-umip/src/main.c +openair3/PMIPv6/pmipv6-daemon-umip/src/mh.c +openair3/PMIPv6/pmipv6-daemon-umip/src/mh.h +openair3/PMIPv6/pmipv6-daemon-umip/src/mipv6.h +openair3/PMIPv6/pmipv6-daemon-umip/src/mk-pmgr_c.sh +openair3/PMIPv6/pmipv6-daemon-umip/src/mk-pmgr_h.sh +openair3/PMIPv6/pmipv6-daemon-umip/src/mn.c +openair3/PMIPv6/pmipv6-daemon-umip/src/mn.h +openair3/PMIPv6/pmipv6-daemon-umip/src/movement.c +openair3/PMIPv6/pmipv6-daemon-umip/src/movement.h +openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_ha.c +openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_ha.h +openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_mn.c +openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_mn.h +openair3/PMIPv6/pmipv6-daemon-umip/src/ndisc.c +openair3/PMIPv6/pmipv6-daemon-umip/src/ndisc.h +openair3/PMIPv6/pmipv6-daemon-umip/src/pmgr.c.in +openair3/PMIPv6/pmipv6-daemon-umip/src/pmgr.h.in +openair3/PMIPv6/pmipv6-daemon-umip/src/policy.c +openair3/PMIPv6/pmipv6-daemon-umip/src/policy.h +openair3/PMIPv6/pmipv6-daemon-umip/src/prefix.c +openair3/PMIPv6/pmipv6-daemon-umip/src/prefix.h +openair3/PMIPv6/pmipv6-daemon-umip/src/proc_sys.c +openair3/PMIPv6/pmipv6-daemon-umip/src/proc_sys.h +openair3/PMIPv6/pmipv6-daemon-umip/src/retrout.c +openair3/PMIPv6/pmipv6-daemon-umip/src/retrout.h +openair3/PMIPv6/pmipv6-daemon-umip/src/rtnl.c +openair3/PMIPv6/pmipv6-daemon-umip/src/rtnl.h +openair3/PMIPv6/pmipv6-daemon-umip/src/scan.l +openair3/PMIPv6/pmipv6-daemon-umip/src/statistics.h +openair3/PMIPv6/pmipv6-daemon-umip/src/tqueue.c +openair3/PMIPv6/pmipv6-daemon-umip/src/tqueue.h +openair3/PMIPv6/pmipv6-daemon-umip/src/tunnelctl.c +openair3/PMIPv6/pmipv6-daemon-umip/src/tunnelctl.h +openair3/PMIPv6/pmipv6-daemon-umip/src/util.c +openair3/PMIPv6/pmipv6-daemon-umip/src/util.h +openair3/PMIPv6/pmipv6-daemon-umip/src/vars.c +openair3/PMIPv6/pmipv6-daemon-umip/src/vt.c +openair3/PMIPv6/pmipv6-daemon-umip/src/vt.h +openair3/PMIPv6/pmipv6-daemon-umip/src/xfrm.c +openair3/PMIPv6/pmipv6-daemon-umip/src/xfrm.h +openair3/PMIPv6/pmipv6-daemon-umip/AUTHORS +openair3/PMIPv6/pmipv6-daemon-umip/BUGS +openair3/PMIPv6/pmipv6-daemon-umip/ChangeLog +openair3/PMIPv6/pmipv6-daemon-umip/chkconf_kernel.sh +openair3/PMIPv6/pmipv6-daemon-umip/configure.ac +openair3/PMIPv6/pmipv6-daemon-umip/COPYING +openair3/PMIPv6/pmipv6-daemon-umip/COPYING.NEMO +openair3/PMIPv6/pmipv6-daemon-umip/depcomp +openair3/PMIPv6/pmipv6-daemon-umip/INSTALL +openair3/PMIPv6/pmipv6-daemon-umip/install-sh +openair3/PMIPv6/pmipv6-daemon-umip/INSTALL.kernel +openair3/PMIPv6/pmipv6-daemon-umip/missing +openair3/PMIPv6/pmipv6-daemon-umip/NEWS +openair3/PMIPv6/pmipv6-daemon-umip/README +openair3/PMIPv6/pmipv6-daemon-umip/README.IPsec +openair3/PMIPv6/pmipv6-daemon-umip/README.NEMO +openair3/PMIPv6/pmipv6-daemon-umip/THANKS +openair3/PMIPv6/AUTHORS +openair3/PMIPv6/BUGS +openair3/PMIPv6/CHANGELOG +openair3/PMIPv6/chkconf_kernel.sh +openair3/PMIPv6/COPYING +openair3/PMIPv6/INSTALL +openair3/PMIPv6/INSTALL.kernel +openair3/PMIPv6/README.first +openair3/PMIPv6/VERSION +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_bit_buffer.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F13_data_types_for_information_elements_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F1_basic_data_types_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F2_general_data_types_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F3_data_types_for_address_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F4_data_types_for_links_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F9_data_types_for_qos_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_header_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_L2_type_values_for_tlv_encoding.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_log.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_Medieval_extensions.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_msg_codec.c +openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_primitive_codec.c +openair3/RAL-LTE/INTERFACE-802.21/DOXYGEN/Doxyfile +openair3/RAL-LTE/INTERFACE-802.21/DOXYGEN/footer.html +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_bit_buffer.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F13_data_types_for_information_elements_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F1_basic_data_types_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F2_general_data_types_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F3_data_types_for_address_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F4_data_types_for_links_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F9_data_types_for_qos_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_header_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_L2_type_values_for_tlv_encoding.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Link_Constants.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Link_Messages.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Link_Primitives.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_log.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Medieval_extensions.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_msg_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_primitive_codec.h +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Types.h +openair3/RAL-LTE/INTERFACE-802.21/readme.txt +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_action.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_constants.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_main.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_mih_msg.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_parameters.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_process.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_proto.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_rrc_msg.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_subscribe.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_thresholds.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_variables.h +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/rrc_d_types.h +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/dist/eNB_lte_user.conf +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/dist/link_sap.conf +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/dist/odtone.conf +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/dummy_130606.tgz +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/eNB_lte_user.conf +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/Jamfile +openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/rg_mih_usr.cpp +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_action.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_ioctl.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_main.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_mih_msg.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_parameters.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_process.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_rrc_msg.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_subscribe.c +openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_thresholds.c +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_action.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_constants.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_main.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_mih_execute.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_mih_msg.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_parameters.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_proto.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_rrc_msg.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_subscribe.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_thresholds.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_variables.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/nas_ue_ioctl.h +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/rrc_d_types.h +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/dist/link_sap.conf +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/dist/lte_user.conf +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/dist/odtone.conf +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/Jamfile +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/lte_user.conf +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/mih_usr.cpp +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/README.txt +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/ue_lte_user.conf +openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/ue_lte_user.cpp +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_action.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_ioctl.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_main.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_mih_execute.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_mih_msg.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_parameters.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_process.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_rrc_msg.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_subscribe.c +openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_thresholds.c +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_0.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_1.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_10.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_11.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_12.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_2.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_3.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_4.png +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_usr.cpp +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/README.txt +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/rg_mih_usr.cpp +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/sendUDP-01 +openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/sendUDP-FF +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_action.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_constants.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_mih_msg.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_parameters.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_proto.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_subscribe.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_thresholds.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_variables.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_action.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_constants.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_get.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_main.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_mih_msg.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_parameters.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_proto.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_subscribe.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_thresholds.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_variables.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nas_rg_netlink.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nas_ue_ioctl.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nas_ue_netlink.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nasUE_config.h +openair3/RAL-LTE/RAL-DUMMY/INCLUDE/rrc_d_types.h +openair3/RAL-LTE/RAL-DUMMY/MSCGEN_CHART/msc_gen.py +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_action.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_main.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_mih_msg.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_NAS.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_parameters.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_process.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_subscribe.c +openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_thresholds.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_action.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_get.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_main.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_mih_msg.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_NAS.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_parameters.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_process.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_subscribe.c +openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_thresholds.c +openair3/RAL-LTE/RAL-DUMMY/SRC/nasRGdummy.c +openair3/RAL-LTE/RAL-DUMMY/SRC/nasUEdummy.c +openair3/RAL-LTE/COPYING +openair3/RAL-LTE/RAL-LTE.readme.txt +openair3/UTILS/GPSDRIVE/maps/expedia/map_27650000_43.847_7.448.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.282_1.989.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.501_2.111.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.502_2.113.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.516_2.087.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.735_7.421.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.883_7.355.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.912_7.516.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.923_7.527.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_47400_41.282_1.989.gif +openair3/UTILS/GPSDRIVE/maps/expedia/map_98750_41.516_2.088.gif +openair3/UTILS/GPSDRIVE/maps/map_koord.txt +openair3/UTILS/GPSDRIVE/README.txt +openair3/UTILS/REMSERIAL-1.4.UDP/README.txt +openair3/UTILS/REMSERIAL-1.4.UDP/remserial.c +openair3/UTILS/REMSERIAL-1.4.UDP/stty.c +openair3/UTILS/COPYING +openair3/COPYING +openair3/history.txt +openairITS/mac/DOT11/compat/scripts/compat_firmware_install +openairITS/mac/DOT11/compat/scripts/gen-compat-autoconf.sh +openairITS/mac/DOT11/compat/scripts/gen-compat-config.sh +openairITS/mac/DOT11/compat/scripts/skip-colors +openairITS/mac/DOT11/compat/compat-2.6.14.c +openairITS/mac/DOT11/compat/compat-2.6.18.c +openairITS/mac/DOT11/compat/compat-2.6.19.c +openairITS/mac/DOT11/compat/compat-2.6.21.c +openairITS/mac/DOT11/compat/compat-2.6.22.c +openairITS/mac/DOT11/compat/compat-2.6.23.c +openairITS/mac/DOT11/compat/compat-2.6.24.c +openairITS/mac/DOT11/compat/compat-2.6.25.c +openairITS/mac/DOT11/compat/compat-2.6.26.c +openairITS/mac/DOT11/compat/compat-2.6.27.c +openairITS/mac/DOT11/compat/compat-2.6.28.c +openairITS/mac/DOT11/compat/compat-2.6.29.c +openairITS/mac/DOT11/compat/compat-2.6.32.c +openairITS/mac/DOT11/compat/compat-2.6.33.c +openairITS/mac/DOT11/compat/compat-2.6.35.c +openairITS/mac/DOT11/compat/compat-2.6.36.c +openairITS/mac/DOT11/compat/compat-2.6.37.c +openairITS/mac/DOT11/compat/compat-2.6.38.c +openairITS/mac/DOT11/compat/compat-2.6.39.c +openairITS/mac/DOT11/compat/compat-3.0.c +openairITS/mac/DOT11/compat/compat-3.2.c +openairITS/mac/DOT11/compat/compat-3.3.c +openairITS/mac/DOT11/compat/compat-3.5.c +openairITS/mac/DOT11/compat/compat_atomic.c +openairITS/mac/DOT11/compat/compat_firmware_class.c +openairITS/mac/DOT11/compat/cordic.c +openairITS/mac/DOT11/compat/crc8.c +openairITS/mac/DOT11/compat/kfifo.c +openairITS/mac/DOT11/compat/kstrtox.c +openairITS/mac/DOT11/compat/main.c +openairITS/mac/DOT11/compat/modules.order +openairITS/mac/DOT11/compat/pm_qos_params.c +openairITS/mac/DOT11/include/crypto/aes.h +openairITS/mac/DOT11/include/linux/bcma/bcma.h +openairITS/mac/DOT11/include/linux/bcma/bcma_driver_chipcommon.h +openairITS/mac/DOT11/include/linux/bcma/bcma_driver_mips.h +openairITS/mac/DOT11/include/linux/bcma/bcma_driver_pci.h +openairITS/mac/DOT11/include/linux/bcma/bcma_regs.h +openairITS/mac/DOT11/include/linux/bcma/bcma_soc.h +openairITS/mac/DOT11/include/linux/spi/libertas_spi.h +openairITS/mac/DOT11/include/linux/ssb/ssb.h +openairITS/mac/DOT11/include/linux/ssb/ssb_driver_chipcommon.h +openairITS/mac/DOT11/include/linux/ssb/ssb_driver_extif.h +openairITS/mac/DOT11/include/linux/ssb/ssb_driver_gige.h +openairITS/mac/DOT11/include/linux/ssb/ssb_driver_mips.h +openairITS/mac/DOT11/include/linux/ssb/ssb_driver_pci.h +openairITS/mac/DOT11/include/linux/ssb/ssb_embedded.h +openairITS/mac/DOT11/include/linux/ssb/ssb_regs.h +openairITS/mac/DOT11/include/linux/unaligned/access_ok.h +openairITS/mac/DOT11/include/linux/unaligned/be_byteshift.h +openairITS/mac/DOT11/include/linux/unaligned/be_memmove.h +openairITS/mac/DOT11/include/linux/unaligned/be_struct.h +openairITS/mac/DOT11/include/linux/unaligned/generic.h +openairITS/mac/DOT11/include/linux/unaligned/le_byteshift.h +openairITS/mac/DOT11/include/linux/unaligned/le_memmove.h +openairITS/mac/DOT11/include/linux/unaligned/le_struct.h +openairITS/mac/DOT11/include/linux/unaligned/memmove.h +openairITS/mac/DOT11/include/linux/unaligned/packed_struct.h +openairITS/mac/DOT11/include/linux/usb/rndis_host.h +openairITS/mac/DOT11/include/linux/usb/usbnet.h +openairITS/mac/DOT11/include/linux/ath9k_platform.h +openairITS/mac/DOT11/include/linux/atomic.h +openairITS/mac/DOT11/include/linux/average.h +openairITS/mac/DOT11/include/linux/bitops.h +openairITS/mac/DOT11/include/linux/compat-2.6.14.h +openairITS/mac/DOT11/include/linux/compat-2.6.18.h +openairITS/mac/DOT11/include/linux/compat-2.6.19.h +openairITS/mac/DOT11/include/linux/compat-2.6.20.h +openairITS/mac/DOT11/include/linux/compat-2.6.21.h +openairITS/mac/DOT11/include/linux/compat-2.6.22.h +openairITS/mac/DOT11/include/linux/compat-2.6.23.h +openairITS/mac/DOT11/include/linux/compat-2.6.24.h +openairITS/mac/DOT11/include/linux/compat-2.6.25.h +openairITS/mac/DOT11/include/linux/compat-2.6.26.h +openairITS/mac/DOT11/include/linux/compat-2.6.27.h +openairITS/mac/DOT11/include/linux/compat-2.6.28.h +openairITS/mac/DOT11/include/linux/compat-2.6.29.h +openairITS/mac/DOT11/include/linux/compat-2.6.30.h +openairITS/mac/DOT11/include/linux/compat-2.6.31.h +openairITS/mac/DOT11/include/linux/compat-2.6.32.h +openairITS/mac/DOT11/include/linux/compat-2.6.33.h +openairITS/mac/DOT11/include/linux/compat-2.6.34.h +openairITS/mac/DOT11/include/linux/compat-2.6.35.h +openairITS/mac/DOT11/include/linux/compat-2.6.36.h +openairITS/mac/DOT11/include/linux/compat-2.6.37.h +openairITS/mac/DOT11/include/linux/compat-2.6.38.h +openairITS/mac/DOT11/include/linux/compat-2.6.39.h +openairITS/mac/DOT11/include/linux/compat-2.6.h +openairITS/mac/DOT11/include/linux/compat-3.0.h +openairITS/mac/DOT11/include/linux/compat-3.1.h +openairITS/mac/DOT11/include/linux/compat-3.2.h +openairITS/mac/DOT11/include/linux/compat-3.3.h +openairITS/mac/DOT11/include/linux/compat-3.4.h +openairITS/mac/DOT11/include/linux/compat-3.5.h +openairITS/mac/DOT11/include/linux/compat_autoconf.h +openairITS/mac/DOT11/include/linux/cordic.h +openairITS/mac/DOT11/include/linux/crc8.h +openairITS/mac/DOT11/include/linux/eeprom_93cx6.h +openairITS/mac/DOT11/include/linux/export.h +openairITS/mac/DOT11/include/linux/ieee80211.h +openairITS/mac/DOT11/include/linux/kfifo.h +openairITS/mac/DOT11/include/linux/math64.h +openairITS/mac/DOT11/include/linux/nl80211.h +openairITS/mac/DOT11/include/linux/of.h +openairITS/mac/DOT11/include/linux/pci-aspm.h +openairITS/mac/DOT11/include/linux/pci_ids.h +openairITS/mac/DOT11/include/linux/pm_qos.h +openairITS/mac/DOT11/include/linux/pm_qos_params.h +openairITS/mac/DOT11/include/linux/pm_runtime.h +openairITS/mac/DOT11/include/linux/printk.h +openairITS/mac/DOT11/include/linux/rfkill.h +openairITS/mac/DOT11/include/linux/rfkill_backport.h +openairITS/mac/DOT11/include/linux/semaphore.h +openairITS/mac/DOT11/include/linux/tracepoint.h +openairITS/mac/DOT11/include/linux/wireless.h +openairITS/mac/DOT11/include/linux/wl12xx.h +openairITS/mac/DOT11/include/N/pcmcia/cistpl.h +openairITS/mac/DOT11/include/N/trace/define_trace.h +openairITS/mac/DOT11/include/net/cfg80211-wext.h +openairITS/mac/DOT11/include/net/cfg80211.h +openairITS/mac/DOT11/include/net/ieee80211_radiotap.h +openairITS/mac/DOT11/include/net/lib80211.h +openairITS/mac/DOT11/include/net/mac80211.h +openairITS/mac/DOT11/include/net/net_namespace.h +openairITS/mac/DOT11/include/net/regulatory.h +openairITS/mac/DOT11/net/mac80211/aes_ccm.c +openairITS/mac/DOT11/net/mac80211/aes_ccm.h +openairITS/mac/DOT11/net/mac80211/aes_cmac.c +openairITS/mac/DOT11/net/mac80211/aes_cmac.h +openairITS/mac/DOT11/net/mac80211/agg-rx.c +openairITS/mac/DOT11/net/mac80211/agg-tx.c +openairITS/mac/DOT11/net/mac80211/cfg.c +openairITS/mac/DOT11/net/mac80211/cfg.h +openairITS/mac/DOT11/net/mac80211/chan.c +openairITS/mac/DOT11/net/mac80211/debugfs.c +openairITS/mac/DOT11/net/mac80211/debugfs.h +openairITS/mac/DOT11/net/mac80211/debugfs_key.c +openairITS/mac/DOT11/net/mac80211/debugfs_key.h +openairITS/mac/DOT11/net/mac80211/debugfs_netdev.c +openairITS/mac/DOT11/net/mac80211/debugfs_netdev.h +openairITS/mac/DOT11/net/mac80211/debugfs_sta.c +openairITS/mac/DOT11/net/mac80211/debugfs_sta.h +openairITS/mac/DOT11/net/mac80211/driver-ops.h +openairITS/mac/DOT11/net/mac80211/driver-trace.c +openairITS/mac/DOT11/net/mac80211/driver-trace.h +openairITS/mac/DOT11/net/mac80211/event.c +openairITS/mac/DOT11/net/mac80211/ht.c +openairITS/mac/DOT11/net/mac80211/ibss.c +openairITS/mac/DOT11/net/mac80211/ieee80211_i.h +openairITS/mac/DOT11/net/mac80211/iface.c +openairITS/mac/DOT11/net/mac80211/key.c +openairITS/mac/DOT11/net/mac80211/key.h +openairITS/mac/DOT11/net/mac80211/led.c +openairITS/mac/DOT11/net/mac80211/led.h +openairITS/mac/DOT11/net/mac80211/main.c +openairITS/mac/DOT11/net/mac80211/mesh.c +openairITS/mac/DOT11/net/mac80211/mesh.h +openairITS/mac/DOT11/net/mac80211/mesh_hwmp.c +openairITS/mac/DOT11/net/mac80211/mesh_pathtbl.c +openairITS/mac/DOT11/net/mac80211/mesh_plink.c +openairITS/mac/DOT11/net/mac80211/michael.c +openairITS/mac/DOT11/net/mac80211/michael.h +openairITS/mac/DOT11/net/mac80211/mlme.c +openairITS/mac/DOT11/net/mac80211/modules.order +openairITS/mac/DOT11/net/mac80211/offchannel.c +openairITS/mac/DOT11/net/mac80211/pm.c +openairITS/mac/DOT11/net/mac80211/rate.c +openairITS/mac/DOT11/net/mac80211/rate.h +openairITS/mac/DOT11/net/mac80211/rc80211_minstrel.c +openairITS/mac/DOT11/net/mac80211/rc80211_minstrel.h +openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_debugfs.c +openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_ht.c +openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_ht.h +openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_ht_debugfs.c +openairITS/mac/DOT11/net/mac80211/rc80211_pid.h +openairITS/mac/DOT11/net/mac80211/rc80211_pid_algo.c +openairITS/mac/DOT11/net/mac80211/rc80211_pid_debugfs.c +openairITS/mac/DOT11/net/mac80211/rx.c +openairITS/mac/DOT11/net/mac80211/scan.c +openairITS/mac/DOT11/net/mac80211/spectmgmt.c +openairITS/mac/DOT11/net/mac80211/sta_info.c +openairITS/mac/DOT11/net/mac80211/sta_info.h +openairITS/mac/DOT11/net/mac80211/status.c +openairITS/mac/DOT11/net/mac80211/tkip.c +openairITS/mac/DOT11/net/mac80211/tkip.h +openairITS/mac/DOT11/net/mac80211/tx.c +openairITS/mac/DOT11/net/mac80211/util.c +openairITS/mac/DOT11/net/mac80211/wep.c +openairITS/mac/DOT11/net/mac80211/wep.h +openairITS/mac/DOT11/net/mac80211/wme.c +openairITS/mac/DOT11/net/mac80211/wme.h +openairITS/mac/DOT11/net/mac80211/work.c +openairITS/mac/DOT11/net/mac80211/wpa.c +openairITS/mac/DOT11/net/mac80211/wpa.h +openairITS/mac/DOT11/net/wireless/chan.c +openairITS/mac/DOT11/net/wireless/core.c +openairITS/mac/DOT11/net/wireless/core.h +openairITS/mac/DOT11/net/wireless/db.txt +openairITS/mac/DOT11/net/wireless/debugfs.c +openairITS/mac/DOT11/net/wireless/debugfs.h +openairITS/mac/DOT11/net/wireless/ethtool.c +openairITS/mac/DOT11/net/wireless/ethtool.h +openairITS/mac/DOT11/net/wireless/genregdb.awk +openairITS/mac/DOT11/net/wireless/ibss.c +openairITS/mac/DOT11/net/wireless/lib80211.c +openairITS/mac/DOT11/net/wireless/lib80211_crypt_ccmp.c +openairITS/mac/DOT11/net/wireless/lib80211_crypt_tkip.c +openairITS/mac/DOT11/net/wireless/lib80211_crypt_wep.c +openairITS/mac/DOT11/net/wireless/mesh.c +openairITS/mac/DOT11/net/wireless/mlme.c +openairITS/mac/DOT11/net/wireless/modules.order +openairITS/mac/DOT11/net/wireless/nl80211.c +openairITS/mac/DOT11/net/wireless/nl80211.h +openairITS/mac/DOT11/net/wireless/radiotap.c +openairITS/mac/DOT11/net/wireless/reg.c +openairITS/mac/DOT11/net/wireless/reg.h +openairITS/mac/DOT11/net/wireless/regdb.h +openairITS/mac/DOT11/net/wireless/scan.c +openairITS/mac/DOT11/net/wireless/sme.c +openairITS/mac/DOT11/net/wireless/sysfs.c +openairITS/mac/DOT11/net/wireless/sysfs.h +openairITS/mac/DOT11/net/wireless/util.c +openairITS/mac/DOT11/net/wireless/wext-compat.c +openairITS/mac/DOT11/net/wireless/wext-compat.h +openairITS/mac/DOT11/net/wireless/wext-core.c +openairITS/mac/DOT11/net/wireless/wext-priv.c +openairITS/mac/DOT11/net/wireless/wext-proc.c +openairITS/mac/DOT11/net/wireless/wext-sme.c +openairITS/mac/DOT11/net/wireless/wext-spy.c +openairITS/mac/DOT11/scripts/admin-clean.sh +openairITS/mac/DOT11/scripts/admin-refresh.sh +openairITS/mac/DOT11/scripts/admin-update.sh +openairITS/mac/DOT11/scripts/alx-enable +openairITS/mac/DOT11/scripts/athenable +openairITS/mac/DOT11/scripts/athload +openairITS/mac/DOT11/scripts/b43enable +openairITS/mac/DOT11/scripts/b43load +openairITS/mac/DOT11/scripts/btunload.sh +openairITS/mac/DOT11/scripts/check_config.sh +openairITS/mac/DOT11/scripts/check_depmod +openairITS/mac/DOT11/scripts/compress_modules +openairITS/mac/DOT11/scripts/driver-select +openairITS/mac/DOT11/scripts/gen-compat-autoconf.sh +openairITS/mac/DOT11/scripts/gen-stable-release.sh +openairITS/mac/DOT11/scripts/iwl-enable +openairITS/mac/DOT11/scripts/iwl-load +openairITS/mac/DOT11/scripts/madwifi-unload +openairITS/mac/DOT11/scripts/modlib.sh +openairITS/mac/DOT11/scripts/skip-colors +openairITS/mac/DOT11/scripts/unload.sh +openairITS/mac/DOT11/scripts/update-initramfs +openairITS/mac/DOT11/scripts/wlunload.sh +openairITS/mac/DOT11/code-metrics.txt +openairITS/mac/DOT11/compat_base_tree +openairITS/mac/DOT11/compat_base_tree_version +openairITS/mac/DOT11/compat_version +openairITS/mac/DOT11/config.mk +openairITS/mac/DOT11/COPYRIGHT +openairITS/mac/DOT11/MAINTAINERS +openairITS/mac/DOT11/README +openairITS/phy/DOT11/commonvars.h +openairITS/phy/DOT11/crc32.c +openairITS/phy/DOT11/data_detection.c +openairITS/phy/DOT11/defs.h +openairITS/phy/DOT11/generate_STSLTS_corr.m +openairITS/phy/DOT11/initial_sync.c +openairITS/phy/DOT11/interleaver.c +openairITS/phy/DOT11/phy_tx_start.c +openairITS/phy/DOT11/scrambler.c +openairITS/phy/DOT11/STS_LTS_F.h +openairITS/phy/DOT11/txvars.h +openairITS/phy/DRIVERS/ieee80211p-driver.c +openairITS/phy/DRIVERS/ieee80211p-driver.h +openairITS/phy/DRIVERS/ieee80211p-netlinkapi.c +openairITS/phy/DRIVERS/ieee80211p-netlinkapi.h +openairITS/phy/DRIVERS/ieee80211p-softmodem.c +openairITS/phy/SIMULATION/PER_PLOTS/errors_0_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_0_256.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_1_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_1_256.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_2_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_2_256.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_3_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_3_256.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_4_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_4_256.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_5_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/errors_5_256.m +openairITS/phy/SIMULATION/PER_PLOTS/plots.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_0_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_0_256.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_1_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_1_256.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_2_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_2_256.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_3_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_3_256.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_4_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_4_256.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_5_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_5_256.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_0_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_0_256.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_1_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_1_256.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_2_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_2_256.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_3_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_3_256.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_4_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_4_256.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_5_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/SNR_5_256.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_0_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_0_256.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_1_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_1_256.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_2_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_2_256.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_3_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_3_256.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_4_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_4_256.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_5_1024.m +openairITS/phy/SIMULATION/PER_PLOTS/trials_5_256.m +openairITS/phy/SIMULATION/dot11sim.c +openairITS/ieee80211p_compile_modules.sh +openairITS/ieee80211p_configure_interface.sh +openairITS/ieee80211p_insert_modules.sh +openairITS/ieee80211p_setup_vars.sh +svn2git/authors.txt +svn2git/authors_original.txt +svn2git/authors_original_java_output.txt +svn2git/check_diff_author.sh +svn2git/git-author-rewrite.sh +svn2git/README.txt +targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c +targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h +targets/ARCH/COMMON/common_lib.h +targets/ARCH/COMMON/COPYING +targets/ARCH/ETHERNET/USERSPACE/LIB/COPYING +targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c +targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk +targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd +targets/ARCH/EXMIMO/BITSTREAM/program_fpga +targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd +targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd +targets/ARCH/EXMIMO/DEFS/COPYING +targets/ARCH/EXMIMO/DEFS/openair_device.h +targets/ARCH/EXMIMO/DEFS/pcie_interface.h +targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/COPYING +targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h +targets/ARCH/EXMIMO/DRIVER/eurecom/do_reenumerate_expressmimo.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/do_reinsert_driver.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c +targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h +targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c +targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c +targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c +targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/COPYING +targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reenumerate_expressmimo.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reinsert_driver.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/test_script.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h +targets/ARCH/EXMIMO/DRIVER/telecomparistech/COPYING +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c +targets/ARCH/EXMIMO/DRIVER/readme.txt +targets/ARCH/EXMIMO/USERSPACE/LIB/COPYING +targets/ARCH/EXMIMO/USERSPACE/LIB/example.c +targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c +targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h +targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c +targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/COPYING +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo1 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/COPYING +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m +targets/ARCH/USRP/USERSPACE/LIB/COPYING +targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +targets/COMMON/COPYING +targets/COMMON/create_tasks.c +targets/COMMON/create_tasks.h +targets/DOCS/images/oai_logo.png +targets/DOCS/api_icic.xml +targets/DOCS/Doxyfile +targets/DOCS/oaiemu.doc +targets/DOCS/oaisim_walkthrough.pdf +targets/DOCS/openair_header.tex +targets/DOCS/path_loss_oaisim.xlsx +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/COPYING +targets/PROJECTS/E-MBMS/build_all.bash +targets/PROJECTS/E-MBMS/enb.conf +targets/PROJECTS/E-MBMS/start_enb.bash +targets/PROJECTS/E-MBMS/start_ue.bash +targets/PROJECTS/E-MBMS/utils.bash +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.centos.nord.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.pft.memphis.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/epc.generic.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/epc.on.enb.example.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.epc_eur.local.exmimo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml +targets/PROJECTS/GENERIC-LTE-EPC/COPYING +targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash +targets/PROJECTS/GENERIC-LTE-EPC/networks.bash +targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash +targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash +targets/PROJECTS/GENERIC-LTE-EPC/utils.bash +targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash +targets/PROJECTS/LOCALIZATION/filesave0811.mat +targets/PROJECTS/LOCALIZATION/generation.m +targets/PROJECTS/LOCALIZATION/initial_sync.m +targets/PROJECTS/LOCALIZATION/initparams.m +targets/PROJECTS/LOCALIZATION/plots.m +targets/PROJECTS/LOCALIZATION/recup.m +targets/PROJECTS/LOCALIZATION/where2.m +targets/PROJECTS/LOCALIZATION/where2_v1_final.mat +targets/PROJECTS/LOCALIZATION/where2_vf.m +targets/PROJECTS/TDDREC/v0/alterproj.m +targets/PROJECTS/TDDREC/v0/beamforming.m +targets/PROJECTS/TDDREC/v0/calibration.m +targets/PROJECTS/TDDREC/v0/genorthqpskseq.m +targets/PROJECTS/TDDREC/v0/genrandpskseq.m +targets/PROJECTS/TDDREC/v0/initparams.m +targets/PROJECTS/TDDREC/v0/initparams2.m +targets/PROJECTS/TDDREC/v0/ofdm_mod.m +targets/PROJECTS/TDDREC/v0/readme.txt +targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m +targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m +targets/PROJECTS/TDDREC/v0/runmeas_mimo.m +targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m +targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m +targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m +targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m +targets/PROJECTS/TDDREC/f_ch_est.m +targets/PROJECTS/TDDREC/f_ofdm_mod.m +targets/PROJECTS/TDDREC/f_ofdm_rx.m +targets/PROJECTS/TDDREC/f_ofdm_tx.m +targets/PROJECTS/TDDREC/f_tls_ap.m +targets/PROJECTS/TDDREC/f_tls_diag.m +targets/PROJECTS/TDDREC/f_tls_svd.m +targets/PROJECTS/TDDREC/s_beamforming.m +targets/PROJECTS/TDDREC/s_calib.m +targets/PROJECTS/TDDREC/s_draw_F.m +targets/PROJECTS/TDDREC/s_init_params.m +targets/PROJECTS/TDDREC/s_run_meas.m +targets/PROJECTS/COPYING +targets/RT/LAUNCH_SCRIPTS/load_module.sh +targets/RT/LAUNCH_SCRIPTS/nas_enb.sh +targets/RT/LAUNCH_SCRIPTS/nas_ue.sh +targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh +targets/RT/LAUNCH_SCRIPTS/start_emos.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh +targets/RT/LAUNCH_SCRIPTS/start_rf.sh +targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh +targets/RT/LAUNCH_SCRIPTS/start_ue.sh +targets/RT/LAUNCH_SCRIPTS/start_ue2.sh +targets/RT/LAUNCH_SCRIPTS/stop_rf.sh +targets/RT/USER/TOOLS/thread_ipc.c +targets/RT/USER/TOOLS/thread_ipc.h +targets/RT/USER/condtest.c +targets/RT/USER/COPYING +targets/RT/USER/dot11.c +targets/RT/USER/emos-raw.c +targets/RT/USER/eNB.gtkw +targets/RT/USER/eNB_exmimo2.gtkw +targets/RT/USER/exmimo2_2arxg.lime +targets/RT/USER/exmimo2_2brxg.lime +targets/RT/USER/ieee80211p-softmodem.c +targets/RT/USER/init_b200.sh +targets/RT/USER/init_exmimo.sh +targets/RT/USER/init_exmimo2.sh +targets/RT/USER/init_rtai.sh +targets/RT/USER/lte-softmodem.c +targets/RT/USER/lte-ue.c +targets/RT/USER/make_for_usrp.sh +targets/RT/USER/msg_helper.c +targets/RT/USER/msg_many.c +targets/RT/USER/msg_many.h +targets/RT/USER/rrh.c +targets/RT/USER/rt_wrapper.c +targets/RT/USER/rt_wrapper.h +targets/RT/USER/sched_dlsch.c +targets/RT/USER/sched_rx_pdsch.c +targets/RT/USER/sched_ulsch.c +targets/RT/USER/sleeptest.c +targets/RT/USER/stats.c +targets/RT/USER/stats.fd +targets/RT/USER/stats.h +targets/RT/USER/synctest.c +targets/RT/USER/ue_exmimo2.gtkw +targets/SCRIPTS/PROFILING/gprof2dot.py +targets/SCRIPTS/PROFILING/profoai.sh +targets/SCRIPTS/asn1_generate_rrc_messaging_c_code.bash +targets/SCRIPTS/install_asn1.sh +targets/SCRIPTS/install_asn1c_0.9.24.modified.bash +targets/SCRIPTS/msc_gen.py +targets/SCRIPTS/svn-merge-meld.py +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_ue +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/AT_serial_bouchon.py +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb_v2 +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue_cx2android +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue1 +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue2 +targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_26.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml +targets/SIMU/EXAMPLES/OSD/README.txt +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_multi_UE_nas +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_two_UE_PHY_nas +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB_OAI_LITE/start_one_eNB_multi_UE_nas +targets/SIMU/PROC/SCRIPT/Run.py +targets/SIMU/PROC/channel_sim_proc.c +targets/SIMU/PROC/channel_sim_proc.h +targets/SIMU/PROC/COPYING +targets/SIMU/PROC/interface.h +targets/SIMU/PROC/Process.c +targets/SIMU/PROC/Process.h +targets/SIMU/PROC/Tsync.h +targets/SIMU/USER/files/MI_16qam.csv +targets/SIMU/USER/files/MI_16qam.txt +targets/SIMU/USER/files/MI_4qam.csv +targets/SIMU/USER/files/MI_4qam.txt +targets/SIMU/USER/files/MI_64qam.csv +targets/SIMU/USER/files/MI_64qam.txt +targets/SIMU/USER/channel_sim.c +targets/SIMU/USER/COPYING +targets/SIMU/USER/cor_SF_sim.c +targets/SIMU/USER/cor_SF_sim.h +targets/SIMU/USER/event_handler.c +targets/SIMU/USER/event_handler.h +targets/SIMU/USER/init_lte.c +targets/SIMU/USER/init_lte.h +targets/SIMU/USER/oaisim.c +targets/SIMU/USER/oaisim.h +targets/SIMU/USER/oaisim_config.c +targets/SIMU/USER/oaisim_config.h +targets/SIMU/USER/oaisim_functions.c +targets/SIMU/USER/oaisim_functions.h +targets/SIMU/USER/oaisim_pad.c +targets/SIMU/USER/phy_procedures_sim_form.c +targets/SIMU/USER/phy_procedures_sim_form.fd +targets/SIMU/USER/phy_procedures_sim_form.h +targets/SIMU/USER/plot_results.m +targets/SIMU/USER/sinr_sim.c +targets/SIMU/USER/threadpool.c +targets/SIMU/USER/threadpool.h +targets/SIMU/USER/valgrind.sh +targets/TEST/AT_COMMANDS/oaisim.c +targets/TEST/OAI/case01.py +targets/TEST/OAI/case02.py +targets/TEST/OAI/case03.py +targets/TEST/OAI/case04.py +targets/TEST/OAI/case05.py +targets/TEST/OAI/case11.py +targets/TEST/OAI/case12.py +targets/TEST/OAI/case13.py +targets/TEST/OAI/core.py +targets/TEST/OAI/log.py +targets/TEST/OAI/openair.py +targets/TEST/OAI/README +targets/TEST/OAI/test01.py +targets/TEST/OAI/test02.py +targets/TEST/PACKET_TRACER/messages/Msg4.txt +targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt +targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt +targets/TEST/PACKET_TRACER/messages/sib1.txt +targets/TEST/PACKET_TRACER/messages/sib2.txt +targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt +targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt +targets/TEST/PACKET_TRACER/messages/sib3.txt +targets/TEST/PACKET_TRACER/pt.c +targets/TEST/PACKET_TRACER/README.txt +targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt +targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c +targets/TEST/PDCP/readme.txt +targets/TEST/PDCP/test_pdcp.c +targets/TEST/PDCP/test_pdcp.h +targets/TEST/PDCP/test_util.h +targets/TEST/PDCP/todo.txt +targets/TEST/RLC_AM_V9.3.0/oaisim.c +targets/TEST/RLC_UM_V9.3.0/oaisim.c +targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp +targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp +targets/TEST/ROHDE_SCHWARZ/TcpClient.h +targets/build_helper.bash +targets/build_oai.bash +targets/COPYING +targets/itti_vcd_tasks.sav +targets/Makerules +targets/perf_oai.bash +targets/README.txt +COPYING +maketags +oaienv +README.txt \ No newline at end of file diff --git a/oai5g_development.includes b/oai5g_development.includes new file mode 100644 index 0000000000..1fbdd1b648 --- /dev/null +++ b/oai5g_development.includes @@ -0,0 +1,182 @@ +common/utils +common/utils/collection +common/utils/collection/hashtable +common/utils/itti +common/utils/itti_analyzer/common +common/utils/itti_analyzer/libbuffers +common/utils/itti_analyzer/libparser +common/utils/itti_analyzer/libresolver +common/utils/itti_analyzer/libui +common/utils/msc +openair-cn/COMMON +openair-cn/GTPV1-U +openair-cn/GTPV1-U/GTPUAH +openair-cn/GTPV1-U/nw-gtpv1u/include +openair-cn/GTPV1-U/nw-gtpv1u/shared +openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld +openair-cn/GTPV2-C/nwgtpv2c-0.11/include +openair-cn/GTPV2-C/nwgtpv2c-0.11/shared +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping +openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld +openair-cn/INTERTASK_INTERFACE +openair-cn/MME_APP +openair-cn/NAS +openair-cn/NAS/EURECOM-NAS/src +openair-cn/NAS/EURECOM-NAS/src/api/mme +openair-cn/NAS/EURECOM-NAS/src/api/network +openair-cn/NAS/EURECOM-NAS/src/api/user +openair-cn/NAS/EURECOM-NAS/src/api/usim +openair-cn/NAS/EURECOM-NAS/src/emm +openair-cn/NAS/EURECOM-NAS/src/emm/msg +openair-cn/NAS/EURECOM-NAS/src/emm/sap +openair-cn/NAS/EURECOM-NAS/src/esm +openair-cn/NAS/EURECOM-NAS/src/esm/msg +openair-cn/NAS/EURECOM-NAS/src/esm/sap +openair-cn/NAS/EURECOM-NAS/src/ies +openair-cn/NAS/EURECOM-NAS/src/include +openair-cn/NAS/EURECOM-NAS/src/util +openair-cn/NAS/EURECOM-NAS/tools +openair-cn/NAS/EURECOM-NAS/tst/as_simulator +openair-cn/NAS/EURECOM-NAS/tst/network +openair-cn/NAS/EURECOM-NAS/tst/user +openair-cn/OAI_EPC +openair-cn/OAI_SGW +openair-cn/OAISIM_MME +openair-cn/OPENAIRHSS/access_restriction +openair-cn/OPENAIRHSS/auc +openair-cn/OPENAIRHSS/db +openair-cn/OPENAIRHSS/s6a +openair-cn/OPENAIRHSS/tests +openair-cn/OPENAIRHSS/utils +openair-cn/S11 +openair-cn/S1AP +openair-cn/S6A +openair-cn/SCTP +openair-cn/SECU +openair-cn/SGW-LITE +openair-cn/TEST +openair-cn/UDP +openair-cn/UTILS +openair-cn/UTILS/HASHTABLE +openair1/MAC_INTERFACE +openair1/PHY +openair1/PHY/CODING +openair1/PHY/INIT +openair1/PHY/LTE_ESTIMATION +openair1/PHY/LTE_REFSIG +openair1/PHY/LTE_TRANSPORT +openair1/PHY/MODULATION +openair1/PHY/TOOLS +openair1/SCHED +openair1/SIMULATION/ETH_TRANSPORT +openair1/SIMULATION/LTE_PHY +openair1/SIMULATION/RF +openair1/SIMULATION/TOOLS +openair2/COMMON +openair2/DOCS/TEMPLATES/CODE +openair2/ENB_APP +openair2/LAYER2 +openair2/LAYER2/MAC +openair2/LAYER2/PDCP_v10.1.0 +openair2/LAYER2/RLC +openair2/LAYER2/RLC/AM_v9.3.0 +openair2/LAYER2/RLC/TM_v9.3.0 +openair2/LAYER2/RLC/UM_v9.3.0 +openair2/NAS +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL +openair2/NAS/DRIVER/CELLULAR/NASMT +openair2/NAS/DRIVER/CELLULAR/NASRG +openair2/NAS/SIMU_CELLULAR +openair2/NETWORK_DRIVER/LITE +openair2/NETWORK_DRIVER/MESH +openair2/NETWORK_DRIVER/UE_IP +openair2/PHY_INTERFACE +openair2/RRC/L2_INTERFACE +openair2/RRC/LITE +openair2/RRC/LITE/MESSAGES +openair2/RRC/NAS +openair2/RRM_4_RRC_LITE/src +openair2/RRM_4_RRC_LITE/src/com +openair2/RRM_4_RRC_LITE/src/com/rrc +openair2/RRM_4_RRC_LITE/src/com/rrm +openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4 +openair2/RRM_4_RRC_LITE/src/foreign/sql +openair2/RRM_4_RRC_LITE/src/foreign/tcpip +openair2/RRM_4_RRC_LITE/src/radio_resources +openair2/RRM_4_RRC_LITE/src/test +openair2/UTIL +openair2/UTIL/AT_COMMANDS +openair2/UTIL/BIGPHYS +openair2/UTIL/CLI +openair2/UTIL/FIFO +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack +openair2/UTIL/LFDS/liblfds6.1.1/test/src +openair2/UTIL/LISTS +openair2/UTIL/LOG +openair2/UTIL/MATH +openair2/UTIL/MEM +openair2/UTIL/OCG +openair2/UTIL/OMG +openair2/UTIL/OMV +openair2/UTIL/OPT +openair2/UTIL/OSA +openair2/UTIL/OTG +openair2/UTIL/TIMER +openair2/UTIL/TRACE +openair2/X2AP +openair3/DOCS/TEMPLATES/CODE +openair3/MESH +openair3/MESH/RRM +openair3/MESH/RRM/EMUL +openair3/MESH/RRM/GRAPH +openair3/PMIPv6/freeradius-client-1.1.6 +openair3/PMIPv6/freeradius-client-1.1.6/include +openair3/PMIPv6/freeradius-client-1.1.6/lib +openair3/PMIPv6/freeradius-client-1.1.6/src +openair3/PMIPv6/pmipv6-daemon-umip/include +openair3/PMIPv6/pmipv6-daemon-umip/include/linux +openair3/PMIPv6/pmipv6-daemon-umip/include/netinet +openair3/PMIPv6/pmipv6-daemon-umip/src +openair3/PMIPv6/pmipv6-daemon-umip/src/pmip +openair3/RAL-LTE/INTERFACE-802.21/INCLUDE +openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE +openair3/RAL-LTE/LTE_RAL_UE/INCLUDE +openair3/RAL-LTE/RAL-DUMMY/INCLUDE +openairITS/mac/DOT11/include/crypto +openairITS/mac/DOT11/include/linux +openairITS/mac/DOT11/include/linux/bcma +openairITS/mac/DOT11/include/linux/spi +openairITS/mac/DOT11/include/linux/ssb +openairITS/mac/DOT11/include/linux/unaligned +openairITS/mac/DOT11/include/linux/usb +openairITS/mac/DOT11/include/N/pcmcia +openairITS/mac/DOT11/include/N/trace +openairITS/mac/DOT11/include/net +openairITS/mac/DOT11/net/mac80211 +openairITS/mac/DOT11/net/wireless +openairITS/phy/DOT11 +openairITS/phy/DRIVERS +targets/ARCH/BLADERF/USERSPACE/LIB +targets/ARCH/COMMON +targets/ARCH/ETHERNET/USERSPACE/LIB +targets/ARCH/EXMIMO/DEFS +targets/ARCH/EXMIMO/DRIVER/eurecom +targets/ARCH/EXMIMO/DRIVER/exmimo3 +targets/ARCH/EXMIMO/DRIVER/telecomparistech +targets/ARCH/EXMIMO/USERSPACE/LIB +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT +targets/COMMON +targets/RT/USER +targets/RT/USER/TOOLS +targets/SIMU/PROC +targets/SIMU/USER +targets/TEST/PDCP +targets/TEST/ROHDE_SCHWARZ \ No newline at end of file From 930e5364e91815e5611401033b8e9a6cc26f2e01 Mon Sep 17 00:00:00 2001 From: kogo Date: Wed, 26 Jul 2017 18:13:31 +0200 Subject: [PATCH 003/109] SIB23 reads successfullt from config file -- done testing --- openair2/ENB_APP/enb_config.c | 8 +++++--- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 13 +++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 39c181319a..328b320666 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -2485,8 +2485,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, ue_TransmissionMode); break; } - - setting_br13 = config_setting_get_member(setting_enb, ENB_CONFIG_STRING_BR); +#ifdef Rel14 + setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); if (setting_br13 != NULL) { int hyperSFN_r13; @@ -2704,11 +2704,13 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { else RRC_CONFIGURATION_REQ(msg_p).prach_ConfigCommon_v1310[j] = TRUE; } - else +#endif + else RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; } } + setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); if (setting_srb1 != NULL) { diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 01c95845d6..3cc3932616 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -540,7 +540,6 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 = configuration->si_WindowLength_BR_r13[CC_id]; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 = configuration->si_RepetitionPattern_r13[CC_id]; // 0 @@ -587,15 +586,14 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 - = configuration->si_HoppingConfigCommon_r13[CC_id]; + + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 = configuration->si_HoppingConfigCommon_r13[CC_id]; if (configuration->si_ValidityTime_r13[CC_id]) { sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); - *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 - = *configuration->si_ValidityTime_r13[CC_id]; + *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = *configuration->si_ValidityTime_r13[CC_id]; } else sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; @@ -650,6 +648,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, { sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } else { @@ -920,7 +919,8 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->rach_maxHARQ_Msg3Tx[CC_id]) { (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); - *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = configuration->rach_maxHARQ_Msg3Tx[CC_id]; // to be re-initialized when we find the enum + *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = *configuration->preambleTransMax_CE_r13[CC_id]; // to be re-initialized when we find the enum + printf("[KOGO][DEBUGGING]: preamble trans max: %ld\n", *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13); } else (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; @@ -1076,6 +1076,7 @@ uint8_t do_SIB23(uint8_t Mod_id, { (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = configuration->mpdcch_startSF_CSS_RA_r13_val[CC_id]; + printf("[KOGO][DEBUGGING]: mpdcch start SF RA r13 val: %ld\n", (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13); } else { From 1d8833c743480b8a83628f29132f2c9916853d08 Mon Sep 17 00:00:00 2001 From: kogo Date: Wed, 26 Jul 2017 19:52:00 +0200 Subject: [PATCH 004/109] updated SIB1 ,, added BR option --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 523 +++++++++++++------------- openair2/RRC/LITE/MESSAGES/asn1_msg.h | 8 +- 2 files changed, 278 insertions(+), 253 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 3cc3932616..e594b8b0e8 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -288,7 +288,10 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich } uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, - int Mod_id,int CC_id + int Mod_id,int CC_id +#ifdef Rel14 + , BOOLEAN_t brOption +#endif #if defined(ENABLE_ITTI) , RrcConfigurationReq *configuration #endif @@ -302,10 +305,21 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, SchedulingInfo_t schedulingInfo; SIB_Type_t sib_type; - uint8_t *buffer = carrier->SIB1; + uint8_t *buffer; BCCH_DL_SCH_Message_t *bcch_message = &carrier->siblock1; - SystemInformationBlockType1_BR_r13_t **sib1_br = &carrier->sib1; - + SystemInformationBlockType1_BR_r13_t **sib1_br; +#ifdef Rel14 + if(brOption) + { + buffer = carrier->SIB1_BR; + sib1_br = &carrier->sib1_BR; + } + else +#endif + { + buffer = carrier->SIB1; + sib1_br = &carrier->sib1; + } memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_t)); bcch_message->message.present = BCCH_DL_SCH_MessageType_PR_c1; @@ -455,318 +469,323 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, (*sib1_br)->si_WindowLength = SystemInformationBlockType1__si_WindowLength_ms20; (*sib1_br)->systemInfoValueTag = 0; - (*sib1_br)->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v890_IEs_t)); + (*sib1_br)->nonCriticalExtension = NULL; +#ifdef Rel14 + if(brOption) + { + (*sib1_br)->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v890_IEs_t)); - SystemInformationBlockType1_v890_IEs_t *sib1_br_890 = (*sib1_br)->nonCriticalExtension; - sib1_br_890->lateNonCriticalExtension = NULL; - sib1_br_890->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v920_IEs_t)); - memset(sib1_br_890->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v920_IEs_t)); + SystemInformationBlockType1_v890_IEs_t *sib1_br_890 = (*sib1_br)->nonCriticalExtension; + sib1_br_890->lateNonCriticalExtension = NULL; + sib1_br_890->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v920_IEs_t)); + memset(sib1_br_890->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v920_IEs_t)); - SystemInformationBlockType1_v920_IEs_t *sib1_br_920 = (*sib1_br_890).nonCriticalExtension; - sib1_br_920->ims_EmergencySupport_r9 = NULL; // ptr - sib1_br_920->cellSelectionInfo_v920 = NULL; - sib1_br_920->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1130_IEs_t)); - memset(sib1_br_920->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1130_IEs_t)); + SystemInformationBlockType1_v920_IEs_t *sib1_br_920 = (*sib1_br_890).nonCriticalExtension; + sib1_br_920->ims_EmergencySupport_r9 = NULL; // ptr + sib1_br_920->cellSelectionInfo_v920 = NULL; + sib1_br_920->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1130_IEs_t)); + memset(sib1_br_920->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1130_IEs_t)); - //////Rel11 - SystemInformationBlockType1_v1130_IEs_t *sib1_br_1130 = sib1_br_920->nonCriticalExtension; - - sib1_br_1130->tdd_Config_v1130 = NULL; // ptr - sib1_br_1130->cellSelectionInfo_v1130 = NULL; // ptr - sib1_br_1130->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1250_IEs_t)); - memset(sib1_br_1130->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1250_IEs_t)); - - - ///Rel12 - SystemInformationBlockType1_v1250_IEs_t *sib1_br_1250 = sib1_br_1130->nonCriticalExtension; - sib1_br_1250->cellAccessRelatedInfo_v1250.category0Allowed_r12 = NULL; // long* - sib1_br_1250->cellSelectionInfo_v1250 = NULL; - sib1_br_1250->freqBandIndicatorPriority_r12 = 0; // long* // FIXME - sib1_br_1250->nonCriticalExtension = NULL; + //////Rel11 + SystemInformationBlockType1_v1130_IEs_t *sib1_br_1130 = sib1_br_920->nonCriticalExtension; + sib1_br_1130->tdd_Config_v1130 = NULL; // ptr + sib1_br_1130->cellSelectionInfo_v1130 = NULL; // ptr + sib1_br_1130->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1250_IEs_t)); + memset(sib1_br_1130->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1250_IEs_t)); + ///Rel12 + SystemInformationBlockType1_v1250_IEs_t *sib1_br_1250 = sib1_br_1130->nonCriticalExtension; + sib1_br_1250->cellAccessRelatedInfo_v1250.category0Allowed_r12 = NULL; // long* + sib1_br_1250->cellSelectionInfo_v1250 = NULL; + sib1_br_1250->freqBandIndicatorPriority_r12 = 0; // long* // FIXME + sib1_br_1250->nonCriticalExtension = NULL; ////Rel1310 + /// #if defined(ENABLE_ITTI) - if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) - { - sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; + if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) + { + sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; - if (configuration->hyperSFN_r13[CC_id]) - { - sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type - memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_br_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_br_1310->hyperSFN_r13->size = 2; - sib1_br_1310->hyperSFN_r13->bits_unused = 6; - } - else - sib1_br_1310->hyperSFN_r13 = NULL; + if (configuration->hyperSFN_r13[CC_id]) + { + sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_br_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_br_1310->hyperSFN_r13->size = 2; + sib1_br_1310->hyperSFN_r13->bits_unused = 6; + } + else + sib1_br_1310->hyperSFN_r13 = NULL; - if (configuration->eDRX_Allowed_r13[CC_id]) - { - sib1_br_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); - *sib1_br_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; - } - else - sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* + if (configuration->eDRX_Allowed_r13[CC_id]) + { + sib1_br_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); + *sib1_br_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; + } + else + sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* - if (configuration->cellSelectionInfoCE_r13[CC_id]) - { - sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); - memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); - sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long - if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) - { - sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); - *sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; - } - else - sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; - } - else - sib1_br_1310->cellSelectionInfoCE_r13 = NULL; + if (configuration->cellSelectionInfoCE_r13[CC_id]) + { + sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long + if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) + { + sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); + *sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; + } + else + sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; + } + else + sib1_br_1310->cellSelectionInfoCE_r13 = NULL; - if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 - = configuration->si_WindowLength_BR_r13[CC_id]; // 0 + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = configuration->si_WindowLength_BR_r13[CC_id]; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 - = configuration->si_RepetitionPattern_r13[CC_id]; // 0 + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = configuration->si_RepetitionPattern_r13[CC_id]; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); - SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); - memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); - schedulinginfo_br_13->si_Narrowband_r13 = 1; - schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); + SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); + memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); + schedulinginfo_br_13->si_Narrowband_r13 = 1; + schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, - sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); - if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; - } - else - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + } + else + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); - memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; - } + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); + memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; + } - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], - 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], + 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 = configuration->si_HoppingConfigCommon_r13[CC_id]; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 = configuration->si_HoppingConfigCommon_r13[CC_id]; - if (configuration->si_ValidityTime_r13[CC_id]) - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); - *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = *configuration->si_ValidityTime_r13[CC_id]; - } - else - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; + if (configuration->si_ValidityTime_r13[CC_id]) + { + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = *configuration->si_ValidityTime_r13[CC_id]; + } + else + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); - } - else - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + } + else + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; - sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - /////Rel1320 - SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; - + /////Rel1320 + SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; - if (configuration->freqHoppingParametersDL_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + + if (configuration->freqHoppingParametersDL_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; - } - else - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; + if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; + } + else + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } - else - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } + if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } + else + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } - else - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } - - if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) - { + } + else + { + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; - } - else - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; + if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) + { - } - else - sib1_br_1320->freqHoppingParametersDL_r13 = NULL; + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; + } + else + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; - sib1_br_1320->nonCriticalExtension = NULL; - } + } + else + sib1_br_1320->freqHoppingParametersDL_r13 = NULL; + + sib1_br_1320->nonCriticalExtension = NULL; + } #else - sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; + sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; - sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type - memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); - memset(sib1_br_1310->hyperSFN_r13->buf, 0, 2*sizeof(uint8_t)); - sib1_br_1310->hyperSFN_r13->size = 2; - sib1_br_1310->hyperSFN_r13->bits_unused = 6; + sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memset(sib1_br_1310->hyperSFN_r13->buf, 0, 2*sizeof(uint8_t)); + sib1_br_1310->hyperSFN_r13->size = 2; + sib1_br_1310->hyperSFN_r13->bits_unused = 6; - sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* - sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); - memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); - sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = -70; // (Q_RxLevMin_t) long - sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; // (Q_RxLevMin_t) *long + sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* + sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = -70; // (Q_RxLevMin_t) long + sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; // (Q_RxLevMin_t) *long - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms20; // 0 + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms20; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_everyRF; // 0 + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_everyRF; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); - SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); - memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); - schedulinginfo_br_13->si_Narrowband_r13 = 1; - schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); + SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); + memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); + schedulinginfo_br_13->si_Narrowband_r13 = 1; + schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, - sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, 0, 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, 0, 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, 0, - 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = 1; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_on; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, 0, + 2 * sizeof(uint8_t)); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = 1; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_on; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); - *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_ValidityTime_r13_true; + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_ValidityTime_r13_true; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; + ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); - sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - /////Rel1320 - SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; - sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + /////Rel1320 + SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; + sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__mpdcch_pdsch_HoppingNB_r13_nb2; + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__mpdcch_pdsch_HoppingNB_r13_nb2; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13__interval_FDD_r13_int1; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13__interval_FDD_r13_int1; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13__interval_FDD_r13_int2; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13__interval_FDD_r13_int2; - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = 1; + sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = 1; - sib1_br_1320->nonCriticalExtension = NULL; -#endif + sib1_br_1320->nonCriticalExtension = NULL; + +#endif // ITTI ENABLED + } +#endif // Rel14 #ifdef XER_PRINT xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message); #endif diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h index 9f978dc797..0fa812824d 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h @@ -77,7 +77,13 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich @param configuration Pointer Configuration Request structure @return size of encoded bit stream in bytes*/ -uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,int Mod_id,int CC_id, RrcConfigurationReq *configuration +uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,int Mod_id,int CC_id +#ifdef Rel14 + , BOOLEAN_t brOption +#endif +#if defined(ENABLE_ITTI) + ,RrcConfigurationReq *configuration +#endif ); /** From 64ee15062fecf27d426ec3811f733ca28f22055f Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 26 Jul 2017 16:49:17 -0700 Subject: [PATCH 005/109] added selection of LTE or BL/CE SIB1/2 configuration --- openair2/COMMON/rrc_messages_types.h | 196 +- openair2/ENB_APP/enb_config.c | 4602 +++++++++++++++---------- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 2196 ++++++------ openair2/RRC/LITE/MESSAGES/asn1_msg.h | 14 +- openair2/RRC/LITE/defs.h | 3 +- openair2/RRC/LITE/rrc_eNB.c | 64 +- 6 files changed, 4117 insertions(+), 2958 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 91ac072384..0267095f7b 100644 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -83,15 +83,85 @@ typedef struct RrcStateInd_s { Rrc_Sub_State_t sub_state; } RrcStateInd; +typedef struct RadioResourceConfig_s { + long prach_root; + long prach_config_index; + BOOLEAN_t prach_high_speed; + long prach_zero_correlation; + long prach_freq_offset; + long pucch_delta_shift; + long pucch_nRB_CQI; + long pucch_nCS_AN; +#if !defined(Rel10) && !defined(Rel14) + long pucch_n1_AN; +#endif + long pdsch_referenceSignalPower; + long pdsch_p_b; + long pusch_n_SB; + long pusch_hoppingMode; + long pusch_hoppingOffset; + BOOLEAN_t pusch_enable64QAM; + BOOLEAN_t pusch_groupHoppingEnabled; + long pusch_groupAssignment; + BOOLEAN_t pusch_sequenceHoppingEnabled; + long pusch_nDMRS1; + long phich_duration; + long phich_resource; + BOOLEAN_t srs_enable; + long srs_BandwidthConfig; + long srs_SubframeConfig; + BOOLEAN_t srs_ackNackST; + BOOLEAN_t srs_MaxUpPts; + long pusch_p0_Nominal; + long pusch_alpha; + long pucch_p0_Nominal; + long msg3_delta_Preamble; + long ul_CyclicPrefixLength; + e_DeltaFList_PUCCH__deltaF_PUCCH_Format1 pucch_deltaF_Format1; + e_DeltaFList_PUCCH__deltaF_PUCCH_Format1b pucch_deltaF_Format1b; + e_DeltaFList_PUCCH__deltaF_PUCCH_Format2 pucch_deltaF_Format2; + e_DeltaFList_PUCCH__deltaF_PUCCH_Format2a pucch_deltaF_Format2a; + e_DeltaFList_PUCCH__deltaF_PUCCH_Format2b pucch_deltaF_Format2b; + long rach_numberOfRA_Preambles; + BOOLEAN_t rach_preamblesGroupAConfig; + long rach_sizeOfRA_PreamblesGroupA; + long rach_messageSizeGroupA; + e_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB rach_messagePowerOffsetGroupB; + long rach_powerRampingStep; + long rach_preambleInitialReceivedTargetPower; + long rach_preambleTransMax; + long rach_raResponseWindowSize; + long rach_macContentionResolutionTimer; + long rach_maxHARQ_Msg3Tx; + long bcch_modificationPeriodCoeff; + long pcch_defaultPagingCycle; + long pcch_nB; + long ue_TimersAndConstants_t300; + long ue_TimersAndConstants_t301; + long ue_TimersAndConstants_t310; + long ue_TimersAndConstants_t311; + long ue_TimersAndConstants_n310; + long ue_TimersAndConstants_n311; + long ue_TransmissionMode; +#ifdef Rel14 + //SIB2 BR Options + long* preambleTransMax_CE_r13; + BOOLEAN_t prach_ConfigCommon_v1310; + BOOLEAN_t* mpdcch_startSF_CSS_RA_r13; + long mpdcch_startSF_CSS_RA_r13_val; + long* prach_HoppingOffset_r13; +#endif +} RadioResourceConfig; + // eNB: ENB_APP -> RRC messages typedef struct RrcConfigurationReq_s { - uint32_t cell_identity; + uint32_t cell_identity; - uint16_t tac; + uint16_t tac; - uint16_t mcc; - uint16_t mnc; - uint8_t mnc_digit_length; + uint16_t mcc; + uint16_t mnc; + uint8_t mnc_digit_length; paging_drx_t default_drx; @@ -107,102 +177,44 @@ typedef struct RrcConfigurationReq_s { int16_t Nid_cell[MAX_NUM_CCs];// for testing, change later int16_t N_RB_DL[MAX_NUM_CCs];// for testing, change later int nb_antenna_ports[MAX_NUM_CCs]; - long prach_root[MAX_NUM_CCs]; - long prach_config_index[MAX_NUM_CCs]; - BOOLEAN_t prach_high_speed[MAX_NUM_CCs]; - long prach_zero_correlation[MAX_NUM_CCs]; - long prach_freq_offset[MAX_NUM_CCs]; - long pucch_delta_shift[MAX_NUM_CCs]; - long pucch_nRB_CQI[MAX_NUM_CCs]; - long pucch_nCS_AN[MAX_NUM_CCs]; -#if !defined(Rel10) && !defined(Rel14) - long pucch_n1_AN[MAX_NUM_CCs]; -#endif - long pdsch_referenceSignalPower[MAX_NUM_CCs]; - long pdsch_p_b[MAX_NUM_CCs]; - long pusch_n_SB[MAX_NUM_CCs]; - long pusch_hoppingMode[MAX_NUM_CCs]; - long pusch_hoppingOffset[MAX_NUM_CCs]; - BOOLEAN_t pusch_enable64QAM[MAX_NUM_CCs]; - BOOLEAN_t pusch_groupHoppingEnabled[MAX_NUM_CCs]; - long pusch_groupAssignment[MAX_NUM_CCs]; - BOOLEAN_t pusch_sequenceHoppingEnabled[MAX_NUM_CCs]; - long pusch_nDMRS1[MAX_NUM_CCs]; - long phich_duration[MAX_NUM_CCs]; - long phich_resource[MAX_NUM_CCs]; - BOOLEAN_t srs_enable[MAX_NUM_CCs]; - long srs_BandwidthConfig[MAX_NUM_CCs]; - long srs_SubframeConfig[MAX_NUM_CCs]; - BOOLEAN_t srs_ackNackST[MAX_NUM_CCs]; - BOOLEAN_t srs_MaxUpPts[MAX_NUM_CCs]; - long pusch_p0_Nominal[MAX_NUM_CCs]; - long pusch_alpha[MAX_NUM_CCs]; - long pucch_p0_Nominal[MAX_NUM_CCs]; - long msg3_delta_Preamble[MAX_NUM_CCs]; - long ul_CyclicPrefixLength[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format1 pucch_deltaF_Format1[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format1b pucch_deltaF_Format1b[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format2 pucch_deltaF_Format2[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format2a pucch_deltaF_Format2a[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format2b pucch_deltaF_Format2b[MAX_NUM_CCs]; - long rach_numberOfRA_Preambles[MAX_NUM_CCs]; - BOOLEAN_t rach_preamblesGroupAConfig[MAX_NUM_CCs]; - long rach_sizeOfRA_PreamblesGroupA[MAX_NUM_CCs]; - long rach_messageSizeGroupA[MAX_NUM_CCs]; - e_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB rach_messagePowerOffsetGroupB[MAX_NUM_CCs]; - long rach_powerRampingStep[MAX_NUM_CCs]; - long rach_preambleInitialReceivedTargetPower[MAX_NUM_CCs]; - long rach_preambleTransMax[MAX_NUM_CCs]; - long rach_raResponseWindowSize[MAX_NUM_CCs]; - long rach_macContentionResolutionTimer[MAX_NUM_CCs]; - long rach_maxHARQ_Msg3Tx[MAX_NUM_CCs]; - long bcch_modificationPeriodCoeff[MAX_NUM_CCs]; - long pcch_defaultPagingCycle[MAX_NUM_CCs]; - long pcch_nB[MAX_NUM_CCs]; - long ue_TimersAndConstants_t300[MAX_NUM_CCs]; - long ue_TimersAndConstants_t301[MAX_NUM_CCs]; - long ue_TimersAndConstants_t310[MAX_NUM_CCs]; - long ue_TimersAndConstants_t311[MAX_NUM_CCs]; - long ue_TimersAndConstants_n310[MAX_NUM_CCs]; - long ue_TimersAndConstants_n311[MAX_NUM_CCs]; - long ue_TransmissionMode[MAX_NUM_CCs]; + RadioResourceConfig radioresourceconfig[MAX_NUM_CCs]; + + +#ifdef Rel14 + + RadioResourceConfig radioresourceconfig_BR[MAX_NUM_CCs]; //MIB - long schedulingInfoSIB1_BR_r13[MAX_NUM_CCs]; + long schedulingInfoSIB1_BR_r13[MAX_NUM_CCs]; //SIB1 BR options - uint16_t* hyperSFN_r13[MAX_NUM_CCs]; - long* eDRX_Allowed_r13[MAX_NUM_CCs]; - BOOLEAN_t cellSelectionInfoCE_r13[MAX_NUM_CCs]; - long q_RxLevMinCE_r13[MAX_NUM_CCs]; - long* q_QualMinRSRQ_CE_r13[MAX_NUM_CCs]; - BOOLEAN_t bandwidthReducedAccessRelatedInfo_r13[MAX_NUM_CCs]; - long si_WindowLength_BR_r13[MAX_NUM_CCs]; - long si_RepetitionPattern_r13[MAX_NUM_CCs]; - BOOLEAN_t fdd_DownlinkOrTddSubframeBitmapBR_r13[MAX_NUM_CCs]; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13[MAX_NUM_CCs]; - uint16_t fdd_UplinkSubframeBitmapBR_r13[MAX_NUM_CCs]; - long startSymbolBR_r13[MAX_NUM_CCs]; - long si_HoppingConfigCommon_r13[MAX_NUM_CCs]; - long* si_ValidityTime_r13[MAX_NUM_CCs]; - BOOLEAN_t freqHoppingParametersDL_r13[MAX_NUM_CCs]; - long* mpdcch_pdsch_HoppingNB_r13[MAX_NUM_CCs]; - BOOLEAN_t interval_DLHoppingConfigCommonModeA_r13[MAX_NUM_CCs]; - long interval_DLHoppingConfigCommonModeA_r13_val[MAX_NUM_CCs]; - BOOLEAN_t interval_DLHoppingConfigCommonModeB_r13[MAX_NUM_CCs]; - long interval_DLHoppingConfigCommonModeB_r13_val[MAX_NUM_CCs]; - long* mpdcch_pdsch_HoppingOffset_r13[MAX_NUM_CCs]; + uint16_t* hyperSFN_r13[MAX_NUM_CCs]; + long* eDRX_Allowed_r13[MAX_NUM_CCs]; + BOOLEAN_t cellSelectionInfoCE_r13[MAX_NUM_CCs]; + long q_RxLevMinCE_r13[MAX_NUM_CCs]; + long* q_QualMinRSRQ_CE_r13[MAX_NUM_CCs]; + BOOLEAN_t bandwidthReducedAccessRelatedInfo_r13[MAX_NUM_CCs]; + long si_WindowLength_BR_r13[MAX_NUM_CCs]; + long si_RepetitionPattern_r13[MAX_NUM_CCs]; + BOOLEAN_t fdd_DownlinkOrTddSubframeBitmapBR_r13[MAX_NUM_CCs]; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13[MAX_NUM_CCs]; + uint16_t fdd_UplinkSubframeBitmapBR_r13[MAX_NUM_CCs]; + long startSymbolBR_r13[MAX_NUM_CCs]; + long si_HoppingConfigCommon_r13[MAX_NUM_CCs]; + long* si_ValidityTime_r13[MAX_NUM_CCs]; + BOOLEAN_t freqHoppingParametersDL_r13[MAX_NUM_CCs]; + long* mpdcch_pdsch_HoppingNB_r13[MAX_NUM_CCs]; + BOOLEAN_t interval_DLHoppingConfigCommonModeA_r13[MAX_NUM_CCs]; + long interval_DLHoppingConfigCommonModeA_r13_val[MAX_NUM_CCs]; + BOOLEAN_t interval_DLHoppingConfigCommonModeB_r13[MAX_NUM_CCs]; + long interval_DLHoppingConfigCommonModeB_r13_val[MAX_NUM_CCs]; + long* mpdcch_pdsch_HoppingOffset_r13[MAX_NUM_CCs]; - //SIB2 BR Options - long* preambleTransMax_CE_r13[MAX_NUM_CCs]; - BOOLEAN_t prach_ConfigCommon_v1310[MAX_NUM_CCs]; - BOOLEAN_t* mpdcch_startSF_CSS_RA_r13[MAX_NUM_CCs]; - long mpdcch_startSF_CSS_RA_r13_val[MAX_NUM_CCs]; - long* prach_HoppingOffset_r13[MAX_NUM_CCs]; +#endif } RrcConfigurationReq; // UE: NAS -> RRC messages diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 39c181319a..41a1255d14 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -299,14 +299,14 @@ #define CONFIG_STRING_RU_MAX_RXGAIN "max_rxgain" #define CONFIG_STRING_RU_IF_COMPRESSION "if_compression" -#define ENB_CONFIG_STRING_BR "br_parameters" +#define ENB_CONFIG_STRING_BR "br_parameters" #define ENB_CONFIG_STRING_schedulingInfoSIB1 "schedulingInfoSIB1_BR_r13" -#define ENB_CONFIG_STRING_HYPERSFN "hyperSFN_r13" -#define ENB_CONFIG_STRING_EDRX_ALLOWED "eDRX_Allowed_r13" +#define ENB_CONFIG_STRING_HYPERSFN "hyperSFN_r13" +#define ENB_CONFIG_STRING_EDRX_ALLOWED "eDRX_Allowed_r13" #define ENB_CONFIG_STRING_CELLSELECTIONINFOCE "cellSelectionInfoCE_r13" -#define ENB_CONFIG_STRING_Q_RXLEVMINCE "q_RxLevMinCE_r13" -#define ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE "q_QualMinRSRQ_CE_r13" +#define ENB_CONFIG_STRING_Q_RXLEVMINCE "q_RxLevMinCE_r13" +#define ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE "q_QualMinRSRQ_CE_r13" #define ENB_CONFIG_STRING_BRAccessRelatedInfo "bandwidthReducedAccessRelatedInfo_r13" #define ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR "si_WindowLength_BR_r13" @@ -314,9 +314,9 @@ #define ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR "fdd_DownlinkOrTddSubframeBitmapBR_r13" #define ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" #define ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR "fdd_UplinkSubframeBitmapBR_r13" -#define ENB_CONFIG_STRING_STARTSYMBOLBR "startSymbolBR_r13" +#define ENB_CONFIG_STRING_STARTSYMBOLBR "startSymbolBR_r13" #define ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON "si_HoppingConfigCommon_r13" -#define ENB_CONFIG_STRING_SI_VALIDITYTIME "si_ValidityTime_r13" +#define ENB_CONFIG_STRING_SI_VALIDITYTIME "si_ValidityTime_r13" #define ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL "freqHoppingParametersDL_r13" #define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB "mpdcch_pdsch_HoppingNB_r13" #define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEA "interval_DLHoppingConfigCommonModeA_r13" @@ -565,15 +565,15 @@ void RCconfig_RU() { } if ( !( - config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_TX, &nb_tx) - && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_RX, &nb_rx) - && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_TX, &att_tx) - && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_RX, &att_rx) - && config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_RF,(const char **)&local_rf) - )) { + config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_TX, &nb_tx) + && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_NB_RX, &nb_rx) + && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_TX, &att_tx) + && config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_ATT_RX, &att_rx) + && config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_RF,(const char **)&local_rf) + )) { AssertFatal (0, - "Failed to parse configuration file %s, RU %d config !\n", - RC.config_file_name, j); + "Failed to parse configuration file %s, RU %d config !\n", + RC.config_file_name, j); continue; // FIXME will prevent segfaults below, not sure what happens at function exit... } @@ -728,9 +728,9 @@ void RCconfig_L1() { printf("RU %d: Transport %s\n",j,tr_n_preference); if (!(config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_TRANSPORT_N_PREFERENCE, (const char **)&tr_n_preference))) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); } if (strcmp(tr_n_preference, "local_mac") == 0) { @@ -914,7 +914,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_setting_t *setting_otg = NULL; config_setting_t *subsetting_otg = NULL; #if defined(Rel14) - config_setting_t *setting_br13 = NULL; + config_setting_t *setting_br13 = NULL; #endif // REL14 int parse_errors = 0; int num_enbs = 0; @@ -958,7 +958,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int rx_gain = 0; libconfig_int prach_root = 0; libconfig_int prach_config_index = 0; - const char* prach_high_speed = NULL; + const char* prach_high_speed = NULL; libconfig_int prach_zero_correlation = 0; libconfig_int prach_freq_offset = 0; libconfig_int pucch_delta_shift = 0; @@ -1076,32 +1076,32 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_destroy(&cfg); AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); } - } - else { - config_destroy(&cfg); - AssertFatal(0, "No eNB configuration file provided!\n"); - } + } + else { + config_destroy(&cfg); + AssertFatal(0, "No eNB configuration file provided!\n"); + } #if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME) if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { - asn_debug = 0; - asn1_xer_print = 0; - } - else if (strcasecmp(astring, ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { - asn_debug = 1; - asn1_xer_print = 1; - } - else if (strcasecmp(astring, ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { - asn_debug = 1; - asn1_xer_print = 2; - } - else { - asn_debug = 0; - asn1_xer_print = 0; - } - } + asn_debug = 0; + asn1_xer_print = 0; + } + else if (strcasecmp(astring, ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { + asn_debug = 1; + asn1_xer_print = 1; + } + else if (strcasecmp(astring, ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { + asn_debug = 1; + asn1_xer_print = 2; + } + else { + asn_debug = 0; + asn1_xer_print = 0; + } + } #endif @@ -1169,7 +1169,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTD, &local_s_portd) && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTD, &remote_s_portd) ) - ) { + ) { AssertFatal (0, "Failed to parse eNB configuration file %s, %u th enb\n", RC.config_file_name, i); @@ -1364,31 +1364,31 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } #ifdef Rel14 - if (!pbch_repetition) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; - } - else if (strcmp(pbch_repetition, "FALSE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", - RC.config_file_name, i, pbch_repetition); + if (!pbch_repetition) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); + else if (strcmp(pbch_repetition, "TRUE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; + } + else if (strcmp(pbch_repetition, "FALSE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", + RC.config_file_name, i, pbch_repetition); } #endif @@ -1411,16 +1411,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, N_RB_DL); } - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; - } - else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, i, frame_type); + if (strcmp(frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; + } + else if (strcmp(frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + RC.config_file_name, i, frame_type); } @@ -1441,16 +1441,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); } @@ -1483,14 +1483,14 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; - RRC_CONFIGURATION_REQ (msg_p).prach_root[j] = prach_root; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; if ((prach_root <0) || (prach_root > 1023)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", RC.config_file_name, i, prach_root); - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j] = prach_config_index; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; if ((prach_config_index <0) || (prach_config_index > 63)) AssertFatal (0, @@ -1502,24 +1502,24 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prach_high_speed[j] = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prach_high_speed[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); - RRC_CONFIGURATION_REQ (msg_p).prach_zero_correlation[j] =prach_zero_correlation; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", RC.config_file_name, i, prach_zero_correlation); - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j] = prach_freq_offset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; if ((prach_freq_offset <0) || (prach_freq_offset > 94)) AssertFatal (0, @@ -1527,1188 +1527,2252 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, prach_freq_offset); - RRC_CONFIGURATION_REQ (msg_p).pucch_delta_shift[j] = pucch_delta_shift-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", RC.config_file_name, i, pucch_delta_shift); - RRC_CONFIGURATION_REQ (msg_p).pucch_nRB_CQI[j] = pucch_nRB_CQI; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); - RRC_CONFIGURATION_REQ (msg_p).pucch_nCS_AN[j] = pucch_nCS_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); #if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[j] = pucch_n1_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); #endif - RRC_CONFIGURATION_REQ (msg_p).pdsch_referenceSignalPower[j] = pdsch_referenceSignalPower; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; + + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; + + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; + + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; + + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; + + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; + + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); - RRC_CONFIGURATION_REQ (msg_p).pdsch_p_b[j] = pdsch_p_b; - - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); - - RRC_CONFIGURATION_REQ (msg_p).pusch_n_SB[j] = pusch_n_SB; - - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); - - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); - - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingOffset[j] = pusch_hoppingOffset; - - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); - - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_enable64QAM[j] = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_enable64QAM[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); - - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_groupHoppingEnabled[j] = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_groupHoppingEnabled[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); - - - RRC_CONFIGURATION_REQ (msg_p).pusch_groupAssignment[j] = pusch_groupAssignment; - - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); - - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_sequenceHoppingEnabled[j] = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_sequenceHoppingEnabled[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).pusch_nDMRS1[j] = pusch_nDMRS1; //cyclic_shift in RRC! - - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); - - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).phich_duration[j] = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).phich_duration[j] = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); - - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).phich_resource[j] = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); - - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ(msg_p).phich_resource[j], phich_resource, - RRC_CONFIGURATION_REQ(msg_p).phich_duration[j], phich_duration); - - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).srs_enable[j] = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).srs_enable[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); - - if (RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] == TRUE) { - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) - )) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", - RC.config_file_name, i); - - RRC_CONFIGURATION_REQ (msg_p).srs_BandwidthConfig[j] = srs_BandwidthConfig; - - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); - - RRC_CONFIGURATION_REQ (msg_p).srs_SubframeConfig[j] = srs_SubframeConfig; - - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); - - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).srs_ackNackST[j] = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).srs_ackNackST[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); - - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).srs_MaxUpPts[j] = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).srs_MaxUpPts[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } - - RRC_CONFIGURATION_REQ(msg_p).pusch_p0_Nominal[j] = pusch_p0_Nominal; - - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); - -#ifndef Rel14 - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1; - } -#else - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pusch_alpha[j] = Alpha_r12_al1; - } -#endif - 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", - RC.config_file_name, i, pusch_alpha); - - RRC_CONFIGURATION_REQ(msg_p).pucch_p0_Nominal[j] = pucch_p0_Nominal; - - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); - - RRC_CONFIGURATION_REQ(msg_p).msg3_delta_Preamble[j] = msg3_delta_Preamble; - - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); - - - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); - - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); - - - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); - - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); - - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); - - - - - RRC_CONFIGURATION_REQ(msg_p).rach_numberOfRA_Preambles[j] = (rach_numberOfRA_Preambles / 4) - 1; - - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); - - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).rach_preamblesGroupAConfig[j] = TRUE; - - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", - RC.config_file_name, i); - - RRC_CONFIGURATION_REQ (msg_p).rach_sizeOfRA_PreamblesGroupA[j] = (rach_sizeOfRA_PreamblesGroupA/4)-1; - - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - - - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; - - case 144: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; - - case 208: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } - - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); - - } - else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).rach_preamblesGroupAConfig[j] = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); - - RRC_CONFIGURATION_REQ (msg_p).rach_preambleInitialReceivedTargetPower[j] = (rach_preambleInitialReceivedTargetPower+120)/2; - - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - - - RRC_CONFIGURATION_REQ (msg_p).rach_powerRampingStep[j] = rach_powerRampingStep/2; - - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); - - - - switch (rach_preambleTransMax) { -#ifndef Rel14 - case 3: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; - -#else - - case 3: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n200; - break; -#endif - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - RRC_CONFIGURATION_REQ (msg_p).rach_raResponseWindowSize[j] = (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; + + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + +#ifndef Rel14 + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } +#else + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; + } +#endif + 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; + + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; + + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); + + + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); + + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); + + + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); + + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); + + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); + + + + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; + + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - RRC_CONFIGURATION_REQ (msg_p).rach_macContentionResolutionTimer[j] = (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).rach_maxHARQ_Msg3Tx[j] = rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf32; + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; break; - case 64: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf64; + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; break; - case 128: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf128; + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; break; case 256: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf256; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; break; default: AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); break; } - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pcch_nB[j] = PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; } - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; } - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; } - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms0; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms200; - break; - - case 500: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; } - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms1000; - break; - - case 3110: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms20000; - break; - - case 31100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms30000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; } - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n20; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; } - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n10; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; } - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; } - - setting_br13 = config_setting_get_member(setting_enb, ENB_CONFIG_STRING_BR); - if (setting_br13 != NULL) - { - int hyperSFN_r13; - int eDRX_Allowed_r13; - int q_RxLevMinCE_r13; - int q_QualMinRSRQ_CE_r13; - int si_WindowLength_BR_r13; - int si_RepetitionPattern_r13; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - int startSymbolBR_r13; - int si_HoppingConfigCommon_r13; - int si_ValidityTime_r13; - int mpdcch_pdsch_HoppingNB_r13; - int interval_DLHoppingConfigCommonModeA_r13_val; - int interval_DLHoppingConfigCommonModeB_r13_val; - int mpdcch_pdsch_HoppingOffset_r13; - int preambleTransMax_CE_r13; - int mpdcch_startSF_CSS_RA_r13_val; - int prach_HoppingOffset_r13; - int schedulingInfoSIB1_BR_r13; - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13; + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); + + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", - RC.config_file_name, i); - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; - + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j] = calloc(1, sizeof(uint16_t)); - *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j] = (uint16_t)hyperSFN_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j] = NULL; + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j] = eDRX_Allowed_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j] = NULL; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", - RC.config_file_name, i); - } - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j] = q_RxLevMinCE_r13; + switch (rach_preambleTransMax) { +#ifndef Rel14 + _ case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j] = q_QualMinRSRQ_CE_r13; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j] = NULL; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || - !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; - } - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; - } - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; +#else - - + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; + break; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; + break; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; + break; - /////SIB2 Parameters + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; + break; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).preambleTransMax_CE_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).preambleTransMax_CE_r13[j] = preambleTransMax_CE_r13; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; + break; - } - else - RRC_CONFIGURATION_REQ(msg_p).preambleTransMax_CE_r13[j] = NULL; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; + break; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).prach_ConfigCommon_v1310[j] = TRUE; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; + break; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) - { - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", - RC.config_file_name, i); + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; + break; - } - RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = calloc(1, sizeof(BOOLEAN_t)); - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = FALSE; - else - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = TRUE; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; + break; +#endif - RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13_val[j] = mpdcch_startSF_CSS_RA_r13_val; - - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_startSF_CSS_RA_r13[j] = NULL; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).prach_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).prach_HoppingOffset_r13[j] = prach_HoppingOffset_r13; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - } - else - RRC_CONFIGURATION_REQ(msg_p).prach_HoppingOffset_r13[j] = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).prach_ConfigCommon_v1310[j] = TRUE; - } - else - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; - } + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + switch (pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; + } + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + switch (ue_TimersAndConstants_t300) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; + + } + + switch (ue_TimersAndConstants_t301) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; + + } + + switch (ue_TimersAndConstants_t310) { + case 0: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; + + case 500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; + + } + + switch (ue_TimersAndConstants_t311) { + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; + + case 3110: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; + + case 5000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; + + case 10000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; + + case 15000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; + + case 20000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; + + case 31100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TimersAndConstants_n310) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; + + } + + switch (ue_TimersAndConstants_n311) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } +#ifdef Rel14 + setting_br13 = config_setting_get_member(setting_enb, ENB_CONFIG_STRING_BR); + + if (setting_br13 != NULL) { + + // Rel8 RadioResourceConfigCommon Parameters + if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) +#if !defined(Rel10) && !defined(Rel14) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN) +#endif + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) + )) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); + +#if !defined(Rel10) && !defined(Rel14) + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = pucch_n1_AN; + + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); + +#endif + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; + + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; + + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; + + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; + + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; + + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; + + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); + + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); + + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; + + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + +#ifndef Rel14 + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } +#else + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1; + } +#endif + 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; + + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; + + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); + + + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); + + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); + + + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); + + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); + + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); + + + + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + + if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + + + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; + + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; + + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } + + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); + + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; + + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); + + + + switch (rach_preambleTransMax) { +#ifndef Rel14 + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; + +#else + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; + break; +#endif + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + switch (pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; + } + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + switch (ue_TimersAndConstants_t300) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; + + } + + switch (ue_TimersAndConstants_t301) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; + + } + + switch (ue_TimersAndConstants_t310) { + case 0: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; + + case 500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; + + } + + switch (ue_TimersAndConstants_t311) { + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; + + case 3110: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; + + case 5000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; + + case 10000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; + + case 15000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; + + case 20000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; + + case 31100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TimersAndConstants_n310) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; + + } + + switch (ue_TimersAndConstants_n311) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } + + int hyperSFN_r13; + int eDRX_Allowed_r13; + int q_RxLevMinCE_r13; + int q_QualMinRSRQ_CE_r13; + int si_WindowLength_BR_r13; + int si_RepetitionPattern_r13; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + int startSymbolBR_r13; + int si_HoppingConfigCommon_r13; + int si_ValidityTime_r13; + int mpdcch_pdsch_HoppingNB_r13; + int interval_DLHoppingConfigCommonModeA_r13_val; + int interval_DLHoppingConfigCommonModeB_r13_val; + int mpdcch_pdsch_HoppingOffset_r13; + int preambleTransMax_CE_r13; + int mpdcch_startSF_CSS_RA_r13_val; + int prach_HoppingOffset_r13; + int schedulingInfoSIB1_BR_r13; + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13; + + + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", + RC.config_file_name, i); + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || + !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + + + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + + /////SIB2 Parameters + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + } + else + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + } +#endif } - + setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); if (setting_srb1 != NULL) { @@ -2870,27 +3934,27 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; - } - else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; + } + else if (srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_timer_poll_retransmit); + } - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; - } - else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", - RC.config_file_name, i, srb1_timer_status_prohibit); + if (srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; + } + else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + RC.config_file_name, i, srb1_timer_status_prohibit); } switch (srb1_timer_reordering) { @@ -3021,15 +4085,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } + RC.config_file_name, i, srb1_timer_reordering); + } - } - else { - rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; - rrc->srb1_timer_reordering = T_Reordering_ms35; - rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; - rrc->srb1_poll_pdu = PollPDU_p4; + } + else { + rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; + rrc->srb1_timer_reordering = T_Reordering_ms35; + rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; + rrc->srb1_poll_pdu = PollPDU_p4; rrc->srb1_poll_byte = PollByte_kBinfinity; rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; } @@ -3038,28 +4102,28 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_CONTROLLER_CONFIG); if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_INTERFACE_NAME, - (const char **)&flexran_agent_interface_name) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_IPV4_ADDRESS, - (const char **)&flexran_agent_ipv4_address) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_PORT, - &flexran_agent_port) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_CACHE, - (const char **)&flexran_agent_cache) - ) - ) { - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_interface_name = strdup(flexran_agent_interface_name); - cidr = flexran_agent_ipv4_address; - address = strtok(cidr, "/"); - //enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address = strdup(address); - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO (address, enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB Agent !\n" ); - } + if ( ( + config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_INTERFACE_NAME, + (const char **)&flexran_agent_interface_name) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_IPV4_ADDRESS, + (const char **)&flexran_agent_ipv4_address) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_PORT, + &flexran_agent_port) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_CACHE, + (const char **)&flexran_agent_cache) + ) + ) { + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_interface_name = strdup(flexran_agent_interface_name); + cidr = flexran_agent_ipv4_address; + address = strtok(cidr, "/"); + //enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address = strdup(address); + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO (address, enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB Agent !\n" ); + } - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_port = flexran_agent_port; - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_cache = strdup(flexran_agent_cache); - } + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_port = flexran_agent_port; + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_cache = strdup(flexran_agent_cache); + } } */ @@ -3068,695 +4132,695 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { setting_otg = config_setting_get_member (setting_enb, ENB_CONF_STRING_OTG_CONFIG); if (setting_otg != NULL) { - num_otg_elements = config_setting_length(setting_otg); - printf("num otg elements %d \n", num_otg_elements); - enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements = 0; + num_otg_elements = config_setting_length(setting_otg); + printf("num otg elements %d \n", num_otg_elements); + enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements = 0; - for (j = 0; j < num_otg_elements; j++) { - subsetting_otg=config_setting_get_elem(setting_otg, j); + for (j = 0; j < num_otg_elements; j++) { + subsetting_otg=config_setting_get_elem(setting_otg, j); - if (config_setting_lookup_int(subsetting_otg, ENB_CONF_STRING_OTG_UE_ID, &otg_ue_id)) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = otg_ue_id; - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = 1; - } + if (config_setting_lookup_int(subsetting_otg, ENB_CONF_STRING_OTG_UE_ID, &otg_ue_id)) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = otg_ue_id; + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = 1; + } - if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_APP_TYPE, (const char **)&otg_app_type)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = map_str_to_int(otg_app_type_names,otg_app_type))== -1) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = BCBR; - } - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = NO_PREDEFINED_TRAFFIC; // 0 - } + if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_APP_TYPE, (const char **)&otg_app_type)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = map_str_to_int(otg_app_type_names,otg_app_type))== -1) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = BCBR; + } + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = NO_PREDEFINED_TRAFFIC; // 0 + } - if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_BG_TRAFFIC, (const char **)&otg_bg_traffic)) { + if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_BG_TRAFFIC, (const char **)&otg_bg_traffic)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = map_str_to_int(switch_names,otg_bg_traffic)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j]=0; - } - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = 0; - printf("otg bg %s\n", otg_bg_traffic); - } + if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = map_str_to_int(switch_names,otg_bg_traffic)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j]=0; + } + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = 0; + printf("otg bg %s\n", otg_bg_traffic); + } - enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements+=1; + enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements+=1; - } + } } // log_config subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_LOG_CONFIG); if (subsetting != NULL) { - // global - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_LEVEL, (const char **) &glog_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_level = map_str_to_int(log_level_names, glog_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - } + // global + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_LEVEL, (const char **) &glog_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_level = map_str_to_int(log_level_names, glog_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + } - //printf( "\tGlobal log level :\t%s->%d\n",glog_level, enb_properties_loc.properties[enb_properties_loc_index]->glog_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - } + //printf( "\tGlobal log level :\t%s->%d\n",glog_level, enb_properties_loc.properties[enb_properties_loc_index]->glog_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_VERBOSITY,(const char **) &glog_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = map_str_to_int(log_verbosity_names, glog_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_VERBOSITY,(const char **) &glog_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = map_str_to_int(log_verbosity_names, glog_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + } - //printf( "\tGlobal log verbosity:\t%s->%d\n",glog_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - } + //printf( "\tGlobal log verbosity:\t%s->%d\n",glog_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + } - // HW - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_LEVEL, (const char **) &hw_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = map_str_to_int(log_level_names,hw_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - } + // HW + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_LEVEL, (const char **) &hw_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = map_str_to_int(log_level_names,hw_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + } - //printf( "\tHW log level :\t%s->%d\n",hw_log_level,enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - } + //printf( "\tHW log level :\t%s->%d\n",hw_log_level,enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_VERBOSITY, (const char **) &hw_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = map_str_to_int(log_verbosity_names,hw_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_VERBOSITY, (const char **) &hw_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = map_str_to_int(log_verbosity_names,hw_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + } - //printf( "\tHW log verbosity:\t%s->%d\n",hw_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - } + //printf( "\tHW log verbosity:\t%s->%d\n",hw_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + } - // phy - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_LEVEL,(const char **) &phy_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = map_str_to_int(log_level_names,phy_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - } + // phy + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_LEVEL,(const char **) &phy_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = map_str_to_int(log_level_names,phy_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + } - //printf( "\tPHY log level :\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - } + //printf( "\tPHY log level :\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_VERBOSITY, (const char **)&phy_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = map_str_to_int(log_verbosity_names,phy_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_VERBOSITY, (const char **)&phy_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = map_str_to_int(log_verbosity_names,phy_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + } - //printf( "\tPHY log verbosity:\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - } + //printf( "\tPHY log verbosity:\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + } - //mac - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_LEVEL, (const char **)&mac_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = map_str_to_int(log_level_names,mac_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - } + //mac + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_LEVEL, (const char **)&mac_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = map_str_to_int(log_level_names,mac_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + } - //printf( "\tMAC log level :\t%s->%d\n",mac_log_level,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - } + //printf( "\tMAC log level :\t%s->%d\n",mac_log_level,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_VERBOSITY, (const char **)&mac_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = map_str_to_int(log_verbosity_names,mac_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_VERBOSITY, (const char **)&mac_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = map_str_to_int(log_verbosity_names,mac_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + } - //printf( "\tMAC log verbosity:\t%s->%d\n",mac_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - } + //printf( "\tMAC log verbosity:\t%s->%d\n",mac_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + } - //rlc - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_LEVEL, (const char **)&rlc_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = map_str_to_int(log_level_names,rlc_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - } + //rlc + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_LEVEL, (const char **)&rlc_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = map_str_to_int(log_level_names,rlc_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + } - //printf( "\tRLC log level :\t%s->%d\n",rlc_log_level, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - } + //printf( "\tRLC log level :\t%s->%d\n",rlc_log_level, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_VERBOSITY, (const char **)&rlc_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = map_str_to_int(log_verbosity_names,rlc_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_VERBOSITY, (const char **)&rlc_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = map_str_to_int(log_verbosity_names,rlc_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + } - //printf( "\tRLC log verbosity:\t%s->%d\n",rlc_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - } + //printf( "\tRLC log verbosity:\t%s->%d\n",rlc_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + } - //pdcp - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_LEVEL, (const char **)&pdcp_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = map_str_to_int(log_level_names,pdcp_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - } + //pdcp + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_LEVEL, (const char **)&pdcp_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = map_str_to_int(log_level_names,pdcp_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + } - //printf( "\tPDCP log level :\t%s->%d\n",pdcp_log_level, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - } + //printf( "\tPDCP log level :\t%s->%d\n",pdcp_log_level, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_VERBOSITY, (const char **)&pdcp_log_verbosity)) { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = map_str_to_int(log_verbosity_names,pdcp_log_verbosity); - //printf( "\tPDCP log verbosity:\t%s->%d\n",pdcp_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_VERBOSITY, (const char **)&pdcp_log_verbosity)) { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = map_str_to_int(log_verbosity_names,pdcp_log_verbosity); + //printf( "\tPDCP log verbosity:\t%s->%d\n",pdcp_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; + } - //rrc - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_LEVEL, (const char **)&rrc_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = map_str_to_int(log_level_names,rrc_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - } + //rrc + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_LEVEL, (const char **)&rrc_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = map_str_to_int(log_level_names,rrc_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + } - //printf( "\tRRC log level :\t%s->%d\n",rrc_log_level,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - } + //printf( "\tRRC log level :\t%s->%d\n",rrc_log_level,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_VERBOSITY, (const char **)&rrc_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = map_str_to_int(log_verbosity_names,rrc_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_VERBOSITY, (const char **)&rrc_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = map_str_to_int(log_verbosity_names,rrc_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + } - //printf( "\tRRC log verbosity:\t%s->%d\n",rrc_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - } + //printf( "\tRRC log verbosity:\t%s->%d\n",rrc_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_LEVEL, (const char **)>pu_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = map_str_to_int(log_level_names,gtpu_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_LEVEL, (const char **)>pu_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = map_str_to_int(log_level_names,gtpu_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + } - //printf( "\tGTPU log level :\t%s->%d\n",gtpu_log_level,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - } + //printf( "\tGTPU log level :\t%s->%d\n",gtpu_log_level,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_VERBOSITY, (const char **)>pu_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = map_str_to_int(log_verbosity_names,gtpu_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_VERBOSITY, (const char **)>pu_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = map_str_to_int(log_verbosity_names,gtpu_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + } - //printf( "\tGTPU log verbosity:\t%s->%d\n",gtpu_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - } + //printf( "\tGTPU log verbosity:\t%s->%d\n",gtpu_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_LEVEL, (const char **)&udp_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = map_str_to_int(log_level_names,udp_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_LEVEL, (const char **)&udp_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = map_str_to_int(log_level_names,udp_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + } - //printf( "\tUDP log level :\t%s->%d\n",udp_log_level,enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - } + //printf( "\tUDP log level :\t%s->%d\n",udp_log_level,enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_VERBOSITY, (const char **)&udp_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = map_str_to_int(log_verbosity_names,udp_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_VERBOSITY, (const char **)&udp_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = map_str_to_int(log_verbosity_names,udp_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + } - //printf( "\tUDP log verbosity:\t%s->%d\n",udp_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - } + //printf( "\tUDP log verbosity:\t%s->%d\n",udp_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_LEVEL, (const char **)&osa_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = map_str_to_int(log_level_names,osa_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_LEVEL, (const char **)&osa_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = map_str_to_int(log_level_names,osa_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + } - //printf( "\tOSA log level :\t%s->%d\n",osa_log_level,enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - } + //printf( "\tOSA log level :\t%s->%d\n",osa_log_level,enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + } - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_VERBOSITY, (const char **)&osa_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = map_str_to_int(log_verbosity_names,osa_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_VERBOSITY, (const char **)&osa_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = map_str_to_int(log_verbosity_names,osa_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } - //printf( "\tOSA log verbosity:\t%s->%d\n",osa_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gosa_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } + //printf( "\tOSA log verbosity:\t%s->%d\n",osa_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gosa_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } } else { // not configuration is given - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; } */ break; + } } } } } -} -int RCconfig_gtpu() { - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *subsetting = NULL; - config_setting_t *setting_enb = NULL; - int num_enbs = 0; - libconfig_int enb_id = 0; + int RCconfig_gtpu() { + config_t cfg; + config_setting_t *setting = NULL; + config_setting_t *subsetting = NULL; + config_setting_t *setting_enb = NULL; + int num_enbs = 0; + libconfig_int enb_id = 0; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - libconfig_int enb_port_for_S1U = 0; - char *address = NULL; - char *cidr = NULL; - char *astring = NULL; + char* enb_interface_name_for_S1U = NULL; + char* enb_ipv4_address_for_S1U = NULL; + libconfig_int enb_port_for_S1U = 0; + char *address = NULL; + char *cidr = NULL; + char *astring = NULL; - // for no gcc warnings - (void)astring; + // for no gcc warnings + (void)astring; - LOG_I(GTPU,"Configuring GTPu\n"); + LOG_I(GTPU,"Configuring GTPu\n"); - config_init(&cfg); + config_init(&cfg); - if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. - if (! config_read_file(&cfg, RC.config_file_name)) { + if (RC.config_file_name != NULL) { + // Read the file. If there is an error, report it and exit. + if (! config_read_file(&cfg, RC.config_file_name)) { + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + } + } else { config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + AssertFatal (0, "No eNB configuration file provided!\n"); } - } else { - config_destroy(&cfg); - AssertFatal (0, "No eNB configuration file provided!\n"); - } - // Get list of active eNBs, (only these will be configured) - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); + // Get list of active eNBs, (only these will be configured) + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - if (setting != NULL) { - num_enbs = config_setting_length(setting); - setting_enb = config_setting_get_elem(setting, 0); - } - - if (num_enbs>0) { - // Output a list of all eNBs. - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - if (setting != NULL) { + num_enbs = config_setting_length(setting); + setting_enb = config_setting_get_elem(setting, 0); + } + + if (num_enbs>0) { + // Output a list of all eNBs. + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); + + if (setting != NULL) { - setting_enb = config_setting_get_elem(setting, 0); - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); + setting_enb = config_setting_get_elem(setting, 0); + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - if (subsetting != NULL) { - if ( (config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { + if (subsetting != NULL) { + if ( (config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, + (const char **)&enb_interface_name_for_S1U) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, + (const char **)&enb_ipv4_address_for_S1U) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, + &enb_port_for_S1U) + ) + ) { - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); + cidr = enb_ipv4_address_for_S1U; + address = strtok(cidr, "/"); - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up); + LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up); + + } + + RC.gtpv1u_data_g->enb_port_for_S1u_S12_S4_up = enb_port_for_S1U; } - - RC.gtpv1u_data_g->enb_port_for_S1u_S12_S4_up = enb_port_for_S1U; - } } } } -} -int RCconfig_S1(MessageDef *msg_p, uint32_t i) { - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *subsetting = NULL; - config_setting_t *setting_mme_addresses = NULL; - config_setting_t *setting_mme_address = NULL; - config_setting_t *setting_enb = NULL; - config_setting_t *setting_otg = NULL; - config_setting_t *subsetting_otg = NULL; - int parse_errors = 0; - int num_enbs = 0; - int num_mme_address = 0; - int num_otg_elements = 0; - int num_component_carriers = 0; - int j = 0; - libconfig_int enb_id = 0; + int RCconfig_S1(MessageDef *msg_p, uint32_t i) { + config_t cfg; + config_setting_t *setting = NULL; + config_setting_t *subsetting = NULL; + config_setting_t *setting_mme_addresses = NULL; + config_setting_t *setting_mme_address = NULL; + config_setting_t *setting_enb = NULL; + config_setting_t *setting_otg = NULL; + config_setting_t *subsetting_otg = NULL; + int parse_errors = 0; + int num_enbs = 0; + int num_mme_address = 0; + int num_otg_elements = 0; + int num_component_carriers = 0; + int j = 0; + libconfig_int enb_id = 0; - const char* cell_type = NULL; - const char* tac = 0; - const char* enb_name = NULL; - const char* mcc = 0; - const char* mnc = 0; + const char* cell_type = NULL; + const char* tac = 0; + const char* enb_name = NULL; + const char* mcc = 0; + const char* mnc = 0; - libconfig_int my_int; + libconfig_int my_int; - char* if_name = NULL; - char* ipv4 = NULL; - char* ipv4_remote = NULL; - char* ipv6 = NULL; - char* local_rf = NULL; - char* preference = NULL; - char* active = NULL; + char* if_name = NULL; + char* ipv4 = NULL; + char* ipv4_remote = NULL; + char* ipv6 = NULL; + char* local_rf = NULL; + char* preference = NULL; + char* active = NULL; - char* tr_preference = NULL; - libconfig_int local_port = 0; - libconfig_int remote_port = 0; - const char* active_enb[MAX_ENB]; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - libconfig_int enb_port_for_S1U = 0; - char* enb_interface_name_for_S1_MME = NULL; - char* enb_ipv4_address_for_S1_MME = NULL; - char *address = NULL; - char *cidr = NULL; - char *astring = NULL; + char* tr_preference = NULL; + libconfig_int local_port = 0; + libconfig_int remote_port = 0; + const char* active_enb[MAX_ENB]; + char* enb_interface_name_for_S1U = NULL; + char* enb_ipv4_address_for_S1U = NULL; + libconfig_int enb_port_for_S1U = 0; + char* enb_interface_name_for_S1_MME = NULL; + char* enb_ipv4_address_for_S1_MME = NULL; + char *address = NULL; + char *cidr = NULL; + char *astring = NULL; - // for no gcc warnings - (void)astring; - (void)my_int; + // for no gcc warnings + (void)astring; + (void)my_int; - memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*)); + memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*)); - config_init(&cfg); + config_init(&cfg); - if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. - if (! config_read_file(&cfg, RC.config_file_name)) { + if (RC.config_file_name != NULL) { + // Read the file. If there is an error, report it and exit. + if (! config_read_file(&cfg, RC.config_file_name)) { + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + } + } else { config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + AssertFatal (0, "No eNB configuration file provided!\n"); } - } else { - config_destroy(&cfg); - AssertFatal (0, "No eNB configuration file provided!\n"); - } #if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME) - if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { - if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { - asn_debug = 0; - asn1_xer_print = 0; - } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { - asn_debug = 1; - asn1_xer_print = 1; - } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { - asn_debug = 1; - asn1_xer_print = 2; - } else { - asn_debug = 0; - asn1_xer_print = 0; + if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { + if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { + asn_debug = 0; + asn1_xer_print = 0; + } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { + asn_debug = 1; + asn1_xer_print = 1; + } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { + asn_debug = 1; + asn1_xer_print = 2; + } else { + asn_debug = 0; + asn1_xer_print = 0; + } } - } #endif - // Get list of active eNBs, (only these will be configured) - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); + // Get list of active eNBs, (only these will be configured) + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - if (setting != NULL) { - num_enbs = config_setting_length(setting); - setting_enb = config_setting_get_elem(setting, i); - active_enb[i] = config_setting_get_string (setting_enb); - AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %uth attribute %s \n", - RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); - active_enb[i] = strdup(active_enb[i]); - } - - - if (num_enbs>0) { - // Output a list of all eNBs. - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - if (setting != NULL) { num_enbs = config_setting_length(setting); + setting_enb = config_setting_get_elem(setting, i); + active_enb[i] = config_setting_get_string (setting_enb); + AssertFatal (active_enb[i] != NULL, + "Failed to parse config file %s, %uth attribute %s \n", + RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); + active_enb[i] = strdup(active_enb[i]); + } + + + if (num_enbs>0) { + // Output a list of all eNBs. + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); + + if (setting != NULL) { + num_enbs = config_setting_length(setting); - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); + for (i = 0; i < num_enbs; i++) { + setting_enb = config_setting_get_elem(setting, i); - if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - // Calculate a default eNB ID + if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { + // Calculate a default eNB ID # if defined(ENABLE_USE_MME) - uint32_t hash; + uint32_t hash; - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); + hash = s1ap_generate_eNB_id (); + enb_id = i + (hash & 0xFFFF8); # else - enb_id = i; + enb_id = i; # endif - } + } - if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) + if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } - // search if in active list - for (j=0; j < num_enbs; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { + // search if in active list + for (j=0; j < num_enbs; j++) { + if (strcmp(active_enb[j], enb_name) == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id; + S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id; - if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - RC.config_file_name, i, cell_type); - } - - S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(enb_name); - S1AP_REGISTER_ENB_REQ (msg_p).tac = (uint16_t)atoi(tac); - S1AP_REGISTER_ENB_REQ (msg_p).mcc = (uint16_t)atoi(mcc); - S1AP_REGISTER_ENB_REQ (msg_p).mnc = (uint16_t)atoi(mnc); - S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length = strlen(mnc); - S1AP_REGISTER_ENB_REQ (msg_p).default_drx = 0; - AssertFatal((S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 2) || - (S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length); - - - - setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); - num_mme_address = config_setting_length(setting_mme_addresses); - S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0; - - for (j = 0; j < num_mme_address; j++) { - setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); - - if ( !( - config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) - ) - ) { + if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_MACRO_ENB; + } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb %u th mme address !\n", - RC.config_file_name, i, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", + RC.config_file_name, i, cell_type); } + + S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(enb_name); + S1AP_REGISTER_ENB_REQ (msg_p).tac = (uint16_t)atoi(tac); + S1AP_REGISTER_ENB_REQ (msg_p).mcc = (uint16_t)atoi(mcc); + S1AP_REGISTER_ENB_REQ (msg_p).mnc = (uint16_t)atoi(mnc); + S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length = strlen(mnc); + S1AP_REGISTER_ENB_REQ (msg_p).default_drx = 0; + AssertFatal((S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 2) || + (S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 3), + "BAD MNC DIGIT LENGTH %d", + S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length); + + - S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1; + setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); + num_mme_address = config_setting_length(setting_mme_addresses); + S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0; - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4_address,ipv4); - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6_address,ipv6); + for (j = 0; j < num_mme_address; j++) { + setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); - if (strcmp(active, "yes") == 0) { + if ( !( + config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb %u th mme address !\n", + RC.config_file_name, i, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + + S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1; + + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4_address,ipv4); + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6_address,ipv6); + + if (strcmp(active, "yes") == 0) { #if defined(ENABLE_USE_MME) - EPC_MODE_ENABLED = 1; + EPC_MODE_ENABLED = 1; #endif - } - if (strcmp(preference, "ipv4") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; - } else if (strcmp(preference, "ipv6") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; - } else if (strcmp(preference, "no") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } + if (strcmp(preference, "ipv4") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; + } else if (strcmp(preference, "ipv6") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } else if (strcmp(preference, "no") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } } - } - // SCTP SETTING - S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = SCTP_OUT_STREAMS; - S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = SCTP_IN_STREAMS; + // SCTP SETTING + S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = SCTP_OUT_STREAMS; + S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = SCTP_IN_STREAMS; # if defined(ENABLE_USE_MME) - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); - if (subsetting != NULL) { - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { - S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)my_int; - } + if (subsetting != NULL) { + if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { + S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)my_int; + } - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { - S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)my_int; + if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { + S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)my_int; + } } - } #endif - // NETWORK_INTERFACES - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); + // NETWORK_INTERFACES + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, - (const char **)&enb_interface_name_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, - (const char **)&enb_ipv4_address_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { - // S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); + if (subsetting != NULL) { + if ( ( + config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, + (const char **)&enb_interface_name_for_S1_MME) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, + (const char **)&enb_ipv4_address_for_S1_MME) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, + (const char **)&enb_interface_name_for_S1U) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, + (const char **)&enb_ipv4_address_for_S1U) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, + &enb_port_for_S1U) + ) + ) { + // S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); + cidr = enb_ipv4_address_for_S1U; + address = strtok(cidr, "/"); - S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0; - S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4 = 1; + S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0; + S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4 = 1; - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, address); + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, address); - /* - in_addr_t ipv4_address; + /* + in_addr_t ipv4_address; - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - } - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, inet_ntoa(ipv4_address)); - // S1AP_REGISTER_ENB_REQ (msg_p).enb_port_for_S1U = enb_port_for_S1U; + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); + } + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, inet_ntoa(ipv4_address)); + // S1AP_REGISTER_ENB_REQ (msg_p).enb_port_for_S1U = enb_port_for_S1U; - S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1_MME = strdup(enb_interface_name_for_S1_MME); - cidr = enb_ipv4_address_for_S1_MME; - address = strtok(cidr, "/"); + S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1_MME = strdup(enb_interface_name_for_S1_MME); + cidr = enb_ipv4_address_for_S1_MME; + address = strtok(cidr, "/"); - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, S1AP_REGISTER_ENB_REQ(msg_p).enb_ipv4_address_for_S1_MME, "BAD IP ADDRESS FORMAT FOR eNB S1_MME !\n" ); + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, S1AP_REGISTER_ENB_REQ(msg_p).enb_ipv4_address_for_S1_MME, "BAD IP ADDRESS FORMAT FOR eNB S1_MME !\n" ); + } + */ } - */ } - } - break; + break; + } } } } } } -} -void RCConfig(const char *config_file_name) { + void RCConfig(const char *config_file_name) { - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *setting_enb = NULL; - config_setting_t *setting_component_carriers = NULL; - config_init(&cfg); + config_t cfg; + config_setting_t *setting = NULL; + config_setting_t *setting_enb = NULL; + config_setting_t *setting_component_carriers = NULL; + config_init(&cfg); - if (config_file_name != NULL) { - - RC.config_file_name = config_file_name; - if (! config_read_file(&cfg, RC.config_file_name)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); - } - // Get num eNB instances - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - - if (setting != NULL) RC.nb_inst = config_setting_length(setting); - if (RC.nb_inst > 0) { - printf("Number of eNB RRC instances %d\n",RC.nb_inst); - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - RC.nb_CC = (int *)malloc((1+RC.nb_inst)*sizeof(int)); - for (int i=0;i 0) { + printf("Number of eNB RRC instances %d\n",RC.nb_inst); + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); + RC.nb_CC = (int *)malloc((1+RC.nb_inst)*sizeof(int)); + for (int i=0;i @@ -119,12 +119,12 @@ extern RAN_CONTEXT_t RC; uint16_t two_tier_hexagonal_cellIds[7] = {0,1,2,4,5,7,8}; uint16_t two_tier_hexagonal_adjacent_cellIds[7][6] = {{1,2,4,5,7,8}, // CellId 0 - {11,18,2,0,8,15}, // CellId 1 - {18,13,3,4,0,1}, // CellId 2 - {2,3,14,6,5,0}, // CellId 4 - {0,4,6,16,9,7}, // CellId 5 - {8,0,5,9,17,12}, // CellId 7 - {15,1,0,7,12,10} + {11,18,2,0,8,15}, // CellId 1 + {18,13,3,4,0,1}, // CellId 2 + {2,3,14,6,5,0}, // CellId 4 + {0,4,6,16,9,7}, // CellId 5 + {8,0,5,9,17,12}, // CellId 7 + {15,1,0,7,12,10} };// CellId 8 /* @@ -234,10 +234,10 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich AssertFatal(phich_Resource <= PHICH_Config__phich_Duration_extended,"Illegal phich_Duration\n"); mib->message.phich_Config.phich_Duration = phich_duration; LOG_I(RRC,"[MIB] systemBandwidth %x, phich_duration %x, phich_resource %x,sfn %x\n", - (uint32_t)mib->message.dl_Bandwidth, - (uint32_t)phich_duration, - (uint32_t)phich_Resource, - (uint32_t)sfn); + (uint32_t)mib->message.dl_Bandwidth, + (uint32_t)phich_duration, + (uint32_t)phich_Resource, + (uint32_t)sfn); mib->message.systemFrameNumber.buf = &sfn; mib->message.systemFrameNumber.size = 1; @@ -261,24 +261,24 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich enc_rval.failed_type->name, enc_rval.encoded); /* -#if defined(ENABLE_ITTI) -# if !defined(DISABLE_XER_SPRINT) - { + #if defined(ENABLE_ITTI) + # if !defined(DISABLE_XER_SPRINT) + { char message_string[20000]; size_t message_string_size; if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_BCCH_BCH_Message, (void *) &mib)) > 0) { - MessageDef *msg_p; + MessageDef *msg_p; - msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_BCCH, message_string_size + sizeof (IttiMsgText)); - msg_p->ittiMsg.rrc_dl_bcch.size = message_string_size; - memcpy(&msg_p->ittiMsg.rrc_dl_bcch.text, message_string, message_string_size); + msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_BCCH, message_string_size + sizeof (IttiMsgText)); + msg_p->ittiMsg.rrc_dl_bcch.size = message_string_size; + memcpy(&msg_p->ittiMsg.rrc_dl_bcch.text, message_string, message_string_size); - itti_send_msg_to_task(TASK_UNKNOWN, enb_module_idP, msg_p); + itti_send_msg_to_task(TASK_UNKNOWN, enb_module_idP, msg_p); } - } -# endif -#endif + } + # endif + #endif */ if (enc_rval.encoded==-1) { return(-1); @@ -292,7 +292,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, #if defined(ENABLE_ITTI) , RrcConfigurationReq *configuration #endif - ) +#ifdef Rel14 + , int br_flag +#endif + ) { // SystemInformation_t systemInformation; @@ -301,18 +304,32 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, asn_enc_rval_t enc_rval; SchedulingInfo_t schedulingInfo; SIB_Type_t sib_type; + uint8_t *buffer; + BCCH_DL_SCH_Message_t *bcch_message; + SystemInformationBlockType1_t **sib1; - uint8_t *buffer = carrier->SIB1; - BCCH_DL_SCH_Message_t *bcch_message = &carrier->siblock1; - SystemInformationBlockType1_BR_r13_t **sib1_br = &carrier->sib1; - - +#ifdef Rel14 + if (br_flag==0) { + buffer = carrier->SIB1; + bcch_message = &carrier->siblock1; + sib1 = &carrier->sib1; + } + else { + buffer = carrier->SIB1_BR; + bcch_message = &carrier->siblock1_BR; + sib1 = &carrier->sib1_BR; + } +#else + buffer = carrier->SIB1; + bcch_message = &carrier->siblock1; + sib1 = &carrier->sib1; +#endif memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_t)); bcch_message->message.present = BCCH_DL_SCH_MessageType_PR_c1; bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1; // memcpy(&bcch_message.message.choice.c1.choice.systemInformationBlockType1,sib1,sizeof(SystemInformationBlockType1_t)); - *sib1_br = &bcch_message->message.choice.c1.choice.systemInformationBlockType1; + *sib1 = &bcch_message->message.choice.c1.choice.systemInformationBlockType1; memset(&PLMN_identity_info,0,sizeof(PLMN_IdentityInfo_t)); memset(&schedulingInfo,0,sizeof(SchedulingInfo_t)); @@ -373,410 +390,414 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, //assign_enum(&PLMN_identity_info.cellReservedForOperatorUse,PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved); PLMN_identity_info.cellReservedForOperatorUse=PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved; - ASN_SEQUENCE_ADD(&(*sib1_br)->cellAccessRelatedInfo.plmn_IdentityList.list, &PLMN_identity_info); + ASN_SEQUENCE_ADD(&(*sib1)->cellAccessRelatedInfo.plmn_IdentityList.list, &PLMN_identity_info); - // 16 bits - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf = MALLOC(2); + // 16 bits + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf = MALLOC(2); #if defined(ENABLE_ITTI) - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = (configuration->tac >> 8) & 0xff; - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = (configuration->tac >> 0) & 0xff; + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = (configuration->tac >> 8) & 0xff; + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = (configuration->tac >> 0) & 0xff; #else - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = 0x00; - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = 0x01; + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[0] = 0x00; + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.buf[1] = 0x01; #endif - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.size = 2; - (*sib1_br)->cellAccessRelatedInfo.trackingAreaCode.bits_unused = 0; + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.size = 2; + (*sib1)->cellAccessRelatedInfo.trackingAreaCode.bits_unused = 0; - // 28 bits - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf = MALLOC(8); + // 28 bits + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf = MALLOC(8); #if defined(ENABLE_ITTI) - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[0] = (configuration->cell_identity >> 20) & 0xff; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[1] = (configuration->cell_identity >> 12) & 0xff; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[2] = (configuration->cell_identity >> 4) & 0xff; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[3] = (configuration->cell_identity << 4) & 0xf0; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[0] = (configuration->cell_identity >> 20) & 0xff; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[1] = (configuration->cell_identity >> 12) & 0xff; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[2] = (configuration->cell_identity >> 4) & 0xff; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[3] = (configuration->cell_identity << 4) & 0xf0; #else - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[0] = 0x00; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[1] = 0x00; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[2] = 0x00; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.buf[3] = 0x10; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[0] = 0x00; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[1] = 0x00; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[2] = 0x00; + (*sib1)->cellAccessRelatedInfo.cellIdentity.buf[3] = 0x10; #endif - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.size = 4; - (*sib1_br)->cellAccessRelatedInfo.cellIdentity.bits_unused = 4; + (*sib1)->cellAccessRelatedInfo.cellIdentity.size = 4; + (*sib1)->cellAccessRelatedInfo.cellIdentity.bits_unused = 4; - // assign_enum(&(*sib1)->cellAccessRelatedInfo.cellBarred,SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred); - (*sib1_br)->cellAccessRelatedInfo.cellBarred = SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred; + // assign_enum(&(*sib1)->cellAccessRelatedInfo.cellBarred,SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred); + (*sib1)->cellAccessRelatedInfo.cellBarred = SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred; - // assign_enum(&(*sib1)->cellAccessRelatedInfo.intraFreqReselection,SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_allowed); - (*sib1_br)->cellAccessRelatedInfo.intraFreqReselection = SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_notAllowed; - (*sib1_br)->cellAccessRelatedInfo.csg_Indication = 0; + // assign_enum(&(*sib1)->cellAccessRelatedInfo.intraFreqReselection,SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_allowed); + (*sib1)->cellAccessRelatedInfo.intraFreqReselection = SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_notAllowed; + (*sib1)->cellAccessRelatedInfo.csg_Indication = 0; - (*sib1_br)->cellSelectionInfo.q_RxLevMin = -65; - (*sib1_br)->cellSelectionInfo.q_RxLevMinOffset = NULL; - //(*sib1)->p_Max = CALLOC(1, sizeof(P_Max_t)); - //*((*sib1)->p_Max) = 23; - (*sib1_br)->freqBandIndicator = + (*sib1)->cellSelectionInfo.q_RxLevMin = -65; + (*sib1)->cellSelectionInfo.q_RxLevMinOffset = NULL; + //(*sib1)->p_Max = CALLOC(1, sizeof(P_Max_t)); + //*((*sib1)->p_Max) = 23; + (*sib1)->freqBandIndicator = #if defined(ENABLE_ITTI) - configuration->eutra_band[CC_id]; + configuration->eutra_band[CC_id]; #else - 7; + 7; #endif - schedulingInfo.si_Periodicity = SchedulingInfo__si_Periodicity_rf8; + schedulingInfo.si_Periodicity = SchedulingInfo__si_Periodicity_rf8; - // This is for SIB2/3 - sib_type = SIB_Type_sibType3; - ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list, &sib_type); - ASN_SEQUENCE_ADD(&(*sib1_br)->schedulingInfoList.list, &schedulingInfo); + // This is for SIB2/3 + sib_type = SIB_Type_sibType3; + ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list, &sib_type); + ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list, &schedulingInfo); - // ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL); + // ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL); #if defined(ENABLE_ITTI) - if (configuration->frame_type[CC_id] == TDD) + if (configuration->frame_type[CC_id] == TDD) #endif + { + (*sib1)->tdd_Config = CALLOC(1, sizeof(struct TDD_Config)); + + (*sib1)->tdd_Config->subframeAssignment = +#if defined(ENABLE_ITTI) + configuration->tdd_config[CC_id]; +#else + 3; // +kogo this was frame_parms->tdd_config +#endif + + (*sib1)->tdd_Config->specialSubframePatterns = +#if defined(ENABLE_ITTI) + configuration->tdd_config_s[CC_id]; +#else + 0; // +kogo this was frame_parms->tdd_config_S; +#endif + } + + (*sib1)->si_WindowLength = SystemInformationBlockType1__si_WindowLength_ms20; + (*sib1)->systemInfoValueTag = 0; + +#ifdef Rel14 + (*sib1)->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v890_IEs_t)); + + SystemInformationBlockType1_v890_IEs_t *sib1_890 = (*sib1)->nonCriticalExtension; + sib1_890->lateNonCriticalExtension = NULL; + sib1_890->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v920_IEs_t)); + memset(sib1_890->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v920_IEs_t)); + + SystemInformationBlockType1_v920_IEs_t *sib1_920 = (*sib1_890).nonCriticalExtension; + sib1_920->ims_EmergencySupport_r9 = NULL; // ptr + sib1_920->cellSelectionInfo_v920 = NULL; + sib1_920->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1130_IEs_t)); + memset(sib1_920->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1130_IEs_t)); + + //////Rel11 + SystemInformationBlockType1_v1130_IEs_t *sib1_1130 = sib1_920->nonCriticalExtension; + + sib1_1130->tdd_Config_v1130 = NULL; // ptr + sib1_1130->cellSelectionInfo_v1130 = NULL; // ptr + sib1_1130->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1250_IEs_t)); + memset(sib1_1130->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1250_IEs_t)); + + + ///Rel12 + SystemInformationBlockType1_v1250_IEs_t *sib1_1250 = sib1_1130->nonCriticalExtension; + sib1_1250->cellAccessRelatedInfo_v1250.category0Allowed_r12 = NULL; // long* + sib1_1250->cellSelectionInfo_v1250 = NULL; + sib1_1250->freqBandIndicatorPriority_r12 = 0; // long* // FIXME + sib1_1250->nonCriticalExtension = NULL; + + + + + ////Rel1310 +#if defined(ENABLE_ITTI) + if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) + { + sib1_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + memset(sib1_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + SystemInformationBlockType1_v1310_IEs_t *sib1_1310 = sib1_1250->nonCriticalExtension; + + + if (configuration->hyperSFN_r13[CC_id]) { - (*sib1_br)->tdd_Config = CALLOC(1, sizeof(struct TDD_Config)); - - (*sib1_br)->tdd_Config->subframeAssignment = -#if defined(ENABLE_ITTI) - configuration->tdd_config[CC_id]; -#else - 3; // +kogo this was frame_parms->tdd_config -#endif - - (*sib1_br)->tdd_Config->specialSubframePatterns = -#if defined(ENABLE_ITTI) - configuration->tdd_config_s[CC_id]; -#else - 0; // +kogo this was frame_parms->tdd_config_S; -#endif + sib1_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_1310->hyperSFN_r13->size = 2; + sib1_1310->hyperSFN_r13->bits_unused = 6; } + else + sib1_1310->hyperSFN_r13 = NULL; - (*sib1_br)->si_WindowLength = SystemInformationBlockType1__si_WindowLength_ms20; - (*sib1_br)->systemInfoValueTag = 0; - (*sib1_br)->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v890_IEs_t)); - - SystemInformationBlockType1_v890_IEs_t *sib1_br_890 = (*sib1_br)->nonCriticalExtension; - sib1_br_890->lateNonCriticalExtension = NULL; - sib1_br_890->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v920_IEs_t)); - memset(sib1_br_890->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v920_IEs_t)); - - SystemInformationBlockType1_v920_IEs_t *sib1_br_920 = (*sib1_br_890).nonCriticalExtension; - sib1_br_920->ims_EmergencySupport_r9 = NULL; // ptr - sib1_br_920->cellSelectionInfo_v920 = NULL; - sib1_br_920->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1130_IEs_t)); - memset(sib1_br_920->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1130_IEs_t)); - - //////Rel11 - SystemInformationBlockType1_v1130_IEs_t *sib1_br_1130 = sib1_br_920->nonCriticalExtension; - - sib1_br_1130->tdd_Config_v1130 = NULL; // ptr - sib1_br_1130->cellSelectionInfo_v1130 = NULL; // ptr - sib1_br_1130->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1250_IEs_t)); - memset(sib1_br_1130->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1250_IEs_t)); - - - ///Rel12 - SystemInformationBlockType1_v1250_IEs_t *sib1_br_1250 = sib1_br_1130->nonCriticalExtension; - sib1_br_1250->cellAccessRelatedInfo_v1250.category0Allowed_r12 = NULL; // long* - sib1_br_1250->cellSelectionInfo_v1250 = NULL; - sib1_br_1250->freqBandIndicatorPriority_r12 = 0; // long* // FIXME - sib1_br_1250->nonCriticalExtension = NULL; - - - - - ////Rel1310 -#if defined(ENABLE_ITTI) - if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) + if (configuration->eDRX_Allowed_r13[CC_id]) { - sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; + sib1_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); + *sib1_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; + } + else + sib1_1310->eDRX_Allowed_r13 = NULL; // long* + + if (configuration->cellSelectionInfoCE_r13[CC_id]) + { + sib1_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long + if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) + { + sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); + *sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; + } + else + sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; + } + else + sib1_1310->cellSelectionInfoCE_r13 = NULL; + + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = configuration->si_WindowLength_BR_r13[CC_id]; // 0 - if (configuration->hyperSFN_r13[CC_id]) - { - sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type - memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_br_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_br_1310->hyperSFN_r13->size = 2; - sib1_br_1310->hyperSFN_r13->bits_unused = 6; - } - else - sib1_br_1310->hyperSFN_r13 = NULL; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = configuration->si_RepetitionPattern_r13[CC_id]; // 0 - if (configuration->eDRX_Allowed_r13[CC_id]) - { - sib1_br_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); - *sib1_br_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; - } - else - sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); + SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); + memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); + schedulinginfo_br_13->si_Narrowband_r13 = 1; + schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); - if (configuration->cellSelectionInfoCE_r13[CC_id]) - { - sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); - memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); - sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long - if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) - { - sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); - *sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; - } - else - sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; - } - else - sib1_br_1310->cellSelectionInfoCE_r13 = NULL; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); - if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 - = configuration->si_WindowLength_BR_r13[CC_id]; // 0 + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + } + else + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; + } + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], + 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 - = configuration->si_RepetitionPattern_r13[CC_id]; // 0 + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 + = configuration->si_HoppingConfigCommon_r13[CC_id]; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); - SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); - memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); - schedulinginfo_br_13->si_Narrowband_r13 = 1; - schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + if (configuration->si_ValidityTime_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 + = *configuration->si_ValidityTime_r13[CC_id]; + } + else + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, - sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + } + else + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; - if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + sib1_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + memset(sib1_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; - } - else - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); - memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; - } - - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], - 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; - - - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 - = configuration->si_HoppingConfigCommon_r13[CC_id]; - - if (configuration->si_ValidityTime_r13[CC_id]) - { - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); - *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 - = *configuration->si_ValidityTime_r13[CC_id]; - } - else - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; - - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); - } - else - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; - - sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - - /////Rel1320 - SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; + /////Rel1320 + SystemInformationBlockType1_v1320_IEs_t *sib1_1320 = sib1_1310->nonCriticalExtension; - if (configuration->freqHoppingParametersDL_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + if (configuration->freqHoppingParametersDL_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; - } - else - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; + if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; + } + else + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } - else - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } + if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } + else + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } - else - { - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } + if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } + else + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } - if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) - { + if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) + { - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; - } - else - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; + } + else + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; - } - else - sib1_br_1320->freqHoppingParametersDL_r13 = NULL; + } + else + sib1_1320->freqHoppingParametersDL_r13 = NULL; - sib1_br_1320->nonCriticalExtension = NULL; + sib1_1320->nonCriticalExtension = NULL; } #else - sib1_br_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - memset(sib1_br_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); - SystemInformationBlockType1_v1310_IEs_t *sib1_br_1310 = sib1_br_1250->nonCriticalExtension; + sib1_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + memset(sib1_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); + SystemInformationBlockType1_v1310_IEs_t *sib1_1310 = sib1_1250->nonCriticalExtension; - sib1_br_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type - memset(sib1_br_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); - memset(sib1_br_1310->hyperSFN_r13->buf, 0, 2*sizeof(uint8_t)); - sib1_br_1310->hyperSFN_r13->size = 2; - sib1_br_1310->hyperSFN_r13->bits_unused = 6; + sib1_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memset(sib1_1310->hyperSFN_r13->buf, 0, 2*sizeof(uint8_t)); + sib1_1310->hyperSFN_r13->size = 2; + sib1_1310->hyperSFN_r13->bits_unused = 6; - sib1_br_1310->eDRX_Allowed_r13 = NULL; // long* - sib1_br_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); - memset(sib1_br_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); - sib1_br_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = -70; // (Q_RxLevMin_t) long - sib1_br_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; // (Q_RxLevMin_t) *long + sib1_1310->eDRX_Allowed_r13 = NULL; // long* + sib1_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = -70; // (Q_RxLevMin_t) long + sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; // (Q_RxLevMin_t) *long - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms20; // 0 + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms20; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_everyRF; // 0 + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_everyRF; // 0 - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); schedulinginfo_br_13->si_Narrowband_r13 = 1; schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, - sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, 0, 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, 0, 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, 0, - 2 * sizeof(uint8_t)); - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = 1; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_on; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, 0, + 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = 1; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_on; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); - memset(sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); - *sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_ValidityTime_r13_true; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_ValidityTime_r13_true; - sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; - ASN_SEQUENCE_ADD(&sib1_br_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); - sib1_br_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); - memset(sib1_br_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + sib1_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); + memset(sib1_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); /////Rel1320 - SystemInformationBlockType1_v1320_IEs_t *sib1_br_1320 = sib1_br_1310->nonCriticalExtension; - sib1_br_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + SystemInformationBlockType1_v1320_IEs_t *sib1_1320 = sib1_1310->nonCriticalExtension; + sib1_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__mpdcch_pdsch_HoppingNB_r13_nb2; + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__mpdcch_pdsch_HoppingNB_r13_nb2; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13__interval_FDD_r13_int1; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13__interval_FDD_r13_int1; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - memset(sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; - sib1_br_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13__interval_FDD_r13_int2; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13__interval_FDD_r13_int2; - sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); - *sib1_br_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = 1; + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = 1; - sib1_br_1320->nonCriticalExtension = NULL; + sib1_1320->nonCriticalExtension = NULL; #endif +#endif + #ifdef XER_PRINT xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message, - (void*)bcch_message, - buffer, - 100); + (void*)bcch_message, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -809,11 +830,14 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, uint8_t do_SIB23(uint8_t Mod_id, - int CC_id + int CC_id #if defined(ENABLE_ITTI) - , RrcConfigurationReq *configuration + , RrcConfigurationReq *configuration #endif - ) +#ifdef Rel14 + , int br_flag +#endif + ) { struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part; #if defined(Rel10) || defined(Rel14) @@ -824,13 +848,31 @@ uint8_t do_SIB23(uint8_t Mod_id, #endif asn_enc_rval_t enc_rval; - uint8_t *buffer = RC.rrc[Mod_id]->carrier[CC_id].SIB23; - BCCH_DL_SCH_Message_t *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation; - SystemInformationBlockType2_t **sib2_br = &RC.rrc[Mod_id]->carrier[CC_id].sib2; - SystemInformationBlockType3_t **sib3 = &RC.rrc[Mod_id]->carrier[CC_id].sib3; + + BCCH_DL_SCH_Message_t *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation; + uint8_t *buffer; + SystemInformationBlockType2_t **sib2; + RadioResourceConfig *rrconfig; +#ifdef Rel14 + if (br_flag == 0) { + buffer = RC.rrc[Mod_id]->carrier[CC_id].SIB23; + sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2; + rrconfig = &configuration->radioresourceconfig[CC_id]; + } + else { + buffer = RC.rrc[Mod_id]->carrier[CC_id].SIB23_BR; + sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2_BR; + rrconfig = &configuration->radioresourceconfig_BR[CC_id]; + } +#else + buffer = RC.rrc[Mod_id]->carrier[CC_id].SIB23; + sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2; + rrconfig = &configuration->radioresourceconfig[CC_id]; +#endif + SystemInformationBlockType3_t **sib3 = &RC.rrc[Mod_id]->carrier[CC_id].sib3; #if defined(Rel10) || defined(Rel14) - SystemInformationBlockType13_r9_t **sib13 = &RC.rrc[Mod_id]->carrier[CC_id].sib13; - uint8_t MBMS_flag = RC.rrc[Mod_id]->carrier[CC_id].MBMS_flag; + SystemInformationBlockType13_r9_t **sib13 = &RC.rrc[Mod_id]->carrier[CC_id].sib13; + uint8_t MBMS_flag = RC.rrc[Mod_id]->carrier[CC_id].MBMS_flag; #endif if (bcch_message) { @@ -840,8 +882,8 @@ uint8_t do_SIB23(uint8_t Mod_id, exit(-1); } - if (!sib2_br) { - LOG_E(RRC,"[eNB %d] sib2_br is null, exiting\n", Mod_id); + if (!sib2) { + LOG_E(RRC,"[eNB %d] sib2 is null, exiting\n", Mod_id); exit(-1); } @@ -851,7 +893,7 @@ uint8_t do_SIB23(uint8_t Mod_id, } #if defined(Rel10) || defined(Rel14) - LOG_I(RRC,"[eNB %d] Configuration sib2_br/3, MBMS = %d\n", Mod_id, MBMS_flag); + 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); #endif @@ -863,7 +905,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2; sib3_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3; - *sib2_br = &sib2_part->choice.sib2; + *sib2 = &sib2_part->choice.sib2; *sib3 = &sib3_part->choice.sib3; #if defined(Rel10) || defined(Rel14) @@ -879,54 +921,54 @@ uint8_t do_SIB23(uint8_t Mod_id, // sib2 - (*sib2_br)->ac_BarringInfo = NULL; + (*sib2)->ac_BarringInfo = NULL; #if defined(Rel10) || defined(Rel14) #if 0 - (*sib2_br)->ssac_BarringForMMTEL_Voice_r9 = NULL; - (*sib2_br)->ssac_BarringForMMTEL_Video_r9 = NULL; - (*sib2_br)->ac_BarringForCSFB_r10 = NULL; + (*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL; + (*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL; + (*sib2)->ac_BarringForCSFB_r10 = NULL; #endif - (*sib2_br)->ext1 = NULL; - (*sib2_br)->ext2 = NULL; + (*sib2)->ext1 = NULL; + (*sib2)->ext2 = NULL; #endif #if defined(ENABLE_ITTI) - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles = configuration->rach_numberOfRA_Preambles[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles = rrconfig->rach_numberOfRA_Preambles; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; - if (configuration->rach_preamblesGroupAConfig[CC_id]) { - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig + if (rrconfig->rach_preamblesGroupAConfig) { + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = CALLOC(1,sizeof(struct RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig)); - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->sizeOfRA_PreamblesGroupA - = configuration->rach_sizeOfRA_PreamblesGroupA[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messageSizeGroupA - = configuration->rach_messageSizeGroupA[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messagePowerOffsetGroupB - = configuration->rach_messagePowerOffsetGroupB[CC_id]; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->sizeOfRA_PreamblesGroupA + = rrconfig->rach_sizeOfRA_PreamblesGroupA; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messageSizeGroupA + = rrconfig->rach_messageSizeGroupA; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messagePowerOffsetGroupB + = rrconfig->rach_messagePowerOffsetGroupB; } - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep = configuration->rach_powerRampingStep[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower = configuration->rach_preambleInitialReceivedTargetPower[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax = configuration->rach_preambleTransMax[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize = configuration->rach_raResponseWindowSize[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer = configuration->rach_macContentionResolutionTimer[CC_id]; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = configuration->rach_maxHARQ_Msg3Tx[CC_id]; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep = rrconfig->rach_powerRampingStep; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower = rrconfig->rach_preambleInitialReceivedTargetPower; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax = rrconfig->rach_preambleTransMax; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize = rrconfig->rach_raResponseWindowSize; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer = rrconfig->rach_macContentionResolutionTimer; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = rrconfig->rach_maxHARQ_Msg3Tx; // LTE-M +kogo - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); - memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); + memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); - if (configuration->rach_maxHARQ_Msg3Tx[CC_id]) - { - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); - *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = configuration->rach_maxHARQ_Msg3Tx[CC_id]; // to be re-initialized when we find the enum - } + if (rrconfig->rach_maxHARQ_Msg3Tx) + { + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); + *(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = rrconfig->rach_maxHARQ_Msg3Tx; // to be re-initialized when we find the enum + } else - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); - memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); + memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); memset(rach_ce_levelinfo_r13, 0, sizeof(RACH_CE_LevelInfo_r13_t)); @@ -936,161 +978,161 @@ uint8_t do_SIB23(uint8_t Mod_id, rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); -//--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); + //--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo // BCCH-Config - (*sib2_br)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff - = configuration->bcch_modificationPeriodCoeff[CC_id]; + (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff + = rrconfig->bcch_modificationPeriodCoeff; // PCCH-Config - (*sib2_br)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle - = configuration->pcch_defaultPagingCycle[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pcch_Config.nB - = configuration->pcch_nB[CC_id]; + (*sib2)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle + = rrconfig->pcch_defaultPagingCycle; + (*sib2)->radioResourceConfigCommon.pcch_Config.nB + = rrconfig->pcch_nB; // PRACH-Config - (*sib2_br)->radioResourceConfigCommon.prach_Config.rootSequenceIndex - = configuration->prach_root[CC_id]; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex - = configuration->prach_config_index[CC_id]; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag - = configuration->prach_high_speed[CC_id]; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig - = configuration->prach_zero_correlation[CC_id]; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset - = configuration->prach_freq_offset[CC_id]; + (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex + = rrconfig->prach_root; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex + = rrconfig->prach_config_index; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag + = rrconfig->prach_high_speed; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig + = rrconfig->prach_zero_correlation; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset + = rrconfig->prach_freq_offset; // PDSCH-Config - (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower - = configuration->pdsch_referenceSignalPower[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b - = configuration->pdsch_p_b[CC_id]; + (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower + = rrconfig->pdsch_referenceSignalPower; + (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b + = rrconfig->pdsch_p_b; // PUSCH-Config - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB - = configuration->pusch_n_SB[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode - = configuration->pusch_hoppingMode[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset - = configuration->pusch_hoppingOffset[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM - = configuration->pusch_enable64QAM[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled - = configuration->pusch_groupHoppingEnabled[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH - = configuration->pusch_groupAssignment[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled - = configuration->pusch_sequenceHoppingEnabled[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift - = configuration->pusch_nDMRS1[CC_id]; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB + = rrconfig->pusch_n_SB; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode + = rrconfig->pusch_hoppingMode; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset + = rrconfig->pusch_hoppingOffset; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM + = rrconfig->pusch_enable64QAM; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled + = rrconfig->pusch_groupHoppingEnabled; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH + = rrconfig->pusch_groupAssignment; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled + = rrconfig->pusch_sequenceHoppingEnabled; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift + = rrconfig->pusch_nDMRS1; // PUCCH-Config - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift - = configuration->pucch_delta_shift[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI - = configuration->pucch_nRB_CQI[CC_id]; - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN - = configuration->pucch_nCS_AN[CC_id]; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift + = rrconfig->pucch_delta_shift; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI + = rrconfig->pucch_nRB_CQI; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN + = rrconfig->pucch_nCS_AN; #if !defined(Rel10) && !defined(Rel14) - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN - = configuration->pucch_n1_AN[CC_id]; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN + = rrconfig->pucch_n1_AN; #endif // SRS Config - if (configuration->srs_enable[CC_id]==1) { - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + if (rrconfig->srs_enable == 1) { + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present = SoundingRS_UL_ConfigCommon_PR_setup; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig - = configuration->srs_BandwidthConfig[CC_id]; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig - = configuration->srs_SubframeConfig[CC_id]; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission - = configuration->srs_ackNackST[CC_id]; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig + = rrconfig->srs_BandwidthConfig; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig + = rrconfig->srs_SubframeConfig; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission + = rrconfig->srs_ackNackST; - if (configuration->srs_MaxUpPts[CC_id]) { - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts - = CALLOC(1,sizeof(long)); - *(*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts=1; + if (rrconfig->srs_MaxUpPts) { + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts + = CALLOC(1,sizeof(long)); + *(*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts=1; } else { - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts = NULL; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts = NULL; } RC.rrc[Mod_id]->srs_enable[CC_id] = 1; } else { RC.rrc[Mod_id]->srs_enable[CC_id] = 0; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; } // uplinkPowerControlCommon - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH - = configuration->pusch_p0_Nominal[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH - = configuration->pucch_p0_Nominal[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha - = configuration->pusch_alpha[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1 - = configuration->pucch_deltaF_Format1[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b - = configuration->pucch_deltaF_Format1b[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2 - = configuration->pucch_deltaF_Format2[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a - = configuration->pucch_deltaF_Format2a[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b - = configuration->pucch_deltaF_Format2b[CC_id]; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 - = configuration->msg3_delta_Preamble[CC_id]; - (*sib2_br)->radioResourceConfigCommon.ul_CyclicPrefixLength - = configuration->ul_CyclicPrefixLength[CC_id]; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH + = rrconfig->pusch_p0_Nominal; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH + = rrconfig->pucch_p0_Nominal; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha + = rrconfig->pusch_alpha; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1 + = rrconfig->pucch_deltaF_Format1; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b + = rrconfig->pucch_deltaF_Format1b; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2 + = rrconfig->pucch_deltaF_Format2; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a + = rrconfig->pucch_deltaF_Format2a; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b + = rrconfig->pucch_deltaF_Format2b; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 + = rrconfig->msg3_delta_Preamble; + (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength + = rrconfig->ul_CyclicPrefixLength; // LTE-M - +Kogo - (*sib2_br)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - memset((*sib2_br)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); - (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; - (*sib2_br)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; - if (configuration->prach_ConfigCommon_v1310[CC_id]) - { - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); + if (rrconfig->prach_ConfigCommon_v1310) + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); RSRP_Range_t rsrp_range = 60; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; - if (configuration->mpdcch_startSF_CSS_RA_r13[CC_id]) - { - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + if (rrconfig->mpdcch_startSF_CSS_RA_r13) + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - if (*configuration->mpdcch_startSF_CSS_RA_r13[CC_id]) - { - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = configuration->mpdcch_startSF_CSS_RA_r13_val[CC_id]; - } - else - { - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = configuration->mpdcch_startSF_CSS_RA_r13_val[CC_id]; - } - } + if (*rrconfig->mpdcch_startSF_CSS_RA_r13) + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; + } + } - if (configuration->prach_HoppingOffset_r13[CC_id]) - { - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = *configuration->prach_HoppingOffset_r13[CC_id]; - } + if (rrconfig->prach_HoppingOffset_r13) + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = *rrconfig->prach_HoppingOffset_r13; + } else - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; PRACH_ParametersCE_r13_t *prach_parametersce_r13 = calloc(1, sizeof(PRACH_ParametersCE_r13_t)); memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); @@ -1107,60 +1149,60 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); - } + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + } else - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); long pucch_info_value1 = 0; long pucch_info_value2 = 2; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; -//----------------------------------------------------------------------------------------------------------------------------------------- + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + //----------------------------------------------------------------------------------------------------------------------------------------- // UE Timers and Constants - (*sib2_br)->ue_TimersAndConstants.t300 - = configuration->ue_TimersAndConstants_t300[CC_id]; - (*sib2_br)->ue_TimersAndConstants.t301 - = configuration->ue_TimersAndConstants_t301[CC_id]; - (*sib2_br)->ue_TimersAndConstants.t310 - = configuration->ue_TimersAndConstants_t310[CC_id]; - (*sib2_br)->ue_TimersAndConstants.n310 - = configuration->ue_TimersAndConstants_n310[CC_id]; - (*sib2_br)->ue_TimersAndConstants.t311 - = configuration->ue_TimersAndConstants_t311[CC_id]; - (*sib2_br)->ue_TimersAndConstants.n311 - = configuration->ue_TimersAndConstants_n311[CC_id]; + (*sib2)->ue_TimersAndConstants.t300 + = rrconfig->ue_TimersAndConstants_t300; + (*sib2)->ue_TimersAndConstants.t301 + = rrconfig->ue_TimersAndConstants_t301; + (*sib2)->ue_TimersAndConstants.t310 + = rrconfig->ue_TimersAndConstants_t310; + (*sib2)->ue_TimersAndConstants.n310 + = rrconfig->ue_TimersAndConstants_n310; + (*sib2)->ue_TimersAndConstants.t311 + = rrconfig->ue_TimersAndConstants_t311; + (*sib2)->ue_TimersAndConstants.n311 + = rrconfig->ue_TimersAndConstants_n311; #else puts("This is a test that #define ITTI is not working"); - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower= + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower= RACH_ConfigCommon__powerRampingParameters__preambleInitialReceivedTargetPower_dBm_100; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax=RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize=RACH_ConfigCommon__ra_SupervisionInfo__ra_ResponseWindowSize_sf10; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer= + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax=RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize=RACH_ConfigCommon__ra_SupervisionInfo__ra_ResponseWindowSize_sf10; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer= RACH_ConfigCommon__ra_SupervisionInfo__mac_ContentionResolutionTimer_sf48; - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = 4; + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = 4; // LTE-M +kogo - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); - memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); - *(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = PreambleTransMax_n5; // to be re-initialized when we find the enum - (*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); - memset((*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); + memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); + *(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = PreambleTransMax_n5; // to be re-initialized when we find the enum + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); + memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); memset(rach_ce_levelinfo_r13, 0, sizeof(RACH_CE_LevelInfo_r13_t)); @@ -1170,89 +1212,89 @@ uint8_t do_SIB23(uint8_t Mod_id, rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); -//--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); + //--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo // BCCH-Config - (*sib2_br)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff=BCCH_Config__modificationPeriodCoeff_n2; + (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff=BCCH_Config__modificationPeriodCoeff_n2; // PCCH-Config - (*sib2_br)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; - (*sib2_br)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT; + (*sib2)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + (*sib2)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT; // PRACH-Config - (*sib2_br)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = 0;//3; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = 0; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = 1;//12; - (*sib2_br)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset = 2; + (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = 0;//3; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = 0; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = 1;//12; + (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset = 2; // PDSCH-Config - (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower=0; // corresponds to 24.7 dBm 5 MHz/ 27.7 10 MHz/ 30.7 20 MHz + (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower=0; // corresponds to 24.7 dBm 5 MHz/ 27.7 10 MHz/ 30.7 20 MHz - (*sib2_br)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b=0; // this is different ,, + (*sib2)->radioResourceConfigCommon.pdsch_ConfigCommon.p_b=0; // this is different ,, // PUSCH-Config - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB=1; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode=PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset=0; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM=0; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled=1; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH=0; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled=0; - (*sib2_br)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift=0; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB=1; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode=PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset=0; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM=0; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled=1; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH=0; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled=0; + (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift=0; // PUCCH-Config - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift=PUCCH_ConfigCommon__deltaPUCCH_Shift_ds1; - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI = 1; - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN = 0; - (*sib2_br)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN = 32; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift=PUCCH_ConfigCommon__deltaPUCCH_Shift_ds1; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI = 1; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN = 0; + (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN = 32; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; - (*sib2_br)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release; + (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0; // uplinkPowerControlCommon - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha=UplinkPowerControlCommon__alpha_al1; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1=DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b=DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha=UplinkPowerControlCommon__alpha_al1; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1=DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b=DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2=DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2=DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a=DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a=DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b=DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b=DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - (*sib2_br)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 = 6; + (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 = 6; - (*sib2_br)->radioResourceConfigCommon.ul_CyclicPrefixLength=UL_CyclicPrefixLength_len1; + (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength=UL_CyclicPrefixLength_len1; // LTE-M - +Kogo - (*sib2_br)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - memset((*sib2_br)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); - (*sib2_br)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; - (*sib2_br)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); RSRP_Range_t rsrp_range = 60; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13__fdd_r13_v5; - (*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13__fdd_r13_v5; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; PRACH_ParametersCE_r13_t *prach_parametersce_r13 = calloc(1, sizeof(PRACH_ParametersCE_r13_t)); memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); @@ -1269,38 +1311,38 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); - memset((*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); long pucch_info_value1 = 0; long pucch_info_value2 = 2; - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); - ASN_SEQUENCE_ADD(&(*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - (*sib2_br)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; -//----------------------------------------------------------------------------------------------------------------------------------------- + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + //----------------------------------------------------------------------------------------------------------------------------------------- - (*sib2_br)->ue_TimersAndConstants.t300=UE_TimersAndConstants__t300_ms1000; + (*sib2)->ue_TimersAndConstants.t300=UE_TimersAndConstants__t300_ms1000; - (*sib2_br)->ue_TimersAndConstants.t301=UE_TimersAndConstants__t301_ms1000; + (*sib2)->ue_TimersAndConstants.t301=UE_TimersAndConstants__t301_ms1000; - (*sib2_br)->ue_TimersAndConstants.t310=UE_TimersAndConstants__t310_ms1000; + (*sib2)->ue_TimersAndConstants.t310=UE_TimersAndConstants__t310_ms1000; - (*sib2_br)->ue_TimersAndConstants.n310=UE_TimersAndConstants__n310_n20; + (*sib2)->ue_TimersAndConstants.n310=UE_TimersAndConstants__n310_n20; - (*sib2_br)->ue_TimersAndConstants.t311=UE_TimersAndConstants__t311_ms10000; + (*sib2)->ue_TimersAndConstants.t311=UE_TimersAndConstants__t311_ms10000; - (*sib2_br)->ue_TimersAndConstants.n311=UE_TimersAndConstants__n311_n1; + (*sib2)->ue_TimersAndConstants.n311=UE_TimersAndConstants__n311_n1; #endif - (*sib2_br)->freqInfo.additionalSpectrumEmission = 1; - (*sib2_br)->freqInfo.ul_CarrierFreq = NULL; - (*sib2_br)->freqInfo.ul_Bandwidth = NULL; + (*sib2)->freqInfo.additionalSpectrumEmission = 1; + (*sib2)->freqInfo.ul_CarrierFreq = NULL; + (*sib2)->freqInfo.ul_Bandwidth = NULL; // (*sib2)->mbsfn_SubframeConfigList = NULL; #if defined(Rel10) || defined(Rel14) @@ -1308,8 +1350,8 @@ uint8_t do_SIB23(uint8_t Mod_id, if (MBMS_flag > 0) { LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n"); MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig1; - (*sib2_br)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct MBSFN_SubframeConfigList)); - MBSFNSubframeConfigList = (*sib2_br)->mbsfn_SubframeConfigList; + (*sib2)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct MBSFN_SubframeConfigList)); + MBSFNSubframeConfigList = (*sib2)->mbsfn_SubframeConfigList; sib2_mbsfn_SubframeConfig1= CALLOC(1,sizeof(*sib2_mbsfn_SubframeConfig1)); memset((void*)sib2_mbsfn_SubframeConfig1,0,sizeof(*sib2_mbsfn_SubframeConfig1)); @@ -1346,10 +1388,10 @@ uint8_t do_SIB23(uint8_t Mod_id, } #else // no MBMS transmission - (*sib2_br)->mbsfn_SubframeConfigList = NULL; + (*sib2)->mbsfn_SubframeConfigList = NULL; #endif - (*sib2_br)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120; + (*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120; /// (*SIB3) #if defined(Rel10) || defined(Rel14) @@ -1450,8 +1492,8 @@ uint8_t do_SIB23(uint8_t Mod_id, bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType__c1_PR_systemInformation; /* memcpy((void*)&bcch_message.message.choice.c1.choice.systemInformation, - (void*)systemInformation, - sizeof(SystemInformation_t));*/ + (void*)systemInformation, + sizeof(SystemInformation_t));*/ bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.present = SystemInformation__criticalExtensions_PR_systemInformation_r8; @@ -1460,9 +1502,9 @@ uint8_t do_SIB23(uint8_t Mod_id, // asn_set_empty(&systemInformation->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list);//.size=0; // systemInformation->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count=0; ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, - sib2_part); + sib2_part); ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, - sib3_part); + sib3_part); #if defined(Rel10) || defined(Rel14) if (MBMS_flag > 0) { @@ -1476,11 +1518,11 @@ uint8_t do_SIB23(uint8_t Mod_id, xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message, - (void*)bcch_message, - buffer, - 900); + (void*)bcch_message, + buffer, + 900); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) @@ -1566,11 +1608,11 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv) enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message, - (void*)&ul_ccch_msg, - buffer, - 100); + (void*)&ul_ccch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -1620,12 +1662,12 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin rrcConnectionSetupComplete->criticalExtensions.choice.c1.present = RRCConnectionSetupComplete__criticalExtensions__c1_PR_rrcConnectionSetupComplete_r8; rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.nonCriticalExtension=CALLOC(1, - sizeof(*rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.nonCriticalExtension)); + sizeof(*rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.nonCriticalExtension)); if(usim_test == 0) - rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.selectedPLMN_Identity= 2; + rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.selectedPLMN_Identity= 2; else - rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.selectedPLMN_Identity= 1; + rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.selectedPLMN_Identity= 1; rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.registeredMME = NULL;//calloc(1,sizeof(*rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.registeredMME)); @@ -1639,7 +1681,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin */ memset(&rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.dedicatedInfoNAS,0,sizeof(OCTET_STRING_t)); OCTET_STRING_fromBuf(&rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.dedicatedInfoNAS, - dedicatedInfoNAS, dedicatedInfoNASLength); + dedicatedInfoNAS, dedicatedInfoNASLength); /* rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.registeredMME->mmec.buf = calloc(1,1); @@ -1649,11 +1691,11 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin */ enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, - (void*)&ul_dcch_msg, - buffer, - 100); + (void*)&ul_dcch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -1685,10 +1727,10 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin //------------------------------------------------------------------------------ uint8_t do_RRCConnectionReconfigurationComplete( - const protocol_ctxt_t* const ctxt_pP, - uint8_t* buffer, - const uint8_t Transaction_id -) + const protocol_ctxt_t* const ctxt_pP, + uint8_t* buffer, + const uint8_t Transaction_id + ) //------------------------------------------------------------------------------ { @@ -1711,11 +1753,11 @@ do_RRCConnectionReconfigurationComplete( rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL; enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, - (void*)&ul_dcch_msg, - buffer, - 100); + (void*)&ul_dcch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -1745,42 +1787,42 @@ do_RRCConnectionReconfigurationComplete( uint8_t do_RRCConnectionSetup_BR( - const protocol_ctxt_t* const ctxt_pP, - rrc_eNB_ue_context_t* const ue_context_pP, - int CC_id, - uint8_t* const buffer, - const uint8_t transmission_mode, - const uint8_t Transaction_id, - SRB_ToAddModList_t **SRB_configList, - struct PhysicalConfigDedicated **physicalConfigDedicated) + const protocol_ctxt_t* const ctxt_pP, + rrc_eNB_ue_context_t* const ue_context_pP, + int CC_id, + uint8_t* const buffer, + const uint8_t transmission_mode, + const uint8_t Transaction_id, + SRB_ToAddModList_t **SRB_configList, + struct PhysicalConfigDedicated **physicalConfigDedicated) { - asn_enc_rval_t enc_rval; - uint8_t ecause=0; - eNB_RRC_INST *rrc = RC.rrc[ctxt_pP->module_id]; - rrc_eNB_carrier_data_t *carrier = &rrc->carrier[CC_id]; + asn_enc_rval_t enc_rval; + uint8_t ecause=0; + eNB_RRC_INST *rrc = RC.rrc[ctxt_pP->module_id]; + rrc_eNB_carrier_data_t *carrier = &rrc->carrier[CC_id]; - long* logicalchannelgroup = NULL; - struct SRB_ToAddMod* SRB1_config = NULL; - struct SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL; - struct SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL; - struct LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL; + long* logicalchannelgroup = NULL; + struct SRB_ToAddMod* SRB1_config = NULL; + struct SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL; + struct SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL; + struct LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL; - #ifdef CBA - struct PUSCH_CBAConfigDedicated_vlola* pusch_CBAConfigDedicated_vlola = NULL; - long* betaOffset_CBA_Index = NULL; - long* cShift_CBA = NULL; - #endif - PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL; +#ifdef CBA + struct PUSCH_CBAConfigDedicated_vlola* pusch_CBAConfigDedicated_vlola = NULL; + long* betaOffset_CBA_Index = NULL; + long* cShift_CBA = NULL; +#endif + PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL; - DL_CCCH_Message_t dl_ccch_msg; + DL_CCCH_Message_t dl_ccch_msg; - RRCConnectionSetup_t* rrcConnectionSetup = NULL; + RRCConnectionSetup_t* rrcConnectionSetup = NULL; - memset((void *)&dl_ccch_msg,0,sizeof(DL_CCCH_Message_t)); - dl_ccch_msg.message.present = DL_CCCH_MessageType_PR_c1; - dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionSetup; - rrcConnectionSetup = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionSetup; + memset((void *)&dl_ccch_msg,0,sizeof(DL_CCCH_Message_t)); + dl_ccch_msg.message.present = DL_CCCH_MessageType_PR_c1; + dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionSetup; + rrcConnectionSetup = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionSetup; // RRCConnectionSetup // Configure SRB1 @@ -1895,7 +1937,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUCCH = 0; // 0 dB physicalConfigDedicated2->uplinkPowerControlDedicated->pSRS_Offset = 0; // 0 dB physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient = CALLOC(1, - sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient)); + sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient)); // assign_enum(physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient,FilterCoefficient_fc4); // fc4 dB *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient=FilterCoefficient_fc4; // fc4 dB @@ -1915,7 +1957,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; - /* + /* physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup; physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex = 0; // Icqi/pmi @@ -1924,50 +1966,50 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex=NULL; physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.simultaneousAckNackAndCQI=0; - */ + */ /// TODO to be reviewed if (rrc->srs_enable[CC_id]) { physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; + SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; + SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; if (carrier->sib1->tdd_Config==NULL) { // FDD if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present - == SoundingRS_UL_ConfigCommon_PR_setup) - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) - LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); if (ue_context_pP->local_uid >=20) - LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", - ue_context_pP->local_uid); + LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); //the current code will allow for 20 UEs - to be revised for more physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=7+ue_context_pP->local_uid/2; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; } else { if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present - == SoundingRS_UL_ConfigCommon_PR_setup) - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) { - LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, - carrier->sib1->tdd_Config->subframeAssignment); - } + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) { + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, + carrier->sib1->tdd_Config->subframeAssignment); + } if (ue_context_pP->local_uid >=6) - LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n", - ue_context_pP->local_uid); + LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=17+ue_context_pP->local_uid/2; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; } LOG_W(RRC,"local UID %d, srs ConfigIndex %d, TransmissionComb %d\n",ue_context_pP->local_uid, - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift= - SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; + SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; } //AntennaInfoDedicated @@ -1987,34 +2029,34 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm2; break; /* - case 3: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1, - sizeof(*physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction)); - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = + case 3: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1, + sizeof(*physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction)); + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1); - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1); + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; - break; + break; - case 4: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; + case 4: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; - case 5: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; + case 5: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; - case 6: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; + case 6: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; - case 7: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; + case 7: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; */ } @@ -2033,17 +2075,17 @@ do_RRCConnectionSetup_BR( switch (carrier->sib1->tdd_Config->subframeAssignment) { case 1: physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+(ue_context_pP->local_uid&1)+(( - ue_context_pP->local_uid&3)>>1)*5; // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 7 for UE2, 8 for UE3 , 2 for UE4 etc..) + ue_context_pP->local_uid&3)>>1)*5; // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 7 for UE2, 8 for UE3 , 2 for UE4 etc..) break; case 3: physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+ - (ue_context_pP->local_uid%3); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) + (ue_context_pP->local_uid%3); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) break; case 4: physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+ - (ue_context_pP->local_uid&1); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) + (ue_context_pP->local_uid&1); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) break; default: @@ -2070,7 +2112,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); -// memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) + // memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); epdcch_setconfig_r11->setConfigId_r11 = 0; epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; @@ -2140,11 +2182,11 @@ do_RRCConnectionSetup_BR( xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, - (void*)&dl_ccch_msg, - buffer, - 100); + (void*)&dl_ccch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -2167,7 +2209,7 @@ do_RRCConnectionSetup_BR( #ifdef USER_MODE LOG_D(RRC,"RRCConnectionSetup Encoded %d bits (%d bytes), ecause %d\n", - enc_rval.encoded,(enc_rval.encoded+7)/8,ecause); + enc_rval.encoded,(enc_rval.encoded+7)/8,ecause); #endif // FREEMEM(SRB_list); @@ -2183,14 +2225,14 @@ do_RRCConnectionSetup_BR( //------------------------------------------------------------------------------ uint8_t do_RRCConnectionSetup( - const protocol_ctxt_t* const ctxt_pP, - rrc_eNB_ue_context_t* const ue_context_pP, - int CC_id, - uint8_t* const buffer, - const uint8_t transmission_mode, - const uint8_t Transaction_id, - SRB_ToAddModList_t **SRB_configList, - struct PhysicalConfigDedicated **physicalConfigDedicated) + const protocol_ctxt_t* const ctxt_pP, + rrc_eNB_ue_context_t* const ue_context_pP, + int CC_id, + uint8_t* const buffer, + const uint8_t transmission_mode, + const uint8_t Transaction_id, + SRB_ToAddModList_t **SRB_configList, + struct PhysicalConfigDedicated **physicalConfigDedicated) { asn_enc_rval_t enc_rval; @@ -2334,7 +2376,7 @@ do_RRCConnectionSetup( physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUCCH = 0; // 0 dB physicalConfigDedicated2->uplinkPowerControlDedicated->pSRS_Offset = 0; // 0 dB physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient = CALLOC(1, - sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient)); + sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient)); // assign_enum(physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient,FilterCoefficient_fc4); // fc4 dB *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient=FilterCoefficient_fc4; // fc4 dB @@ -2371,7 +2413,7 @@ do_RRCConnectionSetup( physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; - /* + /* physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup; physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex = 0; // Icqi/pmi @@ -2380,15 +2422,15 @@ do_RRCConnectionSetup( physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex=NULL; physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.simultaneousAckNackAndCQI=0; - */ + */ //soundingRS-UL-ConfigDedicated if (rrc->srs_enable[CC_id]==1) { physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; + SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; + SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; if (carrier->sib1->tdd_Config==NULL) { // FDD @@ -2423,7 +2465,7 @@ do_RRCConnectionSetup( physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift= - SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; + SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; } @@ -2444,34 +2486,34 @@ do_RRCConnectionSetup( physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm2; break; /* - case 3: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1, - sizeof(*physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction)); - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = + case 3: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1, + sizeof(*physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction)); + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1); - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; - physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1); + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; - break; + break; - case 4: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; + case 4: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; - case 5: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; + case 5: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; - case 6: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; + case 6: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; - case 7: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; + case 7: + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; */ } @@ -2490,17 +2532,17 @@ do_RRCConnectionSetup( switch (carrier->sib1->tdd_Config->subframeAssignment) { case 1: physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+(ue_context_pP->local_uid&1)+(( - ue_context_pP->local_uid&3)>>1)*5; // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 7 for UE2, 8 for UE3 , 2 for UE4 etc..) + ue_context_pP->local_uid&3)>>1)*5; // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 7 for UE2, 8 for UE3 , 2 for UE4 etc..) break; case 3: physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+ - (ue_context_pP->local_uid%3); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) + (ue_context_pP->local_uid%3); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) break; case 4: physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 7+ - (ue_context_pP->local_uid&1); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) + (ue_context_pP->local_uid&1); // Isr = 5 (every 10 subframes, offset=2 for UE0, 3 for UE1, 3 for UE2, 2 for UE3 , etc..) break; default: @@ -2538,11 +2580,11 @@ do_RRCConnectionSetup( xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, - (void*)&dl_ccch_msg, - buffer, - 100); + (void*)&dl_ccch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -2565,7 +2607,7 @@ do_RRCConnectionSetup( #ifdef USER_MODE LOG_D(RRC,"RRCConnectionSetup Encoded %d bits (%d bytes), ecause %d\n", - enc_rval.encoded,(enc_rval.encoded+7)/8,ecause); + enc_rval.encoded,(enc_rval.encoded+7)/8,ecause); #endif // FREEMEM(SRB_list); @@ -2580,12 +2622,12 @@ do_RRCConnectionSetup( //------------------------------------------------------------------------------ uint8_t do_SecurityModeCommand( - const protocol_ctxt_t* const ctxt_pP, - uint8_t* const buffer, - const uint8_t Transaction_id, - const uint8_t cipheringAlgorithm, - const uint8_t integrityProtAlgorithm -) + const protocol_ctxt_t* const ctxt_pP, + uint8_t* const buffer, + const uint8_t Transaction_id, + const uint8_t cipheringAlgorithm, + const uint8_t integrityProtAlgorithm + ) //------------------------------------------------------------------------------ { DL_DCCH_Message_t dl_dcch_msg; @@ -2611,11 +2653,11 @@ do_SecurityModeCommand( xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, - (void*)&dl_dcch_msg, - buffer, - 100); + (void*)&dl_dcch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -2638,16 +2680,16 @@ do_SecurityModeCommand( #ifdef USER_MODE LOG_D(RRC,"[eNB %d] securityModeCommand for UE %x Encoded %d bits (%d bytes)\n", - ctxt_pP->module_id, - ctxt_pP->rnti, - enc_rval.encoded, - (enc_rval.encoded+7)/8); + ctxt_pP->module_id, + ctxt_pP->rnti, + enc_rval.encoded, + (enc_rval.encoded+7)/8); #endif if (enc_rval.encoded==-1) { LOG_E(RRC,"[eNB %d] ASN1 : securityModeCommand encoding failed for UE %x\n", - ctxt_pP->module_id, - ctxt_pP->rnti); + ctxt_pP->module_id, + ctxt_pP->rnti); return(-1); } @@ -2659,10 +2701,10 @@ do_SecurityModeCommand( //------------------------------------------------------------------------------ uint8_t do_UECapabilityEnquiry( - const protocol_ctxt_t* const ctxt_pP, - uint8_t* const buffer, - const uint8_t Transaction_id -) + const protocol_ctxt_t* const ctxt_pP, + uint8_t* const buffer, + const uint8_t Transaction_id + ) //------------------------------------------------------------------------------ { @@ -2683,17 +2725,17 @@ do_UECapabilityEnquiry( UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8; dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count=0; ASN_SEQUENCE_ADD(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, - &rat); + &rat); #ifdef XER_PRINT xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, - (void*)&dl_dcch_msg, - buffer, - 100); + (void*)&dl_dcch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -2716,16 +2758,16 @@ do_UECapabilityEnquiry( #ifdef USER_MODE LOG_D(RRC,"[eNB %d] UECapabilityRequest for UE %x Encoded %d bits (%d bytes)\n", - ctxt_pP->module_id, - ctxt_pP->rnti, - enc_rval.encoded, - (enc_rval.encoded+7)/8); + ctxt_pP->module_id, + ctxt_pP->rnti, + enc_rval.encoded, + (enc_rval.encoded+7)/8); #endif if (enc_rval.encoded==-1) { LOG_E(RRC,"[eNB %d] ASN1 : UECapabilityRequest encoding failed for UE %x\n", - ctxt_pP->module_id, - ctxt_pP->rnti); + ctxt_pP->module_id, + ctxt_pP->rnti); return(-1); } @@ -2734,251 +2776,251 @@ do_UECapabilityEnquiry( uint16_t do_RRCConnectionReconfiguration_BR( - const protocol_ctxt_t* const ctxt_pP, - uint8_t *buffer, - uint8_t Transaction_id, - SRB_ToAddModList_t *SRB_list, - DRB_ToAddModList_t *DRB_list, - DRB_ToReleaseList_t *DRB_list2, - struct SPS_Config *sps_Config, - struct PhysicalConfigDedicated *physicalConfigDedicated, - MeasObjectToAddModList_t *MeasObj_list, - ReportConfigToAddModList_t *ReportConfig_list, - QuantityConfig_t *quantityConfig, - MeasIdToAddModList_t *MeasId_list, - MAC_MainConfig_t *mac_MainConfig, - MeasGapConfig_t *measGapConfig, - MobilityControlInfo_t *mobilityInfo, - struct MeasConfig__speedStatePars *speedStatePars, - RSRP_Range_t *rsrp, - C_RNTI_t *cba_rnti, - struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList - *dedicatedInfoNASList + const protocol_ctxt_t* const ctxt_pP, + uint8_t *buffer, + uint8_t Transaction_id, + SRB_ToAddModList_t *SRB_list, + DRB_ToAddModList_t *DRB_list, + DRB_ToReleaseList_t *DRB_list2, + struct SPS_Config *sps_Config, + struct PhysicalConfigDedicated *physicalConfigDedicated, + MeasObjectToAddModList_t *MeasObj_list, + ReportConfigToAddModList_t *ReportConfig_list, + QuantityConfig_t *quantityConfig, + MeasIdToAddModList_t *MeasId_list, + MAC_MainConfig_t *mac_MainConfig, + MeasGapConfig_t *measGapConfig, + MobilityControlInfo_t *mobilityInfo, + struct MeasConfig__speedStatePars *speedStatePars, + RSRP_Range_t *rsrp, + C_RNTI_t *cba_rnti, + struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList + *dedicatedInfoNASList #if defined(Rel10) || defined(Rel14) - , SCellToAddMod_r10_t *SCell_config + , SCellToAddMod_r10_t *SCell_config #endif -) + ) { - asn_enc_rval_t enc_rval; + asn_enc_rval_t enc_rval; - DL_DCCH_Message_t dl_dcch_msg; - RRCConnectionReconfiguration_t *rrcConnectionReconfiguration; + DL_DCCH_Message_t dl_dcch_msg; + RRCConnectionReconfiguration_t *rrcConnectionReconfiguration; - memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t)); + memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t)); - dl_dcch_msg.message.present = DL_DCCH_MessageType_PR_c1; - dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration; - rrcConnectionReconfiguration = &dl_dcch_msg.message.choice.c1.choice.rrcConnectionReconfiguration; + dl_dcch_msg.message.present = DL_DCCH_MessageType_PR_c1; + dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration; + rrcConnectionReconfiguration = &dl_dcch_msg.message.choice.c1.choice.rrcConnectionReconfiguration; - // RRCConnectionReconfiguration - rrcConnectionReconfiguration->rrc_TransactionIdentifier = Transaction_id; - rrcConnectionReconfiguration->criticalExtensions.present = RRCConnectionReconfiguration__criticalExtensions_PR_c1; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.present =RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8 ; + // RRCConnectionReconfiguration + rrcConnectionReconfiguration->rrc_TransactionIdentifier = Transaction_id; + rrcConnectionReconfiguration->criticalExtensions.present = RRCConnectionReconfiguration__criticalExtensions_PR_c1; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.present =RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8 ; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated)); - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList = SRB_list; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList = DRB_list; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToReleaseList = DRB_list2; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->sps_Config = sps_Config; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->physicalConfigDedicated = physicalConfigDedicated; - #ifdef CBA - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->cba_RNTI_vlola= cba_rnti; - #endif + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated)); + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList = SRB_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList = DRB_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToReleaseList = DRB_list2; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->sps_Config = sps_Config; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->physicalConfigDedicated = physicalConfigDedicated; +#ifdef CBA + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->cba_RNTI_vlola= cba_rnti; +#endif - // +kogo - physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; + // +kogo + physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; - physicalConfigDedicated->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; - physicalConfigDedicated->ext4->csi_RS_ConfigNZPToAddModList_r11 = NULL; - physicalConfigDedicated->ext4->csi_RS_ConfigZPToAddModList_r11 = NULL; - physicalConfigDedicated->ext4->csi_RS_ConfigZPToReleaseList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigNZPToAddModList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigZPToAddModList_r11 = NULL; + physicalConfigDedicated->ext4->csi_RS_ConfigZPToReleaseList_r11 = NULL; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToReleaseList_r11 = NULL; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToReleaseList_r11 = NULL; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); + physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); // memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) - EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); - epdcch_setconfig_r11->setConfigId_r11 = 0; - epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; - epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; - //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); + epdcch_setconfig_r11->setConfigId_r11 = 0; + epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; + epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; + //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; - epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; - epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; - epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; - epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; - ASN_SEQUENCE_ADD(physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; + epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; + epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; + ASN_SEQUENCE_ADD(physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); - physicalConfigDedicated->ext7->pdsch_ConfigDedicated_v1310 = NULL; - physicalConfigDedicated->ext7->pusch_ConfigDedicated_r13 = NULL; + physicalConfigDedicated->ext7->pdsch_ConfigDedicated_v1310 = NULL; + physicalConfigDedicated->ext7->pusch_ConfigDedicated_r13 = NULL; - physicalConfigDedicated->ext7->pdcch_CandidateReductions_r13 = NULL; + physicalConfigDedicated->ext7->pdcch_CandidateReductions_r13 = NULL; - physicalConfigDedicated->ext7->pucch_ConfigDedicated_r13 = NULL; + physicalConfigDedicated->ext7->pucch_ConfigDedicated_r13 = NULL; - physicalConfigDedicated->ext7->cqi_ReportConfig_v1310 = NULL; + physicalConfigDedicated->ext7->cqi_ReportConfig_v1310 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicated_v1310 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedUpPTsExt_r13 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodic_v1310 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicated_v1310 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedUpPTsExt_r13 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodic_v1310 = NULL; + physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13 = NULL; - physicalConfigDedicated->ext7->csi_RS_Config_v1310 = NULL; + physicalConfigDedicated->ext7->csi_RS_Config_v1310 = NULL; - physicalConfigDedicated->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; - physicalConfigDedicated->ext7->ce_Mode_r13->choice.setup = PhysicalConfigDedicated__ext7__ce_Mode_r13__setup_ce_ModeA; - physicalConfigDedicated->ext7->csi_RS_ConfigNZPToAddModListExt_r13 = NULL; - physicalConfigDedicated->ext7->csi_RS_ConfigNZPToReleaseListExt_r13 = NULL; + physicalConfigDedicated->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; + physicalConfigDedicated->ext7->ce_Mode_r13->choice.setup = PhysicalConfigDedicated__ext7__ce_Mode_r13__setup_ce_ModeA; + physicalConfigDedicated->ext7->csi_RS_ConfigNZPToAddModListExt_r13 = NULL; + physicalConfigDedicated->ext7->csi_RS_ConfigNZPToReleaseListExt_r13 = NULL; - // +kogo ------------------------------------------------------------------------------------------ + // +kogo ------------------------------------------------------------------------------------------ - if (mac_MainConfig!=NULL) { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig)); - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->present - =RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue; - memcpy(&rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue, - mac_MainConfig, - sizeof(*mac_MainConfig)); + if (mac_MainConfig!=NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig)); + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->present + =RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue; + memcpy(&rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue, + mac_MainConfig, + sizeof(*mac_MainConfig)); + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig=NULL; + } + + if (MeasId_list != NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); + memset((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig, + 0, sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); + + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list; + + if (quantityConfig!=NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); + memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig, + (void *)quantityConfig, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); } else { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig=NULL; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = NULL; } - if (MeasId_list != NULL) { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); - memset((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig, - 0, sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); - - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list; - - if (quantityConfig!=NULL) { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); - memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig, - (void *)quantityConfig, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); - } else { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = NULL; - } - - if(speedStatePars != NULL) { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars)); - memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars, - (void *)speedStatePars,sizeof(*speedStatePars)); - } else { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = NULL; - } - - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->s_Measure= rsrp; + if(speedStatePars != NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars)); + memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars, + (void *)speedStatePars,sizeof(*speedStatePars)); } else { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = NULL; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = NULL; } - if (mobilityInfo !=NULL) { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo)); - memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo, (void*)mobilityInfo, - sizeof(MobilityControlInfo_t)); + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->s_Measure= rsrp; + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = NULL; + } - } else { - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = NULL; + if (mobilityInfo !=NULL) { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = CALLOC(1, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo)); + memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo, (void*)mobilityInfo, + sizeof(MobilityControlInfo_t)); + + } else { + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = NULL; + } + + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.dedicatedInfoNASList = dedicatedInfoNASList; + rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.securityConfigHO = NULL; + + enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, + (void*)&dl_dcch_msg, + buffer, + RRC_BUF_SIZE); + AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %l)!\n", + enc_rval.failed_type->name, enc_rval.encoded); + +#ifdef XER_PRINT + xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)&dl_dcch_msg); +#endif + +#if defined(ENABLE_ITTI) +# if !defined(DISABLE_XER_SPRINT) + { + char message_string[30000]; + size_t message_string_size; + + if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) { + MessageDef *msg_p; + + msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText)); + msg_p->ittiMsg.rrc_dl_dcch.size = message_string_size; + memcpy(&msg_p->ittiMsg.rrc_dl_dcch.text, message_string, message_string_size); + + itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p); } + } +# endif +#endif - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.dedicatedInfoNASList = dedicatedInfoNASList; - rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.securityConfigHO = NULL; + //#ifdef USER_MODE + LOG_I(RRC,"RRCConnectionReconfiguration Encoded %d bits (%d bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8); + // for (i=0;i<30;i++) + // msg("%x.",buffer[i]); + // msg("\n"); - enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, - (void*)&dl_dcch_msg, - buffer, - RRC_BUF_SIZE); - AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %l)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + //#endif - #ifdef XER_PRINT - xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)&dl_dcch_msg); - #endif - - #if defined(ENABLE_ITTI) - # if !defined(DISABLE_XER_SPRINT) - { - char message_string[30000]; - size_t message_string_size; - - if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) { - MessageDef *msg_p; - - msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText)); - msg_p->ittiMsg.rrc_dl_dcch.size = message_string_size; - memcpy(&msg_p->ittiMsg.rrc_dl_dcch.text, message_string, message_string_size); - - itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p); - } - } - # endif - #endif - - //#ifdef USER_MODE - LOG_I(RRC,"RRCConnectionReconfiguration Encoded %d bits (%d bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8); - // for (i=0;i<30;i++) - // msg("%x.",buffer[i]); - // msg("\n"); - - //#endif - - return((enc_rval.encoded+7)/8); + return((enc_rval.encoded+7)/8); } //------------------------------------------------------------------------------ uint16_t do_RRCConnectionReconfiguration( - const protocol_ctxt_t* const ctxt_pP, - uint8_t *buffer, - uint8_t Transaction_id, - SRB_ToAddModList_t *SRB_list, - DRB_ToAddModList_t *DRB_list, - DRB_ToReleaseList_t *DRB_list2, - struct SPS_Config *sps_Config, - struct PhysicalConfigDedicated *physicalConfigDedicated, - MeasObjectToAddModList_t *MeasObj_list, - ReportConfigToAddModList_t *ReportConfig_list, - QuantityConfig_t *quantityConfig, - MeasIdToAddModList_t *MeasId_list, - MAC_MainConfig_t *mac_MainConfig, - MeasGapConfig_t *measGapConfig, - MobilityControlInfo_t *mobilityInfo, - struct MeasConfig__speedStatePars *speedStatePars, - RSRP_Range_t *rsrp, - C_RNTI_t *cba_rnti, - struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList - *dedicatedInfoNASList + const protocol_ctxt_t* const ctxt_pP, + uint8_t *buffer, + uint8_t Transaction_id, + SRB_ToAddModList_t *SRB_list, + DRB_ToAddModList_t *DRB_list, + DRB_ToReleaseList_t *DRB_list2, + struct SPS_Config *sps_Config, + struct PhysicalConfigDedicated *physicalConfigDedicated, + MeasObjectToAddModList_t *MeasObj_list, + ReportConfigToAddModList_t *ReportConfig_list, + QuantityConfig_t *quantityConfig, + MeasIdToAddModList_t *MeasId_list, + MAC_MainConfig_t *mac_MainConfig, + MeasGapConfig_t *measGapConfig, + MobilityControlInfo_t *mobilityInfo, + struct MeasConfig__speedStatePars *speedStatePars, + RSRP_Range_t *rsrp, + C_RNTI_t *cba_rnti, + struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList + *dedicatedInfoNASList #if defined(Rel10) || defined(Rel14) - , SCellToAddMod_r10_t *SCell_config + , SCellToAddMod_r10_t *SCell_config #endif -) + ) //------------------------------------------------------------------------------ { @@ -3000,7 +3042,7 @@ do_RRCConnectionReconfiguration( rrcConnectionReconfiguration->criticalExtensions.choice.c1.present =RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8 ; rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated)); + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated)); rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList = SRB_list; rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList = DRB_list; rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToReleaseList = DRB_list2; @@ -3012,21 +3054,21 @@ do_RRCConnectionReconfiguration( if (mac_MainConfig!=NULL) { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig)); + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig)); rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->present =RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue; memcpy(&rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue, - mac_MainConfig, - sizeof(*mac_MainConfig)); + mac_MainConfig, + sizeof(*mac_MainConfig)); } else { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig=NULL; } if (MeasId_list != NULL) { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); memset((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig, - 0, sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); + 0, sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig)); rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list; rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; @@ -3034,19 +3076,19 @@ do_RRCConnectionReconfiguration( if (quantityConfig!=NULL) { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig, - (void *)quantityConfig, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); + (void *)quantityConfig, + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig)); } else { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->quantityConfig = NULL; } if(speedStatePars != NULL) { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars)); + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars)); memcpy((void *)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars, - (void *)speedStatePars,sizeof(*speedStatePars)); + (void *)speedStatePars,sizeof(*speedStatePars)); } else { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->speedStatePars = NULL; } @@ -3058,9 +3100,9 @@ do_RRCConnectionReconfiguration( if (mobilityInfo !=NULL) { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = CALLOC(1, - sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo)); + sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo)); memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo, (void*)mobilityInfo, - sizeof(MobilityControlInfo_t)); + sizeof(MobilityControlInfo_t)); } else { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = NULL; @@ -3070,11 +3112,11 @@ do_RRCConnectionReconfiguration( rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.securityConfigHO = NULL; enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, - (void*)&dl_dcch_msg, - buffer, - RRC_BUF_SIZE); + (void*)&dl_dcch_msg, + buffer, + RRC_BUF_SIZE); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %l)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #ifdef XER_PRINT xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)&dl_dcch_msg); @@ -3113,8 +3155,8 @@ do_RRCConnectionReconfiguration( //------------------------------------------------------------------------------ uint8_t do_RRCConnectionReestablishmentReject( - uint8_t Mod_id, - uint8_t* const buffer) + uint8_t Mod_id, + uint8_t* const buffer) //------------------------------------------------------------------------------ { @@ -3135,11 +3177,11 @@ do_RRCConnectionReestablishmentReject( xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, - (void*)&dl_ccch_msg, - buffer, - 100); + (void*)&dl_ccch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -3162,7 +3204,7 @@ do_RRCConnectionReestablishmentReject( #ifdef USER_MODE LOG_D(RRC,"RRCConnectionReestablishmentReject Encoded %d bits (%d bytes)\n", - enc_rval.encoded,(enc_rval.encoded+7)/8); + enc_rval.encoded,(enc_rval.encoded+7)/8); #endif return((enc_rval.encoded+7)/8); @@ -3171,8 +3213,8 @@ do_RRCConnectionReestablishmentReject( //------------------------------------------------------------------------------ uint8_t do_RRCConnectionReject( - uint8_t Mod_id, - uint8_t* const buffer) + uint8_t Mod_id, + uint8_t* const buffer) //------------------------------------------------------------------------------ { @@ -3196,11 +3238,11 @@ do_RRCConnectionReject( xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, - (void*)&dl_ccch_msg, - buffer, - 100); + (void*)&dl_ccch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %ld)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -3223,16 +3265,16 @@ do_RRCConnectionReject( #ifdef USER_MODE LOG_D(RRC,"RRCConnectionReject Encoded %d bits (%d bytes)\n", - enc_rval.encoded,(enc_rval.encoded+7)/8); + enc_rval.encoded,(enc_rval.encoded+7)/8); #endif return((enc_rval.encoded+7)/8); } uint8_t do_RRCConnectionRelease( - uint8_t Mod_id, - uint8_t *buffer, - uint8_t Transaction_id) + uint8_t Mod_id, + uint8_t *buffer, + uint8_t Transaction_id) { asn_enc_rval_t enc_rval; @@ -3257,12 +3299,12 @@ uint8_t do_RRCConnectionRelease( rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.idleModeMobilityControlInfo = NULL; rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension=CALLOC(1, - sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension)); + sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension)); enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, - (void*)&dl_dcch_msg, - buffer, - RRC_BUF_SIZE); + (void*)&dl_dcch_msg, + buffer, + RRC_BUF_SIZE); return((enc_rval.encoded+7)/8); } @@ -3272,10 +3314,10 @@ uint8_t TMGI[5] = {4,3,2,1,0};//TMGI is a string of octet, ref. TS 24.008 fig. 1 #if defined(Rel10) || defined(Rel14) uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, - uint8_t sync_area, - uint8_t *buffer, - MCCH_Message_t *mcch_message, - MBSFNAreaConfiguration_r9_t **mbsfnAreaConfiguration) + uint8_t sync_area, + uint8_t *buffer, + MCCH_Message_t *mcch_message, + MBSFNAreaConfiguration_r9_t **mbsfnAreaConfiguration) { asn_enc_rval_t enc_rval; @@ -3387,11 +3429,11 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, xer_fprint(stdout,&asn_DEF_MCCH_Message,(void*)mcch_message); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message, - (void*)mcch_message, - buffer, - 100); + (void*)mcch_message, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -3441,7 +3483,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_ measurementReport->criticalExtensions.present=MeasurementReport__criticalExtensions_PR_c1; measurementReport->criticalExtensions.choice.c1.present=MeasurementReport__criticalExtensions__c1_PR_measurementReport_r8; measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension=CALLOC(1, - sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension)); + sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension)); measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measId=measid; #if defined(Rel10) || defined(Rel14) @@ -3452,7 +3494,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_ measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultServCell.rsrqResult=rsrq_s; #endif measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells=CALLOC(1, - sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells)); + sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells)); measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->present=MeasResults__measResultNeighCells_PR_measResultListEUTRA; MeasResultListEUTRA_t *measResultListEUTRA2; @@ -3518,14 +3560,14 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_ measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2); enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, - (void*)&ul_dcch_msg, - buffer, - 100); + (void*)&ul_dcch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if !defined(DISABLE_XER_SPRINT) @@ -3728,12 +3770,12 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname) bit_string = CALLOC(1, sizeof(*bit_string)); featrG = 0x04000800; if(usim_test == 1) - { - bit_string->buf = &featrG; - bit_string->size = 4; - bit_string->bits_unused = 0; - UE_EUTRA_Capability->featureGroupIndicators = bit_string; - } + { + bit_string->buf = &featrG; + bit_string->size = 4; + bit_string->bits_unused = 0; + UE_EUTRA_Capability->featureGroupIndicators = bit_string; + } // UE_EUTRA_Capability->interRAT_Parameters // null } else { @@ -3758,11 +3800,11 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname) xer_fprint(stdout,&asn_DEF_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability); #endif enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability, - (void*)UE_EUTRA_Capability, - &UECapability.sdu[0], - MAX_UE_CAPABILITY_SIZE); + (void*)UE_EUTRA_Capability, + &UECapability.sdu[0], + MAX_UE_CAPABILITY_SIZE); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); + enc_rval.failed_type->name, enc_rval.encoded); #if defined(ENABLE_ITTI) # if defined(DISABLE_XER_SPRINT) @@ -3794,7 +3836,7 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname) UECapability.sdu_size = (enc_rval.encoded + 7) / 8; LOG_I(PHY, "[RRC]UE Capability encoded, %d bytes (%d bits)\n", - UECapability.sdu_size, enc_rval.encoded + 7); + UECapability.sdu_size, enc_rval.encoded + 7); { char *sdu; sdu = malloc (3 * UECapability.sdu_size + 1 /* For '\0' */); diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h index 9f978dc797..c77f31941f 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h @@ -75,10 +75,17 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich @param Mod_id Instance of eNB @param Component carrier Component carrier to configure @param configuration Pointer Configuration Request structure +@param br_flag Do for BL/CE UE configuration @return size of encoded bit stream in bytes*/ -uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,int Mod_id,int CC_id, RrcConfigurationReq *configuration - ); +uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,int Mod_id,int CC_id +#if defined(ENABLE_ITTI) + ,RrcConfigurationReq *configuration +#endif +#ifdef Rel14 + ,int br_flag +#endif + ); /** \brief Generate a default configuration for SIB2/SIB3 in one System Information PDU (eNB). @@ -95,6 +102,9 @@ uint8_t do_SIB23(uint8_t Mod_id, int CC_id #if defined(ENABLE_ITTI) , RrcConfigurationReq *configuration +#endif +#ifdef Rel14 + , int br_flag #endif ); diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h index 3d98d1d300..b57483ac59 100644 --- a/openair2/RRC/LITE/defs.h +++ b/openair2/RRC/LITE/defs.h @@ -475,7 +475,9 @@ typedef struct { uint32_t pbch_repetition; BCCH_BCH_Message_t mib; BCCH_DL_SCH_Message_t siblock1; + BCCH_DL_SCH_Message_t siblock1_BR; BCCH_DL_SCH_Message_t systemInformation; + BCCH_DL_SCH_Message_t systemInformation_BR; // SystemInformation_t systemInformation; SystemInformationBlockType1_t *sib1; SystemInformationBlockType2_t *sib2; @@ -483,7 +485,6 @@ typedef struct { #ifdef Rel14 SystemInformationBlockType1_t *sib1_BR; SystemInformationBlockType2_t *sib2_BR; - SystemInformationBlockType2_t *sib3_BR; #endif #if defined(Rel10) || defined(Rel14) SystemInformationBlockType13_r9_t *sib13; diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 91c1d91ee6..ab939dcbad 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -127,8 +127,6 @@ init_SI( ) //----------------------------------------------------------------------------- { - uint8_t SIwindowsize = 1; - uint16_t SIperiod = 8; #if defined(Rel10) || defined(Rel14) int i; #endif @@ -149,14 +147,14 @@ init_SI( #endif LOG_I(RRC, "Configuring MIB (N_RB_DL %d,phich_Resource %d,phich_Duration %d)\n", configuration->N_RB_DL[CC_id], - configuration->phich_resource[CC_id], - configuration->phich_duration[CC_id]); + (int)configuration->radioresourceconfig[CC_id].phich_resource, + (int)configuration->radioresourceconfig[CC_id].phich_duration); do_MIB(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id], #ifdef ENABLE_ITTI configuration->N_RB_DL[CC_id], - configuration->phich_resource[CC_id], - configuration->phich_duration[CC_id], - configuration->schedulingInfoSIB1_BR_r13[CC_id] + (int)configuration->radioresourceconfig[CC_id].phich_resource, + (int)configuration->radioresourceconfig[CC_id].phich_duration, + configuration->schedulingInfoSIB1_BR_r13[CC_id] #else 50, 0, 0, 1 #endif @@ -172,11 +170,24 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id #if defined(ENABLE_ITTI) , configuration +#endif +#ifdef Rel14 + ,0 #endif ); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 != 255,"FATAL, RC.rrc[enb_mod_idP].carrier[CC_id].sizeof_SIB1 == 255"); + +#ifdef Rel14 + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id +#if defined(ENABLE_ITTI) + , configuration +#endif + ,1 + ); +#endif + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23 = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23!=NULL,"cannot allocate memory for SIB"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 = do_SIB23( @@ -185,11 +196,30 @@ init_SI( CC_id #if defined(ENABLE_ITTI) , configuration +#endif +#ifdef Rel14 + ,0 #endif ); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 != 255,"FATAL, RC.rrc[mod].carrier[CC_id].sizeof_SIB23 == 255"); - + +#ifdef Rel14 + if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR = (uint8_t*) malloc16(64); + AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR!=NULL,"cannot allocate memory for SIB"); + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = do_SIB23( + ctxt_pP->module_id, + CC_id, +#if defined(ENABLE_ITTI) + configuration, +#endif + 0); + } + else { + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = 0; + } +#endif LOG_T(RRC, PROTOCOL_RRC_CTXT_FMT" SIB2/3 Contents (partial)\n", PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); @@ -1679,9 +1709,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons //TODO: change TM for secondary CC in SCelltoaddmodlist if (*physicalConfigDedicated) { if ((*physicalConfigDedicated)->antennaInfo) { - (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0]; - LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.ue_TransmissionMode[0]); - if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) { + (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode; + LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode); + if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm3) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -1691,7 +1721,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm4) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -1702,7 +1732,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.bits_unused=2; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm5) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -1712,7 +1742,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.size=1; (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.bits_unused=4; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm6) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -1727,9 +1757,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons LOG_E(RRC,"antenna_info not present in physical_config_dedicated. Not reconfiguring!\n"); } if ((*physicalConfigDedicated)->cqi_ReportConfig) { - if ((rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) || - (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) || - (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6)) { + if ((rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm4) || + (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm5) || + (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm6)) { //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"); From 9a8d277b68384b27e99a8c0034bba5667c4b173e Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 26 Jul 2017 17:39:15 -0700 Subject: [PATCH 006/109] small change in init_SI routine in rrc_eNB.c after merge --- openair2/RRC/LITE/rrc_eNB.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index ab939dcbad..96d705b075 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -168,11 +168,11 @@ init_SI( AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1!=NULL,PROTOCOL_RRC_CTXT_FMT" init_SI: FATAL, no memory for SIB1 allocated\n", PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id +#ifdef Rel14 + ,FALSE +#endif #if defined(ENABLE_ITTI) , configuration -#endif -#ifdef Rel14 - ,0 #endif ); @@ -180,31 +180,35 @@ init_SI( #ifdef Rel14 - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = 0; + if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_BR = (uint8_t*) malloc16(32); + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id + ,TRUE #if defined(ENABLE_ITTI) - , configuration + , configuration #endif - ,1 - ); + ); + } #endif - + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23 = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23!=NULL,"cannot allocate memory for SIB"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 = do_SIB23( ctxt_pP->module_id, - CC_id +#ifdef Rel14 + ,FALSE +#endif #if defined(ENABLE_ITTI) , configuration -#endif -#ifdef Rel14 - ,0 #endif ); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 != 255,"FATAL, RC.rrc[mod].carrier[CC_id].sizeof_SIB23 == 255"); #ifdef Rel14 + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = 0; if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR!=NULL,"cannot allocate memory for SIB"); @@ -216,9 +220,6 @@ init_SI( #endif 0); } - else { - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = 0; - } #endif LOG_T(RRC, PROTOCOL_RRC_CTXT_FMT" SIB2/3 Contents (partial)\n", From 99dcb4ceb4c136fe84fb96eb4d9634648666c4a5 Mon Sep 17 00:00:00 2001 From: kogo Date: Thu, 27 Jul 2017 19:53:39 +0200 Subject: [PATCH 007/109] added config file + bug fixing --- openair2/COMMON/rrc_messages_types.h | 4 +- openair2/ENB_APP/enb_config.c | 7043 +++++++++++++------------ openair2/RRC/LITE/MESSAGES/asn1_msg.c | 3 +- openair2/RRC/LITE/rrc_eNB.c | 9 +- 4 files changed, 3560 insertions(+), 3499 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 0267095f7b..c7ad211265 100644 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -180,11 +180,11 @@ typedef struct RrcConfigurationReq_s { RadioResourceConfig radioresourceconfig[MAX_NUM_CCs]; - + RadioResourceConfig radioresourceconfig_BR[MAX_NUM_CCs]; #ifdef Rel14 - RadioResourceConfig radioresourceconfig_BR[MAX_NUM_CCs]; + //MIB long schedulingInfoSIB1_BR_r13[MAX_NUM_CCs]; //SIB1 BR options diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 4d84be9217..d5b0a94f15 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -99,8 +99,8 @@ #define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers" #define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function" -#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing" -#define ENB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref" +#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing" +#define ENB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref" #define ENB_CONFIG_STRING_FRAME_TYPE "frame_type" #define ENB_CONFIG_STRING_TDD_CONFIG "tdd_config" @@ -302,23 +302,23 @@ #define ENB_CONFIG_STRING_BR "br_parameters" #define ENB_CONFIG_STRING_schedulingInfoSIB1 "schedulingInfoSIB1_BR_r13" -#define ENB_CONFIG_STRING_HYPERSFN "hyperSFN_r13" +#define ENB_CONFIG_STRING_HYPERSFN "hyperSFN_r13" #define ENB_CONFIG_STRING_EDRX_ALLOWED "eDRX_Allowed_r13" -#define ENB_CONFIG_STRING_CELLSELECTIONINFOCE "cellSelectionInfoCE_r13" -#define ENB_CONFIG_STRING_Q_RXLEVMINCE "q_RxLevMinCE_r13" -#define ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE "q_QualMinRSRQ_CE_r13" -#define ENB_CONFIG_STRING_BRAccessRelatedInfo "bandwidthReducedAccessRelatedInfo_r13" +#define ENB_CONFIG_STRING_CELLSELECTIONINFOCE "cellSelectionInfoCE_r13" +#define ENB_CONFIG_STRING_Q_RXLEVMINCE "q_RxLevMinCE_r13" +#define ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE "q_QualMinRSRQ_CE_r13" +#define ENB_CONFIG_STRING_BRAccessRelatedInfo "bandwidthReducedAccessRelatedInfo_r13" #define ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR "si_WindowLength_BR_r13" #define ENB_CONFIG_STRING_SI_REPETITIONPATTERN "si_RepetitionPattern_r13" -#define ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR "fdd_DownlinkOrTddSubframeBitmapBR_r13" -#define ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" -#define ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR "fdd_UplinkSubframeBitmapBR_r13" -#define ENB_CONFIG_STRING_STARTSYMBOLBR "startSymbolBR_r13" -#define ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON "si_HoppingConfigCommon_r13" +#define ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR "fdd_DownlinkOrTddSubframeBitmapBR_r13" +#define ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" +#define ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR "fdd_UplinkSubframeBitmapBR_r13" +#define ENB_CONFIG_STRING_STARTSYMBOLBR "startSymbolBR_r13" +#define ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON "si_HoppingConfigCommon_r13" #define ENB_CONFIG_STRING_SI_VALIDITYTIME "si_ValidityTime_r13" -#define ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL "freqHoppingParametersDL_r13" -#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB "mpdcch_pdsch_HoppingNB_r13" +#define ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL "freqHoppingParametersDL_r13" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB "mpdcch_pdsch_HoppingNB_r13" #define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEA "interval_DLHoppingConfigCommonModeA_r13" #define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEA_VAL "interval_DLHoppingConfigCommonModeA_r13_val" #define ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB "interval_DLHoppingConfigCommonModeB_r13" @@ -449,9 +449,9 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i); int load_config_file(config_t *cfg) { config_init(cfg); - + if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. + // Read the file. If there is an error, report it and exit. if (! config_read_file(cfg, RC.config_file_name)) { config_destroy(cfg); AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); @@ -498,171 +498,171 @@ void RCconfig_RU() { load_config_file(&cfg); - // Output a list of all RUs. + // Output a list of all RUs. setting = config_lookup(&cfg, CONFIG_STRING_RU_LIST); - + if (setting != NULL) { RC.ru = (RU_t**)malloc(RC.nb_RU*sizeof(RU_t*)); - + RC.ru_mask=(1<eNB mappings\n"); - - if (setting_eNB_list != NULL) num_eNB4RU = config_setting_length(setting_eNB_list); - else num_eNB4RU=0; - AssertFatal(num_eNB4RU>0,"Number of eNBs is zero\n"); + if ( !( + config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_ADDRESS, (const char **)&ipv4) + && config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_REMOTE_ADDRESS, (const char **)&ipv4_remote) + && config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_LOCAL_PORTC, &local_portc) + && config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_REMOTE_PORTC, &remote_portc) + && config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_LOCAL_PORTD, &local_portd) + && config_setting_lookup_int (setting_ru, CONFIG_STRING_RU_REMOTE_PORTD, &remote_portd) + && config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_TRANSPORT_PREFERENCE, (const char **)&tr_preference) + ) + ) { + AssertFatal (0, + "Failed to parse configuration file %s, RU %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + AssertFatal((setting_eNB_list = config_setting_get_member(setting_ru, CONFIG_STRING_RU_ENB_LIST))!=NULL,"No RU<->eNB mappings\n"); - for (i=0;i0,"Number of eNBs is zero\n"); + + for (i=0;iidx = j; - + RC.ru[j]->if_timing = synch_to_ext_device; RC.ru[j]->num_eNB = num_eNB4RU; - - if (strcmp(local_rf, "yes") == 0) { - if (fronthaul_flag == CONFIG_FALSE) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = eNodeB_3GPP; - } - else { - if (strcmp(tr_preference, "udp") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; - } else if (strcmp(tr_preference, "raw") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; - } else if (strcmp(tr_preference, "udp_if4p5") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; - } else if (strcmp(tr_preference, "raw_if4p5") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; - } - } - RC.ru[j]->max_pdschReferenceSignalPower = max_pdschReferenceSignalPower; - RC.ru[j]->max_rxgain = max_rxgain; - RC.ru[j]->num_bands = num_bands; - for (i=0;iband[i] = band[i]; + if (strcmp(local_rf, "yes") == 0) { + if (fronthaul_flag == CONFIG_FALSE) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = eNodeB_3GPP; + } + else { + if (strcmp(tr_preference, "udp") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; + } else if (strcmp(tr_preference, "raw") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; + } else if (strcmp(tr_preference, "udp_if4p5") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; + } else if (strcmp(tr_preference, "raw_if4p5") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; + } + } + + RC.ru[j]->max_pdschReferenceSignalPower = max_pdschReferenceSignalPower; + RC.ru[j]->max_rxgain = max_rxgain; + RC.ru[j]->num_bands = num_bands; + for (i=0;iband[i] = band[i]; } else { - printf("RU %d: Transport %s\n",j,tr_preference); + printf("RU %d: Transport %s\n",j,tr_preference); - RC.ru[j]->eth_params.local_if_name = strdup(if_name); - RC.ru[j]->eth_params.my_addr = strdup(ipv4); - RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote); - RC.ru[j]->eth_params.my_portc = local_portc; - RC.ru[j]->eth_params.remote_portc = remote_portc; - RC.ru[j]->eth_params.my_portd = local_portd; - RC.ru[j]->eth_params.remote_portd = remote_portd; - for (i=0;ieNB_list[i] = RC.eNB[eNB_list[i]][0]; + RC.ru[j]->eth_params.local_if_name = strdup(if_name); + RC.ru[j]->eth_params.my_addr = strdup(ipv4); + RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote); + RC.ru[j]->eth_params.my_portc = local_portc; + RC.ru[j]->eth_params.remote_portc = remote_portc; + RC.ru[j]->eth_params.my_portd = local_portd; + RC.ru[j]->eth_params.remote_portd = remote_portd; + for (i=0;ieNB_list[i] = RC.eNB[eNB_list[i]][0]; - if (strcmp(tr_preference, "udp") == 0) { - RC.ru[j]->if_south = REMOTE_IF5; - RC.ru[j]->function = NGFI_RAU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; - } else if (strcmp(tr_preference, "raw") == 0) { - RC.ru[j]->if_south = REMOTE_IF5; - RC.ru[j]->function = NGFI_RAU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; - } else if (strcmp(tr_preference, "udp_if4p5") == 0) { - RC.ru[j]->if_south = REMOTE_IF4p5; - RC.ru[j]->function = NGFI_RAU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; - } else if (strcmp(tr_preference, "raw_if4p5") == 0) { - RC.ru[j]->if_south = REMOTE_IF4p5; - RC.ru[j]->function = NGFI_RAU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; - } else if (strcmp(tr_preference, "raw_if5_mobipass") == 0) { - RC.ru[j]->if_south = REMOTE_IF5; - RC.ru[j]->function = NGFI_RAU_IF5; - RC.ru[j]->if_timing = synch_to_other; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF5_MOBIPASS; - } - RC.ru[j]->att_tx = att_tx; - RC.ru[j]->att_rx = att_rx; + if (strcmp(tr_preference, "udp") == 0) { + RC.ru[j]->if_south = REMOTE_IF5; + RC.ru[j]->function = NGFI_RAU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; + } else if (strcmp(tr_preference, "raw") == 0) { + RC.ru[j]->if_south = REMOTE_IF5; + RC.ru[j]->function = NGFI_RAU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; + } else if (strcmp(tr_preference, "udp_if4p5") == 0) { + RC.ru[j]->if_south = REMOTE_IF4p5; + RC.ru[j]->function = NGFI_RAU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; + } else if (strcmp(tr_preference, "raw_if4p5") == 0) { + RC.ru[j]->if_south = REMOTE_IF4p5; + RC.ru[j]->function = NGFI_RAU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; + } else if (strcmp(tr_preference, "raw_if5_mobipass") == 0) { + RC.ru[j]->if_south = REMOTE_IF5; + RC.ru[j]->function = NGFI_RAU_IF5; + RC.ru[j]->if_timing = synch_to_other; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF5_MOBIPASS; + } + RC.ru[j]->att_tx = att_tx; + RC.ru[j]->att_rx = att_rx; } RC.ru[j]->nb_tx = nb_tx; RC.ru[j]->nb_rx = nb_rx; - + }// j=0..num_rus } else { - RC.nb_RU = 0; + RC.nb_RU = 0; } // setting != NULL return; - + } void RCconfig_L1() { @@ -676,7 +676,7 @@ void RCconfig_L1() { char* if_name_n = NULL; char* ipv4_n = NULL; char* ipv4_n_remote = NULL; - + char* tr_n_preference = NULL; libconfig_int local_n_portc = 0; libconfig_int remote_n_portc = 0; @@ -686,7 +686,7 @@ void RCconfig_L1() { load_config_file(&cfg); setting = config_lookup(&cfg, CONFIG_STRING_L1_LIST); - + if (setting != NULL) { if (RC.eNB == NULL) { @@ -700,70 +700,70 @@ void RCconfig_L1() { setting_l1 = config_setting_get_elem(setting, j); if (!config_setting_lookup_int (setting_l1,CONFIG_STRING_L1_CC,&RC.nb_L1_CC[j])) - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); if (RC.eNB[j] == NULL) { - RC.eNB[j] = (PHY_VARS_eNB **)malloc((1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB**)); - LOG_I(PHY,"RC.eNB[%d] = %p\n",j,RC.eNB[j]); - memset(RC.eNB[j],0,(1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB***)); + RC.eNB[j] = (PHY_VARS_eNB **)malloc((1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB**)); + LOG_I(PHY,"RC.eNB[%d] = %p\n",j,RC.eNB[j]); + memset(RC.eNB[j],0,(1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB***)); } for (i=0;iMod_id = j; - RC.eNB[j][i]->CC_id = i; - } + if (RC.eNB[j][i] == NULL) { + RC.eNB[j][i] = (PHY_VARS_eNB *)malloc(sizeof(PHY_VARS_eNB)); + memset((void*)RC.eNB[j][i],0,sizeof(PHY_VARS_eNB)); + LOG_I(PHY,"RC.eNB[%d][%d] = %p\n",j,i,RC.eNB[j][i]); + RC.eNB[j][i]->Mod_id = j; + RC.eNB[j][i]->CC_id = i; + } } - + printf("l1 %d/%d (nb CC %d)\n",j,RC.nb_inst,RC.nb_CC[j]); - + printf("RU %d: Transport %s\n",j,tr_n_preference); if (!(config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_TRANSPORT_N_PREFERENCE, (const char **)&tr_n_preference))) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); } if (strcmp(tr_n_preference, "local_mac") == 0) { } else if (strcmp(tr_n_preference, "nfapi") == 0) { - if ( !( - config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_IF_NAME, (const char **)&if_name_n) - && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_ADDRESS, (const char **)&ipv4_n) - && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTC, &local_n_portc) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTC, &remote_n_portc) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTD, &local_n_portd) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTD, &remote_n_portd) - ) - ) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } - RC.eNB[j][0]->eth_params_n.local_if_name = strdup(if_name_n); - RC.eNB[j][0]->eth_params_n.my_addr = strdup(ipv4_n); - RC.eNB[j][0]->eth_params_n.remote_addr = strdup(ipv4_n_remote); - RC.eNB[j][0]->eth_params_n.my_portc = local_n_portc; - RC.eNB[j][0]->eth_params_n.remote_portc = remote_n_portc; - RC.eNB[j][0]->eth_params_n.my_portd = local_n_portd; - RC.eNB[j][0]->eth_params_n.remote_portd = remote_n_portd; - RC.eNB[j][0]->eth_params_n.transp_preference = ETH_UDP_MODE; + if ( !( + config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_IF_NAME, (const char **)&if_name_n) + && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_ADDRESS, (const char **)&ipv4_n) + && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTC, &local_n_portc) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTC, &remote_n_portc) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTD, &local_n_portd) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTD, &remote_n_portd) + ) + ) { + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + RC.eNB[j][0]->eth_params_n.local_if_name = strdup(if_name_n); + RC.eNB[j][0]->eth_params_n.my_addr = strdup(ipv4_n); + RC.eNB[j][0]->eth_params_n.remote_addr = strdup(ipv4_n_remote); + RC.eNB[j][0]->eth_params_n.my_portc = local_n_portc; + RC.eNB[j][0]->eth_params_n.remote_portc = remote_n_portc; + RC.eNB[j][0]->eth_params_n.my_portd = local_n_portd; + RC.eNB[j][0]->eth_params_n.remote_portd = remote_n_portd; + RC.eNB[j][0]->eth_params_n.transp_preference = ETH_UDP_MODE; } - + else { // other midhaul - } + } }// j=0..num_inst printf("Initializing northbound interface for L1\n"); l1_north_init_eNB(); @@ -780,7 +780,7 @@ void RCconfig_macrlc() { char* if_name_s = NULL; char* ipv4_s = NULL; char* ipv4_s_remote = NULL; - + char* tr_s_preference = NULL; libconfig_int local_s_portc = 0; libconfig_int remote_s_portc = 0; @@ -789,7 +789,7 @@ void RCconfig_macrlc() { char* if_name_n = NULL; char* ipv4_n = NULL; char* ipv4_n_remote = NULL; - + char* tr_n_preference = NULL; libconfig_int local_n_portc = 0; libconfig_int remote_n_portc = 0; @@ -799,107 +799,107 @@ void RCconfig_macrlc() { load_config_file(&cfg); setting = config_lookup(&cfg, CONFIG_STRING_MACRLC_LIST); - - if (setting != NULL) { - - + if (setting != NULL) { + + + if ((RC.nb_macrlc_inst=config_setting_length(setting))>0) mac_top_init_eNB(); else AssertFatal(1==0,"improper macrlc setting\n"); - + for (j=0;jeth_params_n.local_if_name = strdup(if_name_n); - RC.mac[j]->eth_params_n.my_addr = strdup(ipv4_n); - RC.mac[j]->eth_params_n.remote_addr = strdup(ipv4_n_remote); - RC.mac[j]->eth_params_n.my_portc = local_n_portc; - RC.mac[j]->eth_params_n.remote_portc = remote_n_portc; - RC.mac[j]->eth_params_n.my_portd = local_n_portd; - RC.mac[j]->eth_params_n.remote_portd = remote_n_portd; - RC.mac[j]->eth_params_n.transp_preference = ETH_UDP_MODE; + if ( !( + config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_IF_NAME, (const char **)&if_name_n) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_ADDRESS, (const char **)&ipv4_n) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_PORTC, &local_n_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_PORTC, &remote_n_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_PORTD, &local_n_portd) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_PORTD, &remote_n_portd) + ) + ) { + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + RC.mac[j]->eth_params_n.local_if_name = strdup(if_name_n); + RC.mac[j]->eth_params_n.my_addr = strdup(ipv4_n); + RC.mac[j]->eth_params_n.remote_addr = strdup(ipv4_n_remote); + RC.mac[j]->eth_params_n.my_portc = local_n_portc; + RC.mac[j]->eth_params_n.remote_portc = remote_n_portc; + RC.mac[j]->eth_params_n.my_portd = local_n_portd; + RC.mac[j]->eth_params_n.remote_portd = remote_n_portd; + RC.mac[j]->eth_params_n.transp_preference = ETH_UDP_MODE; } - + else { // other midhaul - AssertFatal(1==0,"MACRLC %d: unknown northbound midhaul\n",j); - } + AssertFatal(1==0,"MACRLC %d: unknown northbound midhaul\n",j); + } if (!(config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_TRANSPORT_S_PREFERENCE, (const char **)&tr_s_preference))) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... } printf("MACRLC %d: Southbound Transport %s\n",j,tr_s_preference); - + if (strcmp(tr_s_preference, "local_L1") == 0) { - + } else if (strcmp(tr_s_preference, "nfapi") == 0) { - if ( !( - config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_IF_NAME, (const char **)&if_name_s) - && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_ADDRESS, (const char **)&ipv4_s) - && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTC, &local_s_portc) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTC, &remote_s_portc) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTD, &local_s_portd) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTD, &remote_s_portd) - )){ - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } + if ( !( + config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_IF_NAME, (const char **)&if_name_s) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_ADDRESS, (const char **)&ipv4_s) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTC, &local_s_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTC, &remote_s_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTD, &local_s_portd) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTD, &remote_s_portd) + )){ + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } - RC.mac[j]->eth_params_s.local_if_name = strdup(if_name_s); - RC.mac[j]->eth_params_s.my_addr = strdup(ipv4_s); - RC.mac[j]->eth_params_s.remote_addr = strdup(ipv4_s_remote); - RC.mac[j]->eth_params_s.my_portc = local_s_portc; - RC.mac[j]->eth_params_s.remote_portc = remote_s_portc; - RC.mac[j]->eth_params_s.my_portd = local_s_portd; - RC.mac[j]->eth_params_s.remote_portd = remote_s_portd; - RC.mac[j]->eth_params_s.transp_preference = ETH_UDP_MODE; + RC.mac[j]->eth_params_s.local_if_name = strdup(if_name_s); + RC.mac[j]->eth_params_s.my_addr = strdup(ipv4_s); + RC.mac[j]->eth_params_s.remote_addr = strdup(ipv4_s_remote); + RC.mac[j]->eth_params_s.my_portc = local_s_portc; + RC.mac[j]->eth_params_s.remote_portc = remote_s_portc; + RC.mac[j]->eth_params_s.my_portd = local_s_portd; + RC.mac[j]->eth_params_s.remote_portd = remote_s_portd; + RC.mac[j]->eth_params_s.transp_preference = ETH_UDP_MODE; } - + else { // other midhaul - AssertFatal(1==0,"MACRLC %d: unknown southbound midhaul\n",j); - } + AssertFatal(1==0,"MACRLC %d: unknown southbound midhaul\n",j); + } }// j=0..num_inst } } - + int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_t cfg; config_setting_t *setting = NULL; @@ -928,7 +928,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char* if_name_s = NULL; char* ipv4_s = NULL; char* ipv4_s_remote = NULL; - + char* tr_s_preference = NULL; libconfig_int local_s_portc = 0; libconfig_int remote_s_portc = 0; @@ -964,9 +964,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int pucch_delta_shift = 0; libconfig_int pucch_nRB_CQI = 0; libconfig_int pucch_nCS_AN = 0; -#if !defined(Rel10) && !defined(Rel14) + libconfig_int pucch_n1_AN = 0; -#endif + libconfig_int pdsch_referenceSignalPower = 0; libconfig_int pdsch_p_b = 0; libconfig_int pusch_n_SB = 0; @@ -1062,7 +1062,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char* osa_log_level = NULL; char* osa_log_verbosity = NULL; - // for no gcc warnings + // for no gcc warnings (void)astring; (void)my_int; @@ -1071,7 +1071,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_init(&cfg); if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. + // Read the file. If there is an error, report it and exit. if (! config_read_file(&cfg, RC.config_file_name)) { config_destroy(&cfg); AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); @@ -1113,3296 +1113,3353 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { setting_enb = config_setting_get_elem(setting, i); active_enb[i] = config_setting_get_string (setting_enb); AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %uth attribute %s \n", - RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); + "Failed to parse config file %s, %uth attribute %s \n", + RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); active_enb[i] = strdup(active_enb[i]); } - - + + if (num_enbs>0) { // Output a list of all eNBs. setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - + if (setting != NULL) { num_enbs = config_setting_length(setting); - + setting_enb = config_setting_get_elem(setting, i); - + if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - // Calculate a default eNB ID + // Calculate a default eNB ID # if defined(ENABLE_USE_MME) - uint32_t hash; - - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); + uint32_t hash; + + hash = s1ap_generate_eNB_id (); + enb_id = i + (hash & 0xFFFF8); # else - enb_id = i; + enb_id = i; # endif } if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRANSPORT_S_PREFERENCE, (const char **)&tr_s_preference) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRANSPORT_S_PREFERENCE, (const char **)&tr_s_preference) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); } - + printf("RRC %d: Southbound Transport %s\n",j,tr_s_preference); - + if (strcmp(tr_s_preference, "local_mac") == 0) { } else if (strcmp(tr_s_preference, "cudu") == 0) { - if ( !(config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_IF_NAME, (const char **)&if_name_s) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_ADDRESS, (const char **)&ipv4_s) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTC, &local_s_portc) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTC, &remote_s_portc) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTD, &local_s_portd) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTD, &remote_s_portd) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); - } - rrc->eth_params_s.local_if_name = strdup(if_name_s); - rrc->eth_params_s.my_addr = strdup(ipv4_s); - rrc->eth_params_s.remote_addr = strdup(ipv4_s_remote); - rrc->eth_params_s.my_portc = local_s_portc; - rrc->eth_params_s.remote_portc = remote_s_portc; - rrc->eth_params_s.my_portd = local_s_portd; - rrc->eth_params_s.remote_portd = remote_s_portd; - rrc->eth_params_s.transp_preference = ETH_UDP_MODE; + if ( !(config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_IF_NAME, (const char **)&if_name_s) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_ADDRESS, (const char **)&ipv4_s) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTC, &local_s_portc) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTC, &remote_s_portc) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTD, &local_s_portd) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTD, &remote_s_portd) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); + } + rrc->eth_params_s.local_if_name = strdup(if_name_s); + rrc->eth_params_s.my_addr = strdup(ipv4_s); + rrc->eth_params_s.remote_addr = strdup(ipv4_s_remote); + rrc->eth_params_s.my_portc = local_s_portc; + rrc->eth_params_s.remote_portc = remote_s_portc; + rrc->eth_params_s.my_portd = local_s_portd; + rrc->eth_params_s.remote_portd = remote_s_portd; + rrc->eth_params_s.transp_preference = ETH_UDP_MODE; } - + else { // other midhaul - } + } // search if in active list for (j=0; j < num_enbs; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { - - RRC_CONFIGURATION_REQ (msg_p).cell_identity = enb_id; - - /* - if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cell_type = CELL_HOME_ENB; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - lib_config_file_name_pP, i, cell_type); - } - - enb_properties_loc.properties[enb_properties_loc_index]->eNB_name = strdup(enb_name); - */ - RRC_CONFIGURATION_REQ (msg_p).tac = (uint16_t)atoi(tac); - RRC_CONFIGURATION_REQ (msg_p).mcc = (uint16_t)atoi(mcc); - RRC_CONFIGURATION_REQ (msg_p).mnc = (uint16_t)atoi(mnc); - RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length = strlen(mnc); - AssertFatal((RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 2) || - (RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length); - - LOG_I(RRC,"RRC config (%s,%s,%s)\n",mcc,mnc,tac); - // Parse optional physical parameters - - - setting_component_carriers = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_COMPONENT_CARRIERS); - nb_cc = 0; - - if (setting_component_carriers != NULL) { - - num_component_carriers = config_setting_length(setting_component_carriers); - LOG_I(RRC,"num component carriers %d \n", num_component_carriers); - - //enb_properties_loc.properties[enb_properties_loc_index]->nb_cc = num_component_carriers; - for (j = 0; j < num_component_carriers ;j++) { // && j < MAX_NUM_CCs; j++) { - component_carrier = config_setting_get_elem(setting_component_carriers, j); - - //printf("Component carrier %d\n",component_carrier); - if (!(config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG, &tdd_config) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG_S, &tdd_config_s) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PREFIX_TYPE, &prefix_type) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PBCH_REPETITION, &pbch_repetition) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_EUTRA_BAND, &eutra_band) - && config_setting_lookup_int64(component_carrier, ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, &downlink_frequency) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, &uplink_frequency_offset) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NID_CELL, &Nid_cell) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_N_RB_DL, &N_RB_DL) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_CELL_MBSFN, &Nid_cell_mbsfn) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NB_ANT_PORTS, &nb_antenna_ports) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) - && 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) + if (strcmp(active_enb[j], enb_name) == 0) { + + RRC_CONFIGURATION_REQ (msg_p).cell_identity = enb_id; + + /* + if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cell_type = CELL_MACRO_ENB; + } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cell_type = CELL_HOME_ENB; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", + lib_config_file_name_pP, i, cell_type); + } + + enb_properties_loc.properties[enb_properties_loc_index]->eNB_name = strdup(enb_name); + */ + RRC_CONFIGURATION_REQ (msg_p).tac = (uint16_t)atoi(tac); + RRC_CONFIGURATION_REQ (msg_p).mcc = (uint16_t)atoi(mcc); + RRC_CONFIGURATION_REQ (msg_p).mnc = (uint16_t)atoi(mnc); + RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length = strlen(mnc); + AssertFatal((RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 2) || + (RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 3), + "BAD MNC DIGIT LENGTH %d", + RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length); + + LOG_I(RRC,"RRC config (%s,%s,%s)\n",mcc,mnc,tac); + // Parse optional physical parameters + + + setting_component_carriers = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_COMPONENT_CARRIERS); + nb_cc = 0; + + if (setting_component_carriers != NULL) { + + num_component_carriers = config_setting_length(setting_component_carriers); + LOG_I(RRC,"num component carriers %d \n", num_component_carriers); + + //enb_properties_loc.properties[enb_properties_loc_index]->nb_cc = num_component_carriers; + for (j = 0; j < num_component_carriers ;j++) { // && j < MAX_NUM_CCs; j++) { + component_carrier = config_setting_get_elem(setting_component_carriers, j); + + //printf("Component carrier %d\n",component_carrier); + if (!(config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG, &tdd_config) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG_S, &tdd_config_s) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PREFIX_TYPE, &prefix_type) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PBCH_REPETITION, &pbch_repetition) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_EUTRA_BAND, &eutra_band) + && config_setting_lookup_int64(component_carrier, ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, &downlink_frequency) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, &uplink_frequency_offset) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NID_CELL, &Nid_cell) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_N_RB_DL, &N_RB_DL) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_CELL_MBSFN, &Nid_cell_mbsfn) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NB_ANT_PORTS, &nb_antenna_ports) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) + && 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) #if !defined(Rel10) && !defined(Rel14) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN) + && 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) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) - && 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) - + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && 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) + #if defined(Rel10) || defined(Rel14) - + #endif - )) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, Component Carrier %d!\n", - RC.config_file_name, nb_cc++); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } - - nb_cc++; - /* - if (strcmp(cc_node_function, "eNodeB_3GPP") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = eNodeB_3GPP; - } else if (strcmp(cc_node_function, "eNodeB_3GPP_BBU") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = eNodeB_3GPP_BBU; - } else if (strcmp(cc_node_function, "NGFI_RCC_IF4p5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RCC_IF4p5; - } else if (strcmp(cc_node_function, "NGFI_RAU_IF4p5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RAU_IF4p5; - } else if (strcmp(cc_node_function, "NGFI_RRU_IF4p5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RRU_IF4p5; - } else if (strcmp(cc_node_function, "NGFI_RRU_IF5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RRU_IF5; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for node_function choice: eNodeB_3GPP or eNodeB_3GPP_BBU or NGFI_IF4_RCC or NGFI_IF4_RRU or NGFI_IF5_RRU !\n", - lib_config_file_name_pP, i, cc_node_function); - } - - if (strcmp(cc_node_timing, "synch_to_ext_device") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_timing[j] = synch_to_ext_device; - } else if (strcmp(cc_node_timing, "synch_to_other") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_timing[j] = synch_to_other; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for node_function choice: SYNCH_TO_DEVICE or SYNCH_TO_OTHER !\n", - lib_config_file_name_pP, i, cc_node_timing); - } - - if ((cc_node_synch_ref >= -1) && (cc_node_synch_ref < num_component_carriers)) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_synch_ref[j] = (int16_t) cc_node_synch_ref; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for node_synch_ref choice: valid CC_id or -1 !\n", - lib_config_file_name_pP, i, cc_node_synch_ref); - } - */ - - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } + )) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } + + nb_cc++; + /* + if (strcmp(cc_node_function, "eNodeB_3GPP") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = eNodeB_3GPP; + } else if (strcmp(cc_node_function, "eNodeB_3GPP_BBU") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = eNodeB_3GPP_BBU; + } else if (strcmp(cc_node_function, "NGFI_RCC_IF4p5") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RCC_IF4p5; + } else if (strcmp(cc_node_function, "NGFI_RAU_IF4p5") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RAU_IF4p5; + } else if (strcmp(cc_node_function, "NGFI_RRU_IF4p5") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RRU_IF4p5; + } else if (strcmp(cc_node_function, "NGFI_RRU_IF5") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RRU_IF5; + } else { + AssertError (0, parse_errors ++, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for node_function choice: eNodeB_3GPP or eNodeB_3GPP_BBU or NGFI_IF4_RCC or NGFI_IF4_RRU or NGFI_IF5_RRU !\n", + lib_config_file_name_pP, i, cc_node_function); + } + + if (strcmp(cc_node_timing, "synch_to_ext_device") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_timing[j] = synch_to_ext_device; + } else if (strcmp(cc_node_timing, "synch_to_other") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_timing[j] = synch_to_other; + } else { + AssertError (0, parse_errors ++, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for node_function choice: SYNCH_TO_DEVICE or SYNCH_TO_OTHER !\n", + lib_config_file_name_pP, i, cc_node_timing); + } + + if ((cc_node_synch_ref >= -1) && (cc_node_synch_ref < num_component_carriers)) { + enb_properties_loc.properties[enb_properties_loc_index]->cc_node_synch_ref[j] = (int16_t) cc_node_synch_ref; + } else { + AssertError (0, parse_errors ++, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for node_synch_ref choice: valid CC_id or -1 !\n", + lib_config_file_name_pP, i, cc_node_synch_ref); + } + */ + + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } #ifdef Rel14 - if (!pbch_repetition) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; - } - else if (strcmp(pbch_repetition, "FALSE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", - RC.config_file_name, i, pbch_repetition); - } + if (!pbch_repetition) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); + else if (strcmp(pbch_repetition, "TRUE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; + } + else if (strcmp(pbch_repetition, "FALSE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", + RC.config_file_name, i, pbch_repetition); + } #endif - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; - - if (Nid_cell>503) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", - RC.config_file_name, i, Nid_cell); - } - - RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; - - if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", - RC.config_file_name, i, N_RB_DL); - } - - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; - } - else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, i, frame_type); - } - - - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - - - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } - - - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); - - - - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); - - - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - - if (enb_check_band_frequencies(RC.config_file_name, - j, - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], - RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { - AssertFatal(0, "error calling enb_check_band_frequencies\n"); - } - - if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", - RC.config_file_name, i, nb_antenna_ports); - - RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; - - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; - - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); - - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; - - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; - - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; + if (Nid_cell>503) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", + RC.config_file_name, i, Nid_cell); + } - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); + RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; + + if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", + RC.config_file_name, i, N_RB_DL); + } + + if (strcmp(frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; + } + else if (strcmp(frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + RC.config_file_name, i, frame_type); + } + + + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + + + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + + + + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } + + + + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); + + + + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); + + + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + + if (enb_check_band_frequencies(RC.config_file_name, + j, + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], + RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { + AssertFatal(0, "error calling enb_check_band_frequencies\n"); + } + + if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", + RC.config_file_name, i, nb_antenna_ports); + + RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); #if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); #endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, - (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); - if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) - )) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", - RC.config_file_name, i); + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); #ifndef Rel14 - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } #else - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; + } #endif - 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", - RC.config_file_name, i, pusch_alpha); + 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", + RC.config_file_name, i, pusch_alpha); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", - RC.config_file_name, i); + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; - case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; - case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); - - } - else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; - - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); + + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); - switch (rach_preambleTransMax) { + switch (rach_preambleTransMax) { #ifndef Rel14 - _ case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; + _ case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; #else - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; - break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; + break; #endif - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; - } - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - - } - - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + switch (pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; + } + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + switch (ue_TimersAndConstants_t300) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; + + } + + switch (ue_TimersAndConstants_t301) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; + + } - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; + switch (ue_TimersAndConstants_t310) { + case 0: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; - case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - - } - - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; - - case 3110: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; - - case 31100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - - } - - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; - } + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; + + case 500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; + + } + + switch (ue_TimersAndConstants_t311) { + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; + + case 3110: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; + + case 5000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; + + case 10000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; + + case 15000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; + + case 20000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; + + case 31100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TimersAndConstants_n310) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; + + } + + switch (ue_TimersAndConstants_n311) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } #ifdef Rel14 - setting_br13 = config_setting_get_member(setting_enb, ENB_CONFIG_STRING_BR); - - if (setting_br13 != NULL) { + setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); + if (setting_br13 == NULL) { + puts("setting BR is NULL"); + } else { + puts("setting BR is NOT NULL"); + } + if (setting_br13 != NULL) { - // Rel8 RadioResourceConfigCommon Parameters - if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) + // Rel8 RadioResourceConfigCommon Parameters + if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) #if !defined(Rel10) && !defined(Rel14) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN) #endif - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) - )) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, Component Carrier %d!\n", - RC.config_file_name, nb_cc++); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; - - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; - - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); - - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; - - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; - - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) + )) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); + printf("[DEBUGGING][KOGO] frame type %s\n", frame_type); + printf("[DEBUGGING][KOGO] prach_root %d\n", prach_root); + printf("[DEBUGGING][KOGO] prach_config_index %d\n", prach_config_index); + printf("[DEBUGGING][KOGO] prach_high_speed %s\n", prach_high_speed); + printf("[DEBUGGING][KOGO] prach_zero_correlation %d\n", prach_zero_correlation); + printf("[DEBUGGING][KOGO] prach_freq_offset %d\n", prach_freq_offset); + printf("[DEBUGGING][KOGO] pucch_delta_shift %d\n", pucch_delta_shift); + printf("[DEBUGGING][KOGO] pucch_nRB_CQI %d\n", pucch_nRB_CQI); + printf("[DEBUGGING][KOGO] pucch_nCS_AN %d\n", pucch_nCS_AN); + printf("[DEBUGGING][KOGO] pucch_n1_AN %d\n", pucch_n1_AN); + printf("[DEBUGGING][KOGO] pdsch_referenceSignalPower %d\n", pdsch_referenceSignalPower); + printf("[DEBUGGING][KOGO] pdsch_p_b %d\n", pdsch_p_b); + printf("[DEBUGGING][KOGO] pusch_n_SB %d\n", pusch_n_SB); + printf("[DEBUGGING][KOGO] pusch_hoppingMode %s\n", pusch_hoppingMode); + printf("[DEBUGGING][KOGO] pusch_hoppingOffset %d\n", pusch_hoppingOffset); + printf("[DEBUGGING][KOGO] pusch_enable64QAM %s\n", pusch_enable64QAM); + printf("[DEBUGGING][KOGO] pusch_groupHoppingEnabled %s\n", pusch_groupHoppingEnabled); + printf("[DEBUGGING][KOGO] pusch_groupAssignment %d\n", pusch_groupAssignment); + printf("[DEBUGGING][KOGO] pusch_sequenceHoppingEnabled %s\n", pusch_sequenceHoppingEnabled); + printf("[DEBUGGING][KOGO] pusch_nDMRS1 %d\n", pusch_nDMRS1); + printf("[DEBUGGING][KOGO] phich_duration %s\n", phich_duration); + printf("[DEBUGGING][KOGO] phich_resource %s\n", phich_resource); + printf("[DEBUGGING][KOGO] srs_enable %s\n", srs_enable); + printf("[DEBUGGING][KOGO] pusch_p0_Nominal %d\n", pusch_p0_Nominal); + printf("[DEBUGGING][KOGO] pusch_alpha %s\n", pusch_alpha); + printf("[DEBUGGING][KOGO] pucch_p0_Nominal %d\n", pucch_p0_Nominal); + printf("[DEBUGGING][KOGO] msg3_delta_Preamble %d\n", msg3_delta_Preamble); + printf("[DEBUGGING][KOGO] pucch_deltaF_Format1 %s\n", pucch_deltaF_Format1); + printf("[DEBUGGING][KOGO] pucch_deltaF_Format1b %s\n", pucch_deltaF_Format1b); + printf("[DEBUGGING][KOGO] pucch_deltaF_Format2 %s\n", pucch_deltaF_Format2); + printf("[DEBUGGING][KOGO] pucch_deltaF_Format2a %s\n", pucch_deltaF_Format2a); + printf("[DEBUGGING][KOGO] pucch_deltaF_Format2b %s\n", pucch_deltaF_Format2b); + printf("[DEBUGGING][KOGO] rach_numberOfRA_Preambles %d\n", rach_numberOfRA_Preambles); + printf("[DEBUGGING][KOGO] rach_preamblesGroupAConfig %s\n", rach_preamblesGroupAConfig); + printf("[DEBUGGING][KOGO] rach_powerRampingStep %d\n", rach_powerRampingStep); + printf("[DEBUGGING][KOGO] rach_preambleInitialReceivedTargetPower %d\n", rach_preambleInitialReceivedTargetPower); + printf("[DEBUGGING][KOGO] rach_preambleTransMax %d\n", rach_preambleTransMax); + printf("[DEBUGGING][KOGO] rach_raResponseWindowSize %d\n", rach_raResponseWindowSize); + printf("[DEBUGGING][KOGO] rach_macContentionResolutionTimer %d\n", rach_macContentionResolutionTimer); + printf("[DEBUGGING][KOGO] rach_maxHARQ_Msg3Tx %d\n", rach_maxHARQ_Msg3Tx); + printf("[DEBUGGING][KOGO] pcch_default_PagingCycle %d\n", pcch_defaultPagingCycle); + printf("[DEBUGGING][KOGO] pcch_nB %s\n", pcch_nB); + printf("[DEBUGGING][KOGO] bcch_modificationPeriodCoeff %d\n", bcch_modificationPeriodCoeff); + printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t300 %d\n", ue_TimersAndConstants_t300); + printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t301 %d\n", ue_TimersAndConstants_t301); + printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t310 %d\n", ue_TimersAndConstants_t310); + printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t311 %d\n", ue_TimersAndConstants_t311); + printf("[DEBUGGING][KOGO] ue_TimersAndConstants_n310 %d\n", ue_TimersAndConstants_n310); + printf("[DEBUGGING][KOGO] ue_TimersAndConstants_n311 %d\n", ue_TimersAndConstants_n311); + printf("[DEBUGGING][KOGO] ue_TransmissionMode %d\n", ue_TransmissionMode); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); #if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = pucch_n1_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = pucch_n1_AN; - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); #endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); - if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { - if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) - )) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", - RC.config_file_name, i); + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); #ifndef Rel14 - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } #else - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1; + } #endif - 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", - RC.config_file_name, i, pusch_alpha); + 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", + RC.config_file_name, i, pusch_alpha); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + printf("[KOGO][DEBUGGING] check value here: value: %ld -- index %d\n", RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles, j); - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; - if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", - RC.config_file_name, i); + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; - case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; - case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); - - } - else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; - - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); + + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); - switch (rach_preambleTransMax) { + switch (rach_preambleTransMax) { #ifndef Rel14 - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; #else - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; - break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; + break; #endif - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; - } - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - - } - - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + switch (pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; + } + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + switch (ue_TimersAndConstants_t300) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; + + } + + switch (ue_TimersAndConstants_t301) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; + + } - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; + switch (ue_TimersAndConstants_t310) { + case 0: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; - case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - - } - - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; - - case 3110: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; - - case 31100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - - } - - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; - } - - int hyperSFN_r13; - int eDRX_Allowed_r13; - int q_RxLevMinCE_r13; - int q_QualMinRSRQ_CE_r13; - int si_WindowLength_BR_r13; - int si_RepetitionPattern_r13; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - int startSymbolBR_r13; - int si_HoppingConfigCommon_r13; - int si_ValidityTime_r13; - int mpdcch_pdsch_HoppingNB_r13; - int interval_DLHoppingConfigCommonModeA_r13_val; - int interval_DLHoppingConfigCommonModeB_r13_val; - int mpdcch_pdsch_HoppingOffset_r13; - int preambleTransMax_CE_r13; - int mpdcch_startSF_CSS_RA_r13_val; - int prach_HoppingOffset_r13; - int schedulingInfoSIB1_BR_r13; - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13; - - - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", - RC.config_file_name, i); - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; - - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); - *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || - !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; - - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; - - - - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; - - /////SIB2 Parameters - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) - { - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; - else - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - } - else - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; - } + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; + + case 500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; + + } + + switch (ue_TimersAndConstants_t311) { + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; + + case 3110: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; + + case 5000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; + + case 10000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; + + case 15000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; + + case 20000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; + + case 31100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TimersAndConstants_n310) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; + + } + + switch (ue_TimersAndConstants_n311) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } + + int hyperSFN_r13; + int eDRX_Allowed_r13; + int q_RxLevMinCE_r13; + int q_QualMinRSRQ_CE_r13; + int si_WindowLength_BR_r13; + int si_RepetitionPattern_r13; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + int startSymbolBR_r13; + int si_HoppingConfigCommon_r13; + int si_ValidityTime_r13; + int mpdcch_pdsch_HoppingNB_r13; + int interval_DLHoppingConfigCommonModeA_r13_val; + int interval_DLHoppingConfigCommonModeB_r13_val; + int mpdcch_pdsch_HoppingOffset_r13; + int preambleTransMax_CE_r13; + int mpdcch_startSF_CSS_RA_r13_val; + int prach_HoppingOffset_r13; + int schedulingInfoSIB1_BR_r13; + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13; + + + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", + RC.config_file_name, i); + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || + !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + + + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + + /////SIB2 Parameters + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + } + else + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + } #endif - } - - - setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); - - if (setting_srb1 != NULL) { - if (!(config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, &srb1_timer_poll_retransmit) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, &srb1_timer_reordering) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, &srb1_timer_status_prohibit) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, &srb1_max_retx_threshold) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_PDU, &srb1_poll_pdu) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_BYTE, &srb1_poll_byte))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d timer_poll_retransmit, timer_reordering, " - "timer_status_prohibit, poll_pdu, poll_byte, max_retx_threshold !\n", - RC.config_file_name, i); - - switch (srb1_max_retx_threshold) { - case 1: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; - break; - - case 2: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; - break; - - case 3: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; - break; - - case 4: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; - break; - - case 6: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; - break; - - case 8: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - break; - - case 16: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; - break; - - case 32: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", - RC.config_file_name, i, srb1_max_retx_threshold); - } - - - switch (srb1_poll_pdu) { - case 4: - rrc->srb1_poll_pdu = PollPDU_p4; - break; - - case 8: - rrc->srb1_poll_pdu = PollPDU_p8; - break; - - case 16: - rrc->srb1_poll_pdu = PollPDU_p16; - break; - - case 32: - rrc->srb1_poll_pdu = PollPDU_p32; - break; - - case 64: - rrc->srb1_poll_pdu = PollPDU_p64; - break; - - case 128: - rrc->srb1_poll_pdu = PollPDU_p128; - break; - - case 256: - rrc->srb1_poll_pdu = PollPDU_p256; - break; - - default: - if (srb1_poll_pdu >= 10000) - rrc->srb1_poll_pdu = PollPDU_pInfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", - RC.config_file_name, i, srb1_poll_pdu); - } - - rrc->srb1_poll_byte = srb1_poll_byte; - - switch (srb1_poll_byte) { - case 25: - rrc->srb1_poll_byte = PollByte_kB25; - break; - - case 50: - rrc->srb1_poll_byte = PollByte_kB50; - break; - - case 75: - rrc->srb1_poll_byte = PollByte_kB75; - break; - - case 100: - rrc->srb1_poll_byte = PollByte_kB100; - break; - - case 125: - rrc->srb1_poll_byte = PollByte_kB125; - break; - - case 250: - rrc->srb1_poll_byte = PollByte_kB250; - break; - - case 375: - rrc->srb1_poll_byte = PollByte_kB375; - break; - - case 500: - rrc->srb1_poll_byte = PollByte_kB500; - break; - - case 750: - rrc->srb1_poll_byte = PollByte_kB750; - break; - - case 1000: - rrc->srb1_poll_byte = PollByte_kB1000; - break; - - case 1250: - rrc->srb1_poll_byte = PollByte_kB1250; - break; - - case 1500: - rrc->srb1_poll_byte = PollByte_kB1500; - break; - - case 2000: - rrc->srb1_poll_byte = PollByte_kB2000; - break; - - case 3000: - rrc->srb1_poll_byte = PollByte_kB3000; - break; - - default: - if (srb1_poll_byte >= 10000) - rrc->srb1_poll_byte = PollByte_kBinfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", - RC.config_file_name, i, srb1_poll_byte); - } - - if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; - } - else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } - - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; - } - else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", - RC.config_file_name, i, srb1_timer_status_prohibit); - } - - switch (srb1_timer_reordering) { - case 0: - rrc->srb1_timer_reordering = T_Reordering_ms0; - break; - - case 5: - rrc->srb1_timer_reordering = T_Reordering_ms5; - break; - - case 10: - rrc->srb1_timer_reordering = T_Reordering_ms10; - break; - - case 15: - rrc->srb1_timer_reordering = T_Reordering_ms15; - break; - - case 20: - rrc->srb1_timer_reordering = T_Reordering_ms20; - break; - - case 25: - rrc->srb1_timer_reordering = T_Reordering_ms25; - break; - - case 30: - rrc->srb1_timer_reordering = T_Reordering_ms30; - break; - - case 35: - rrc->srb1_timer_reordering = T_Reordering_ms35; - break; - - case 40: - rrc->srb1_timer_reordering = T_Reordering_ms40; - break; - - case 45: - rrc->srb1_timer_reordering = T_Reordering_ms45; - break; - - case 50: - rrc->srb1_timer_reordering = T_Reordering_ms50; - break; - - case 55: - rrc->srb1_timer_reordering = T_Reordering_ms55; - break; - - case 60: - rrc->srb1_timer_reordering = T_Reordering_ms60; - break; - - case 65: - rrc->srb1_timer_reordering = T_Reordering_ms65; - break; - - case 70: - rrc->srb1_timer_reordering = T_Reordering_ms70; - break; - - case 75: - rrc->srb1_timer_reordering = T_Reordering_ms75; - break; - - case 80: - rrc->srb1_timer_reordering = T_Reordering_ms80; - break; - - case 85: - rrc->srb1_timer_reordering = T_Reordering_ms85; - break; - - case 90: - rrc->srb1_timer_reordering = T_Reordering_ms90; - break; - - case 95: - rrc->srb1_timer_reordering = T_Reordering_ms95; - break; - - case 100: - rrc->srb1_timer_reordering = T_Reordering_ms100; - break; - - case 110: - rrc->srb1_timer_reordering = T_Reordering_ms110; - break; - - case 120: - rrc->srb1_timer_reordering = T_Reordering_ms120; - break; - - case 130: - rrc->srb1_timer_reordering = T_Reordering_ms130; - break; - - case 140: - rrc->srb1_timer_reordering = T_Reordering_ms140; - break; - - case 150: - rrc->srb1_timer_reordering = T_Reordering_ms150; - break; - - case 160: - rrc->srb1_timer_reordering = T_Reordering_ms160; - break; - - case 170: - rrc->srb1_timer_reordering = T_Reordering_ms170; - break; - - case 180: - rrc->srb1_timer_reordering = T_Reordering_ms180; - break; - - case 190: - rrc->srb1_timer_reordering = T_Reordering_ms190; - break; - - case 200: - rrc->srb1_timer_reordering = T_Reordering_ms200; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } - - } - else { - rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; - rrc->srb1_timer_reordering = T_Reordering_ms35; - rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; - rrc->srb1_poll_pdu = PollPDU_p4; - rrc->srb1_poll_byte = PollByte_kBinfinity; - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - } - /* - // Network Controller - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_CONTROLLER_CONFIG); - - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_INTERFACE_NAME, - (const char **)&flexran_agent_interface_name) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_IPV4_ADDRESS, - (const char **)&flexran_agent_ipv4_address) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_PORT, - &flexran_agent_port) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_CACHE, - (const char **)&flexran_agent_cache) - ) - ) { - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_interface_name = strdup(flexran_agent_interface_name); - cidr = flexran_agent_ipv4_address; - address = strtok(cidr, "/"); - //enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address = strdup(address); - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO (address, enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB Agent !\n" ); - } - - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_port = flexran_agent_port; - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_cache = strdup(flexran_agent_cache); - } - } - */ - - /* - // OTG _CONFIG - setting_otg = config_setting_get_member (setting_enb, ENB_CONF_STRING_OTG_CONFIG); - - if (setting_otg != NULL) { - num_otg_elements = config_setting_length(setting_otg); - printf("num otg elements %d \n", num_otg_elements); - enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements = 0; - - for (j = 0; j < num_otg_elements; j++) { - subsetting_otg=config_setting_get_elem(setting_otg, j); - - if (config_setting_lookup_int(subsetting_otg, ENB_CONF_STRING_OTG_UE_ID, &otg_ue_id)) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = otg_ue_id; - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = 1; - } - - if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_APP_TYPE, (const char **)&otg_app_type)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = map_str_to_int(otg_app_type_names,otg_app_type))== -1) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = BCBR; - } - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = NO_PREDEFINED_TRAFFIC; // 0 - } - - if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_BG_TRAFFIC, (const char **)&otg_bg_traffic)) { - - if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = map_str_to_int(switch_names,otg_bg_traffic)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j]=0; - } - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = 0; - printf("otg bg %s\n", otg_bg_traffic); - } - - enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements+=1; - - } - } - - // log_config - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_LOG_CONFIG); - - if (subsetting != NULL) { - // global - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_LEVEL, (const char **) &glog_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_level = map_str_to_int(log_level_names, glog_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - } - - //printf( "\tGlobal log level :\t%s->%d\n",glog_level, enb_properties_loc.properties[enb_properties_loc_index]->glog_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_VERBOSITY,(const char **) &glog_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = map_str_to_int(log_verbosity_names, glog_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - } - - //printf( "\tGlobal log verbosity:\t%s->%d\n",glog_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - } - - // HW - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_LEVEL, (const char **) &hw_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = map_str_to_int(log_level_names,hw_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - } - - //printf( "\tHW log level :\t%s->%d\n",hw_log_level,enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_VERBOSITY, (const char **) &hw_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = map_str_to_int(log_verbosity_names,hw_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - } - - //printf( "\tHW log verbosity:\t%s->%d\n",hw_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - } - - // phy - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_LEVEL,(const char **) &phy_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = map_str_to_int(log_level_names,phy_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - } - - //printf( "\tPHY log level :\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_VERBOSITY, (const char **)&phy_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = map_str_to_int(log_verbosity_names,phy_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - } - - //printf( "\tPHY log verbosity:\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - } - - //mac - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_LEVEL, (const char **)&mac_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = map_str_to_int(log_level_names,mac_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - } - - //printf( "\tMAC log level :\t%s->%d\n",mac_log_level,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_VERBOSITY, (const char **)&mac_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = map_str_to_int(log_verbosity_names,mac_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - } - - //printf( "\tMAC log verbosity:\t%s->%d\n",mac_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - } - - //rlc - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_LEVEL, (const char **)&rlc_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = map_str_to_int(log_level_names,rlc_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - } - - //printf( "\tRLC log level :\t%s->%d\n",rlc_log_level, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_VERBOSITY, (const char **)&rlc_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = map_str_to_int(log_verbosity_names,rlc_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - } - - //printf( "\tRLC log verbosity:\t%s->%d\n",rlc_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - } - - //pdcp - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_LEVEL, (const char **)&pdcp_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = map_str_to_int(log_level_names,pdcp_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - } - - //printf( "\tPDCP log level :\t%s->%d\n",pdcp_log_level, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_VERBOSITY, (const char **)&pdcp_log_verbosity)) { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = map_str_to_int(log_verbosity_names,pdcp_log_verbosity); - //printf( "\tPDCP log verbosity:\t%s->%d\n",pdcp_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; - } - - //rrc - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_LEVEL, (const char **)&rrc_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = map_str_to_int(log_level_names,rrc_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - } - - //printf( "\tRRC log level :\t%s->%d\n",rrc_log_level,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_VERBOSITY, (const char **)&rrc_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = map_str_to_int(log_verbosity_names,rrc_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - } - - //printf( "\tRRC log verbosity:\t%s->%d\n",rrc_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_LEVEL, (const char **)>pu_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = map_str_to_int(log_level_names,gtpu_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - } - - //printf( "\tGTPU log level :\t%s->%d\n",gtpu_log_level,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_VERBOSITY, (const char **)>pu_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = map_str_to_int(log_verbosity_names,gtpu_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - } - - //printf( "\tGTPU log verbosity:\t%s->%d\n",gtpu_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_LEVEL, (const char **)&udp_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = map_str_to_int(log_level_names,udp_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - } - - //printf( "\tUDP log level :\t%s->%d\n",udp_log_level,enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_VERBOSITY, (const char **)&udp_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = map_str_to_int(log_verbosity_names,udp_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - } - - //printf( "\tUDP log verbosity:\t%s->%d\n",udp_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_LEVEL, (const char **)&osa_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = map_str_to_int(log_level_names,osa_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - } - - //printf( "\tOSA log level :\t%s->%d\n",osa_log_level,enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_VERBOSITY, (const char **)&osa_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = map_str_to_int(log_verbosity_names,osa_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } - - //printf( "\tOSA log verbosity:\t%s->%d\n",osa_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gosa_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } - - } else { // not configuration is given - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } - */ - break; - } - } + } + + + setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); + + if (setting_srb1 != NULL) { + if (!(config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, &srb1_timer_poll_retransmit) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, &srb1_timer_reordering) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, &srb1_timer_status_prohibit) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, &srb1_max_retx_threshold) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_PDU, &srb1_poll_pdu) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_BYTE, &srb1_poll_byte))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d timer_poll_retransmit, timer_reordering, " + "timer_status_prohibit, poll_pdu, poll_byte, max_retx_threshold !\n", + RC.config_file_name, i); + + switch (srb1_max_retx_threshold) { + case 1: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; + break; + + case 2: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; + break; + + case 3: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; + break; + + case 4: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; + break; + + case 6: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; + break; + + case 8: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + break; + + case 16: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; + break; + + case 32: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", + RC.config_file_name, i, srb1_max_retx_threshold); + } + + + switch (srb1_poll_pdu) { + case 4: + rrc->srb1_poll_pdu = PollPDU_p4; + break; + + case 8: + rrc->srb1_poll_pdu = PollPDU_p8; + break; + + case 16: + rrc->srb1_poll_pdu = PollPDU_p16; + break; + + case 32: + rrc->srb1_poll_pdu = PollPDU_p32; + break; + + case 64: + rrc->srb1_poll_pdu = PollPDU_p64; + break; + + case 128: + rrc->srb1_poll_pdu = PollPDU_p128; + break; + + case 256: + rrc->srb1_poll_pdu = PollPDU_p256; + break; + + default: + if (srb1_poll_pdu >= 10000) + rrc->srb1_poll_pdu = PollPDU_pInfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", + RC.config_file_name, i, srb1_poll_pdu); + } + + rrc->srb1_poll_byte = srb1_poll_byte; + + switch (srb1_poll_byte) { + case 25: + rrc->srb1_poll_byte = PollByte_kB25; + break; + + case 50: + rrc->srb1_poll_byte = PollByte_kB50; + break; + + case 75: + rrc->srb1_poll_byte = PollByte_kB75; + break; + + case 100: + rrc->srb1_poll_byte = PollByte_kB100; + break; + + case 125: + rrc->srb1_poll_byte = PollByte_kB125; + break; + + case 250: + rrc->srb1_poll_byte = PollByte_kB250; + break; + + case 375: + rrc->srb1_poll_byte = PollByte_kB375; + break; + + case 500: + rrc->srb1_poll_byte = PollByte_kB500; + break; + + case 750: + rrc->srb1_poll_byte = PollByte_kB750; + break; + + case 1000: + rrc->srb1_poll_byte = PollByte_kB1000; + break; + + case 1250: + rrc->srb1_poll_byte = PollByte_kB1250; + break; + + case 1500: + rrc->srb1_poll_byte = PollByte_kB1500; + break; + + case 2000: + rrc->srb1_poll_byte = PollByte_kB2000; + break; + + case 3000: + rrc->srb1_poll_byte = PollByte_kB3000; + break; + + default: + if (srb1_poll_byte >= 10000) + rrc->srb1_poll_byte = PollByte_kBinfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", + RC.config_file_name, i, srb1_poll_byte); + } + + if (srb1_timer_poll_retransmit <= 250) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; + } + else if (srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_timer_poll_retransmit); + } + + if (srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; + } + else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + RC.config_file_name, i, srb1_timer_status_prohibit); + } + + switch (srb1_timer_reordering) { + case 0: + rrc->srb1_timer_reordering = T_Reordering_ms0; + break; + + case 5: + rrc->srb1_timer_reordering = T_Reordering_ms5; + break; + + case 10: + rrc->srb1_timer_reordering = T_Reordering_ms10; + break; + + case 15: + rrc->srb1_timer_reordering = T_Reordering_ms15; + break; + + case 20: + rrc->srb1_timer_reordering = T_Reordering_ms20; + break; + + case 25: + rrc->srb1_timer_reordering = T_Reordering_ms25; + break; + + case 30: + rrc->srb1_timer_reordering = T_Reordering_ms30; + break; + + case 35: + rrc->srb1_timer_reordering = T_Reordering_ms35; + break; + + case 40: + rrc->srb1_timer_reordering = T_Reordering_ms40; + break; + + case 45: + rrc->srb1_timer_reordering = T_Reordering_ms45; + break; + + case 50: + rrc->srb1_timer_reordering = T_Reordering_ms50; + break; + + case 55: + rrc->srb1_timer_reordering = T_Reordering_ms55; + break; + + case 60: + rrc->srb1_timer_reordering = T_Reordering_ms60; + break; + + case 65: + rrc->srb1_timer_reordering = T_Reordering_ms65; + break; + + case 70: + rrc->srb1_timer_reordering = T_Reordering_ms70; + break; + + case 75: + rrc->srb1_timer_reordering = T_Reordering_ms75; + break; + + case 80: + rrc->srb1_timer_reordering = T_Reordering_ms80; + break; + + case 85: + rrc->srb1_timer_reordering = T_Reordering_ms85; + break; + + case 90: + rrc->srb1_timer_reordering = T_Reordering_ms90; + break; + + case 95: + rrc->srb1_timer_reordering = T_Reordering_ms95; + break; + + case 100: + rrc->srb1_timer_reordering = T_Reordering_ms100; + break; + + case 110: + rrc->srb1_timer_reordering = T_Reordering_ms110; + break; + + case 120: + rrc->srb1_timer_reordering = T_Reordering_ms120; + break; + + case 130: + rrc->srb1_timer_reordering = T_Reordering_ms130; + break; + + case 140: + rrc->srb1_timer_reordering = T_Reordering_ms140; + break; + + case 150: + rrc->srb1_timer_reordering = T_Reordering_ms150; + break; + + case 160: + rrc->srb1_timer_reordering = T_Reordering_ms160; + break; + + case 170: + rrc->srb1_timer_reordering = T_Reordering_ms170; + break; + + case 180: + rrc->srb1_timer_reordering = T_Reordering_ms180; + break; + + case 190: + rrc->srb1_timer_reordering = T_Reordering_ms190; + break; + + case 200: + rrc->srb1_timer_reordering = T_Reordering_ms200; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", + RC.config_file_name, i, srb1_timer_reordering); + } + + } + else { + rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; + rrc->srb1_timer_reordering = T_Reordering_ms35; + rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; + rrc->srb1_poll_pdu = PollPDU_p4; + rrc->srb1_poll_byte = PollByte_kBinfinity; + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + } + /* + // Network Controller + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_CONTROLLER_CONFIG); + + if (subsetting != NULL) { + if ( ( + config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_INTERFACE_NAME, + (const char **)&flexran_agent_interface_name) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_IPV4_ADDRESS, + (const char **)&flexran_agent_ipv4_address) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_PORT, + &flexran_agent_port) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_CACHE, + (const char **)&flexran_agent_cache) + ) + ) { + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_interface_name = strdup(flexran_agent_interface_name); + cidr = flexran_agent_ipv4_address; + address = strtok(cidr, "/"); + //enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address = strdup(address); + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO (address, enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB Agent !\n" ); + } + + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_port = flexran_agent_port; + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_cache = strdup(flexran_agent_cache); + } + } + */ + + /* + // OTG _CONFIG + setting_otg = config_setting_get_member (setting_enb, ENB_CONF_STRING_OTG_CONFIG); + + if (setting_otg != NULL) { + num_otg_elements = config_setting_length(setting_otg); + printf("num otg elements %d \n", num_otg_elements); + enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements = 0; + + for (j = 0; j < num_otg_elements; j++) { + subsetting_otg=config_setting_get_elem(setting_otg, j); + + if (config_setting_lookup_int(subsetting_otg, ENB_CONF_STRING_OTG_UE_ID, &otg_ue_id)) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = otg_ue_id; + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = 1; + } + + if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_APP_TYPE, (const char **)&otg_app_type)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = map_str_to_int(otg_app_type_names,otg_app_type))== -1) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = BCBR; + } + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = NO_PREDEFINED_TRAFFIC; // 0 + } + + if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_BG_TRAFFIC, (const char **)&otg_bg_traffic)) { + + if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = map_str_to_int(switch_names,otg_bg_traffic)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j]=0; + } + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = 0; + printf("otg bg %s\n", otg_bg_traffic); + } + + enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements+=1; + + } + } + + // log_config + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_LOG_CONFIG); + + if (subsetting != NULL) { + // global + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_LEVEL, (const char **) &glog_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_level = map_str_to_int(log_level_names, glog_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + } + + //printf( "\tGlobal log level :\t%s->%d\n",glog_level, enb_properties_loc.properties[enb_properties_loc_index]->glog_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_VERBOSITY,(const char **) &glog_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = map_str_to_int(log_verbosity_names, glog_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + } + + //printf( "\tGlobal log verbosity:\t%s->%d\n",glog_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + } + + // HW + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_LEVEL, (const char **) &hw_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = map_str_to_int(log_level_names,hw_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + } + + //printf( "\tHW log level :\t%s->%d\n",hw_log_level,enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_VERBOSITY, (const char **) &hw_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = map_str_to_int(log_verbosity_names,hw_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + } + + //printf( "\tHW log verbosity:\t%s->%d\n",hw_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + } + + // phy + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_LEVEL,(const char **) &phy_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = map_str_to_int(log_level_names,phy_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + } + + //printf( "\tPHY log level :\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_VERBOSITY, (const char **)&phy_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = map_str_to_int(log_verbosity_names,phy_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + } + + //printf( "\tPHY log verbosity:\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + } + + //mac + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_LEVEL, (const char **)&mac_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = map_str_to_int(log_level_names,mac_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + } + + //printf( "\tMAC log level :\t%s->%d\n",mac_log_level,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_VERBOSITY, (const char **)&mac_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = map_str_to_int(log_verbosity_names,mac_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + } + + //printf( "\tMAC log verbosity:\t%s->%d\n",mac_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + } + + //rlc + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_LEVEL, (const char **)&rlc_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = map_str_to_int(log_level_names,rlc_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + } + + //printf( "\tRLC log level :\t%s->%d\n",rlc_log_level, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_VERBOSITY, (const char **)&rlc_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = map_str_to_int(log_verbosity_names,rlc_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + } + + //printf( "\tRLC log verbosity:\t%s->%d\n",rlc_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + } + + //pdcp + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_LEVEL, (const char **)&pdcp_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = map_str_to_int(log_level_names,pdcp_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + } + + //printf( "\tPDCP log level :\t%s->%d\n",pdcp_log_level, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_VERBOSITY, (const char **)&pdcp_log_verbosity)) { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = map_str_to_int(log_verbosity_names,pdcp_log_verbosity); + //printf( "\tPDCP log verbosity:\t%s->%d\n",pdcp_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; + } + + //rrc + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_LEVEL, (const char **)&rrc_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = map_str_to_int(log_level_names,rrc_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + } + + //printf( "\tRRC log level :\t%s->%d\n",rrc_log_level,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_VERBOSITY, (const char **)&rrc_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = map_str_to_int(log_verbosity_names,rrc_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + } + + //printf( "\tRRC log verbosity:\t%s->%d\n",rrc_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_LEVEL, (const char **)>pu_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = map_str_to_int(log_level_names,gtpu_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + } + + //printf( "\tGTPU log level :\t%s->%d\n",gtpu_log_level,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_VERBOSITY, (const char **)>pu_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = map_str_to_int(log_verbosity_names,gtpu_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + } + + //printf( "\tGTPU log verbosity:\t%s->%d\n",gtpu_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_LEVEL, (const char **)&udp_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = map_str_to_int(log_level_names,udp_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + } + + //printf( "\tUDP log level :\t%s->%d\n",udp_log_level,enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_VERBOSITY, (const char **)&udp_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = map_str_to_int(log_verbosity_names,udp_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + } + + //printf( "\tUDP log verbosity:\t%s->%d\n",udp_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_LEVEL, (const char **)&osa_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = map_str_to_int(log_level_names,osa_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + } + + //printf( "\tOSA log level :\t%s->%d\n",osa_log_level,enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_VERBOSITY, (const char **)&osa_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = map_str_to_int(log_verbosity_names,osa_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } + + //printf( "\tOSA log verbosity:\t%s->%d\n",osa_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gosa_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } + + } else { // not configuration is given + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } + */ + break; + } + } } } } @@ -4424,7 +4481,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char *cidr = NULL; char *astring = NULL; - // for no gcc warnings + // for no gcc warnings (void)astring; @@ -4433,10 +4490,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_init(&cfg); if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. + // Read the file. If there is an error, report it and exit. if (! config_read_file(&cfg, RC.config_file_name)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); } } else { config_destroy(&cfg); @@ -4450,41 +4507,41 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { num_enbs = config_setting_length(setting); setting_enb = config_setting_get_elem(setting, 0); } - + if (num_enbs>0) { // Output a list of all eNBs. setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - + if (setting != NULL) { - setting_enb = config_setting_get_elem(setting, 0); - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); + setting_enb = config_setting_get_elem(setting, 0); + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - if (subsetting != NULL) { - if ( (config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { + if (subsetting != NULL) { + if ( (config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, + (const char **)&enb_interface_name_for_S1U) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, + (const char **)&enb_ipv4_address_for_S1U) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, + &enb_port_for_S1U) + ) + ) { - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); + cidr = enb_ipv4_address_for_S1U; + address = strtok(cidr, "/"); - LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up); + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - } + LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up); - RC.gtpv1u_data_g->enb_port_for_S1u_S12_S4_up = enb_port_for_S1U; + } - } - } + RC.gtpv1u_data_g->enb_port_for_S1u_S12_S4_up = enb_port_for_S1U; + + } + } } } } @@ -4538,7 +4595,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char *cidr = NULL; char *astring = NULL; - // for no gcc warnings + // for no gcc warnings (void)astring; (void)my_int; @@ -4547,10 +4604,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_init(&cfg); if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. + // Read the file. If there is an error, report it and exit. if (! config_read_file(&cfg, RC.config_file_name)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); } } else { config_destroy(&cfg); @@ -4561,17 +4618,17 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { - asn_debug = 0; - asn1_xer_print = 0; + asn_debug = 0; + asn1_xer_print = 0; } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { - asn_debug = 1; - asn1_xer_print = 1; + asn_debug = 1; + asn1_xer_print = 1; } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { - asn_debug = 1; - asn1_xer_print = 2; + asn_debug = 1; + asn1_xer_print = 2; } else { - asn_debug = 0; - asn1_xer_print = 0; + asn_debug = 0; + asn1_xer_print = 0; } } @@ -4585,191 +4642,191 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { setting_enb = config_setting_get_elem(setting, i); active_enb[i] = config_setting_get_string (setting_enb); AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %uth attribute %s \n", - RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); + "Failed to parse config file %s, %uth attribute %s \n", + RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); active_enb[i] = strdup(active_enb[i]); } - - + + if (num_enbs>0) { // Output a list of all eNBs. setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - + if (setting != NULL) { - num_enbs = config_setting_length(setting); - - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); - - if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - // Calculate a default eNB ID + num_enbs = config_setting_length(setting); + + for (i = 0; i < num_enbs; i++) { + setting_enb = config_setting_get_elem(setting, i); + + if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { + // Calculate a default eNB ID # if defined(ENABLE_USE_MME) - uint32_t hash; - - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); + uint32_t hash; + + hash = s1ap_generate_eNB_id (); + enb_id = i + (hash & 0xFFFF8); # else - enb_id = i; + enb_id = i; # endif - } - - if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - - - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } - - // search if in active list - for (j=0; j < num_enbs; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { - - S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id; - - if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - RC.config_file_name, i, cell_type); - } - - S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(enb_name); - S1AP_REGISTER_ENB_REQ (msg_p).tac = (uint16_t)atoi(tac); - S1AP_REGISTER_ENB_REQ (msg_p).mcc = (uint16_t)atoi(mcc); - S1AP_REGISTER_ENB_REQ (msg_p).mnc = (uint16_t)atoi(mnc); - S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length = strlen(mnc); - S1AP_REGISTER_ENB_REQ (msg_p).default_drx = 0; - AssertFatal((S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 2) || - (S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length); - - + } - setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); - num_mme_address = config_setting_length(setting_mme_addresses); - S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0; + if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - for (j = 0; j < num_mme_address; j++) { - setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); - if ( !( - config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb %u th mme address !\n", - RC.config_file_name, i, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } - S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1; + // search if in active list + for (j=0; j < num_enbs; j++) { + if (strcmp(active_enb[j], enb_name) == 0) { - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4_address,ipv4); - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6_address,ipv6); + S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id; - if (strcmp(active, "yes") == 0) { + if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_MACRO_ENB; + } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", + RC.config_file_name, i, cell_type); + } + + S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(enb_name); + S1AP_REGISTER_ENB_REQ (msg_p).tac = (uint16_t)atoi(tac); + S1AP_REGISTER_ENB_REQ (msg_p).mcc = (uint16_t)atoi(mcc); + S1AP_REGISTER_ENB_REQ (msg_p).mnc = (uint16_t)atoi(mnc); + S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length = strlen(mnc); + S1AP_REGISTER_ENB_REQ (msg_p).default_drx = 0; + AssertFatal((S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 2) || + (S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 3), + "BAD MNC DIGIT LENGTH %d", + S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length); + + + + setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); + num_mme_address = config_setting_length(setting_mme_addresses); + S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0; + + for (j = 0; j < num_mme_address; j++) { + setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); + + if ( !( + config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb %u th mme address !\n", + RC.config_file_name, i, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + + S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1; + + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4_address,ipv4); + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6_address,ipv6); + + if (strcmp(active, "yes") == 0) { #if defined(ENABLE_USE_MME) - EPC_MODE_ENABLED = 1; + EPC_MODE_ENABLED = 1; #endif - } - if (strcmp(preference, "ipv4") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; - } else if (strcmp(preference, "ipv6") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; - } else if (strcmp(preference, "no") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; - } - } + } + if (strcmp(preference, "ipv4") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; + } else if (strcmp(preference, "ipv6") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } else if (strcmp(preference, "no") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } + } - - // SCTP SETTING - S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = SCTP_OUT_STREAMS; - S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = SCTP_IN_STREAMS; + + // SCTP SETTING + S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = SCTP_OUT_STREAMS; + S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = SCTP_IN_STREAMS; # if defined(ENABLE_USE_MME) - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); - if (subsetting != NULL) { - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { - S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)my_int; - } + if (subsetting != NULL) { + if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { + S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)my_int; + } - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { - S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)my_int; - } - } + if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { + S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)my_int; + } + } #endif - // NETWORK_INTERFACES - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); + // NETWORK_INTERFACES + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, - (const char **)&enb_interface_name_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, - (const char **)&enb_ipv4_address_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { - // S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); + if (subsetting != NULL) { + if ( ( + config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, + (const char **)&enb_interface_name_for_S1_MME) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, + (const char **)&enb_ipv4_address_for_S1_MME) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, + (const char **)&enb_interface_name_for_S1U) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, + (const char **)&enb_ipv4_address_for_S1U) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, + &enb_port_for_S1U) + ) + ) { + // S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); + cidr = enb_ipv4_address_for_S1U; + address = strtok(cidr, "/"); - S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0; - S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4 = 1; + S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0; + S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4 = 1; - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, address); + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, address); - /* - in_addr_t ipv4_address; + /* + in_addr_t ipv4_address; - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - } - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, inet_ntoa(ipv4_address)); - // S1AP_REGISTER_ENB_REQ (msg_p).enb_port_for_S1U = enb_port_for_S1U; + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); + } + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, inet_ntoa(ipv4_address)); + // S1AP_REGISTER_ENB_REQ (msg_p).enb_port_for_S1U = enb_port_for_S1U; - S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1_MME = strdup(enb_interface_name_for_S1_MME); - cidr = enb_ipv4_address_for_S1_MME; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, S1AP_REGISTER_ENB_REQ(msg_p).enb_ipv4_address_for_S1_MME, "BAD IP ADDRESS FORMAT FOR eNB S1_MME !\n" ); - } - */ - } - } - + S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1_MME = strdup(enb_interface_name_for_S1_MME); + cidr = enb_ipv4_address_for_S1_MME; + address = strtok(cidr, "/"); + + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, S1AP_REGISTER_ENB_REQ(msg_p).enb_ipv4_address_for_S1_MME, "BAD IP ADDRESS FORMAT FOR eNB S1_MME !\n" ); + } + */ + } + } - break; - } - } - } + + break; + } + } + } } } } @@ -4786,25 +4843,25 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name = config_file_name; if (! config_read_file(&cfg, RC.config_file_name)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); } // Get num eNB instances setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - + if (setting != NULL) RC.nb_inst = config_setting_length(setting); if (RC.nb_inst > 0) { - printf("Number of eNB RRC instances %d\n",RC.nb_inst); - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - RC.nb_CC = (int *)malloc((1+RC.nb_inst)*sizeof(int)); - for (int i=0;icarrier[CC_id].SIB23_BR; sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2_BR; rrconfig = &configuration->radioresourceconfig_BR[CC_id]; + } else #endif @@ -956,7 +958,6 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); - if (rrconfig->rach_maxHARQ_Msg3Tx) { (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 96d705b075..dc6e85d477 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -214,11 +214,14 @@ init_SI( AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR!=NULL,"cannot allocate memory for SIB"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = do_SIB23( ctxt_pP->module_id, - CC_id, + CC_id +#ifdef Rel14 + ,TRUE +#endif #if defined(ENABLE_ITTI) - configuration, + ,configuration + ); #endif - 0); } #endif From 74b7b9627b432b827ad21f321c03a94f0dcf5b6e Mon Sep 17 00:00:00 2001 From: kogo Date: Mon, 7 Aug 2017 15:21:24 +0200 Subject: [PATCH 008/109] activated SIB1 & SIB23 reading from config files and added BR parameters --- openair2/COMMON/rrc_messages_types.h | 87 ++- openair2/ENB_APP/enb_config.c | 990 +++++++++++++++----------- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 500 ++++++++----- openair2/RRC/LITE/rrc_eNB.c | 5 + 4 files changed, 966 insertions(+), 616 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index c7ad211265..aedf9bfa19 100644 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -190,29 +190,74 @@ typedef struct RrcConfigurationReq_s { //SIB1 BR options - uint16_t* hyperSFN_r13[MAX_NUM_CCs]; - long* eDRX_Allowed_r13[MAX_NUM_CCs]; - BOOLEAN_t cellSelectionInfoCE_r13[MAX_NUM_CCs]; - long q_RxLevMinCE_r13[MAX_NUM_CCs]; - long* q_QualMinRSRQ_CE_r13[MAX_NUM_CCs]; - BOOLEAN_t bandwidthReducedAccessRelatedInfo_r13[MAX_NUM_CCs]; - long si_WindowLength_BR_r13[MAX_NUM_CCs]; - long si_RepetitionPattern_r13[MAX_NUM_CCs]; - BOOLEAN_t fdd_DownlinkOrTddSubframeBitmapBR_r13[MAX_NUM_CCs]; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13[MAX_NUM_CCs]; - uint16_t fdd_UplinkSubframeBitmapBR_r13[MAX_NUM_CCs]; - long startSymbolBR_r13[MAX_NUM_CCs]; - long si_HoppingConfigCommon_r13[MAX_NUM_CCs]; - long* si_ValidityTime_r13[MAX_NUM_CCs]; - BOOLEAN_t freqHoppingParametersDL_r13[MAX_NUM_CCs]; - long* mpdcch_pdsch_HoppingNB_r13[MAX_NUM_CCs]; - BOOLEAN_t interval_DLHoppingConfigCommonModeA_r13[MAX_NUM_CCs]; - long interval_DLHoppingConfigCommonModeA_r13_val[MAX_NUM_CCs]; - BOOLEAN_t interval_DLHoppingConfigCommonModeB_r13[MAX_NUM_CCs]; - long interval_DLHoppingConfigCommonModeB_r13_val[MAX_NUM_CCs]; - long* mpdcch_pdsch_HoppingOffset_r13[MAX_NUM_CCs]; + uint16_t* hyperSFN_r13 [MAX_NUM_CCs]; + long* eDRX_Allowed_r13 [MAX_NUM_CCs]; + BOOLEAN_t cellSelectionInfoCE_r13 [MAX_NUM_CCs]; + long q_RxLevMinCE_r13 [MAX_NUM_CCs]; + long* q_QualMinRSRQ_CE_r13 [MAX_NUM_CCs]; + BOOLEAN_t bandwidthReducedAccessRelatedInfo_r13 [MAX_NUM_CCs]; + +// +kogo -- FIXME -- size 10 is temporary + long si_Narrowband_r13 [MAX_NUM_CCs][32]; + long si_TBS_r13 [MAX_NUM_CCs][32]; + int scheduling_info_br_size [MAX_NUM_CCs]; +// end +kogo + + long si_WindowLength_BR_r13 [MAX_NUM_CCs]; + long si_RepetitionPattern_r13 [MAX_NUM_CCs]; + BOOLEAN_t fdd_DownlinkOrTddSubframeBitmapBR_r13 [MAX_NUM_CCs]; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 [MAX_NUM_CCs]; + uint16_t fdd_UplinkSubframeBitmapBR_r13 [MAX_NUM_CCs]; + long startSymbolBR_r13 [MAX_NUM_CCs]; + long si_HoppingConfigCommon_r13 [MAX_NUM_CCs]; + long* si_ValidityTime_r13 [MAX_NUM_CCs]; + +// +kogo + long systemInfoValueTagSi_r13 [MAX_NUM_CCs][10]; + int system_info_value_tag_SI_size [MAX_NUM_CCs]; +// end +kogo + + BOOLEAN_t freqHoppingParametersDL_r13 [MAX_NUM_CCs]; + long* mpdcch_pdsch_HoppingNB_r13 [MAX_NUM_CCs]; + BOOLEAN_t interval_DLHoppingConfigCommonModeA_r13 [MAX_NUM_CCs]; + long interval_DLHoppingConfigCommonModeA_r13_val [MAX_NUM_CCs]; + BOOLEAN_t interval_DLHoppingConfigCommonModeB_r13 [MAX_NUM_CCs]; + long interval_DLHoppingConfigCommonModeB_r13_val [MAX_NUM_CCs]; + long* mpdcch_pdsch_HoppingOffset_r13 [MAX_NUM_CCs]; + +// +kogo -- rach_CE_LevelInfoList_r13 + long firstPreamble_r13 [MAX_NUM_CCs][4]; + long lastPreamble_r13 [MAX_NUM_CCs][4]; + long ra_ResponseWindowSize_r13 [MAX_NUM_CCs][4]; + long mac_ContentionResolutionTimer_r13 [MAX_NUM_CCs][4]; + long rar_HoppingConfig_r13 [MAX_NUM_CCs][4]; + int rach_CE_LevelInfoList_r13_size [MAX_NUM_CCs]; +// end kogo +// +kogo -- rsrp_range_list + long rsrp_range [MAX_NUM_CCs][3]; + int rsrp_range_list_size [MAX_NUM_CCs]; +// end kogo + +// +kogo -- prach parameters ce list + long prach_config_index [MAX_NUM_CCs][4]; + long prach_freq_offset [MAX_NUM_CCs][4]; + long *prach_StartingSubframe_r13 [MAX_NUM_CCs][4]; + long *maxNumPreambleAttemptCE_r13 [MAX_NUM_CCs][4]; + long numRepetitionPerPreambleAttempt_r13 [MAX_NUM_CCs][4]; + long mpdcch_NumRepetition_RA_r13 [MAX_NUM_CCs][4]; + long prach_HoppingConfig_r13 [MAX_NUM_CCs][4]; + int prach_parameters_list_size [MAX_NUM_CCs]; + long max_available_narrow_band [MAX_NUM_CCs][4][2]; + int max_available_narrow_band_size [MAX_NUM_CCs]; +// end kogo + + +// +kogo n1PUCCH_AN_InfoList_r13 list + long pucch_info_value [MAX_NUM_CCs][4]; + int pucch_info_value_size [MAX_NUM_CCs]; +// end kogo #endif } RrcConfigurationReq; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index d5b0a94f15..d51ceb4d3c 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -98,6 +98,13 @@ #define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers" +#define ENB_CONFIG_STRING_SCHEDULING_INFO_LIST "scheduling_info_br" +#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" + +#define ENB_CONFIG_STRING_SI_NARROWBAND_R13 "si_Narrowband_r13" +#define ENB_CONFIG_STRING_SI_TBS_R13 "si_TBS_r13" +#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13 "systemInfoValueTagSi_r13" + #define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function" #define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing" #define ENB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref" @@ -130,43 +137,67 @@ #if !defined(Rel10) && !defined(Rel14) #define ENB_CONFIG_STRING_PUCCH_N1_AN "pucch_n1_AN" #endif + +#define ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST "rach_CE_LevelInfoList_r13" +#define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" +#define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" +#define ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND "max_available_narrow_band" +#define ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST "n1PUCCH_AN_InfoList_r13" + +#define ENB_CONFIG_STRING_FIRST_PREAMBLE "firstPreamble_r13" +#define ENB_CONFIG_STRING_LAST_PREAMBLE "lastPreamble_r13" +#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13" +#define ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13 "mac_ContentionResolutionTimer_r13" +#define ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13 "rar_HoppingConfig_r13" +#define ENB_CONFIG_STRING_RSRP_RANGE_BR "rsrp_range_br" +#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR "prach_config_index_br" +#define ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR "prach_freq_offset_br" +#define ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13 "prach_StartingSubframe_r13" +#define ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13 "maxNumPreambleAttemptCE_r13" +#define ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13 "numRepetitionPerPreambleAttempt_r13" +#define ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13 "mpdcch_NumRepetition_RA_r13" +#define ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13 "prach_HoppingConfig_r13" +#define ENB_CONFIG_STRING_MAX_AVAILABLE_NARROWBAND "maxavailablenarrowband" +#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" + + #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" -#define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" -#define ENB_CONFIG_STRING_PUSCH_N_SB "pusch_n_SB" +#define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" +#define ENB_CONFIG_STRING_PUSCH_N_SB "pusch_n_SB" #define ENB_CONFIG_STRING_PUSCH_HOPPINGMODE "pusch_hoppingMode" #define ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET "pusch_hoppingOffset" -#define ENB_CONFIG_STRING_PUSCH_ENABLE64QAM "pusch_enable64QAM" -#define ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN "pusch_groupHoppingEnabled" -#define ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT "pusch_groupAssignment" -#define ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN "pusch_sequenceHoppingEnabled" +#define ENB_CONFIG_STRING_PUSCH_ENABLE64QAM "pusch_enable64QAM" +#define ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN "pusch_groupHoppingEnabled" +#define ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT "pusch_groupAssignment" +#define ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN "pusch_sequenceHoppingEnabled" #define ENB_CONFIG_STRING_PUSCH_NDMRS1 "pusch_nDMRS1" -#define ENB_CONFIG_STRING_PHICH_DURATION "phich_duration" -#define ENB_CONFIG_STRING_PHICH_RESOURCE "phich_resource" -#define ENB_CONFIG_STRING_SRS_ENABLE "srs_enable" +#define ENB_CONFIG_STRING_PHICH_DURATION "phich_duration" +#define ENB_CONFIG_STRING_PHICH_RESOURCE "phich_resource" +#define ENB_CONFIG_STRING_SRS_ENABLE "srs_enable" #define ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG "srs_BandwidthConfig" -#define ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG "srs_SubframeConfig" +#define ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG "srs_SubframeConfig" #define ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG "srs_ackNackST" #define ENB_CONFIG_STRING_SRS_MAXUPPTS "srs_MaxUpPts" -#define ENB_CONFIG_STRING_PUSCH_PO_NOMINAL "pusch_p0_Nominal" -#define ENB_CONFIG_STRING_PUSCH_ALPHA "pusch_alpha" -#define ENB_CONFIG_STRING_PUCCH_PO_NOMINAL "pucch_p0_Nominal" -#define ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE "msg3_delta_Preamble" +#define ENB_CONFIG_STRING_PUSCH_PO_NOMINAL "pusch_p0_Nominal" +#define ENB_CONFIG_STRING_PUSCH_ALPHA "pusch_alpha" +#define ENB_CONFIG_STRING_PUCCH_PO_NOMINAL "pucch_p0_Nominal" +#define ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE "msg3_delta_Preamble" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1 "pucch_deltaF_Format1" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b "pucch_deltaF_Format1b" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2 "pucch_deltaF_Format2" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A "pucch_deltaF_Format2a" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B "pucch_deltaF_Format2b" #define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES "rach_numberOfRA_Preambles" -#define ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG "rach_preamblesGroupAConfig" +#define ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG "rach_preamblesGroupAConfig" #define ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA "rach_sizeOfRA_PreamblesGroupA" #define ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA "rach_messageSizeGroupA" #define ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB "rach_messagePowerOffsetGroupB" #define ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP "rach_powerRampingStep" -#define ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER "rach_preambleInitialReceivedTargetPower" +#define ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER "rach_preambleInitialReceivedTargetPower" #define ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX "rach_preambleTransMax" -#define ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE "rach_raResponseWindowSize" -#define ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER "rach_macContentionResolutionTimer" -#define ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX "rach_maxHARQ_Msg3Tx" +#define ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE "rach_raResponseWindowSize" +#define ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER "rach_macContentionResolutionTimer" +#define ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX "rach_maxHARQ_Msg3Tx" #define ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE "pcch_default_PagingCycle" #define ENB_CONFIG_STRING_PCCH_NB "pcch_nB" #define ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF "bcch_modificationPeriodCoeff" @@ -904,15 +935,35 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_t cfg; config_setting_t *setting = NULL; config_setting_t *subsetting = NULL; - config_setting_t *setting_component_carriers = NULL; - config_setting_t *component_carrier = NULL; - config_setting_t *setting_srb1 = NULL; - config_setting_t *setting_mme_addresses = NULL; - config_setting_t *setting_mme_address = NULL; - config_setting_t *setting_ru = NULL; - config_setting_t *setting_enb = NULL; - config_setting_t *setting_otg = NULL; - config_setting_t *subsetting_otg = NULL; + config_setting_t *setting_component_carriers = NULL; + config_setting_t *component_carrier = NULL; + config_setting_t *setting_srb1 = NULL; + config_setting_t *setting_mme_addresses = NULL; + config_setting_t *setting_mme_address = NULL; + config_setting_t *setting_ru = NULL; + config_setting_t *setting_enb = NULL; + config_setting_t *setting_otg = NULL; + config_setting_t *subsetting_otg = NULL; + config_setting_t *scheduling_info_br_list = NULL; + config_setting_t *scheduling_info_br = NULL; + config_setting_t *system_info_value_tag_SI_list = NULL; + config_setting_t *system_info_value_tag_SI = NULL; + + config_setting_t *rach_ce_level_info_r13_list = NULL; + config_setting_t *rach_ce_level_info_r13 = NULL; + + config_setting_t *rsrp_range_list = NULL; + config_setting_t *rsrp_range_member = NULL; + + config_setting_t *prach_parameters_ce_r13_list = NULL; + config_setting_t *prach_parameters_ce_r13 = NULL; + + config_setting_t *max_available_narrow_band_list = NULL; + config_setting_t *max_available_narrow_band = NULL; + + config_setting_t *n1_pucch_AN_info_r13_list = NULL; + config_setting_t *n1_pucch_AN_info_r13 = NULL; + #if defined(Rel14) config_setting_t *setting_br13 = NULL; #endif // REL14 @@ -922,6 +973,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int num_otg_elements = 0; int num_component_carriers = 0; int j = 0; + int sched_info_idx = 0; + int sys_info_idx = 0; libconfig_int enb_id = 0; int nb_cc = 0; @@ -958,7 +1011,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int rx_gain = 0; libconfig_int prach_root = 0; libconfig_int prach_config_index = 0; - const char* prach_high_speed = NULL; + const char* prach_high_speed = NULL; libconfig_int prach_zero_correlation = 0; libconfig_int prach_freq_offset = 0; libconfig_int pucch_delta_shift = 0; @@ -972,10 +1025,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int pusch_n_SB = 0; const char * pusch_hoppingMode = NULL; libconfig_int pusch_hoppingOffset = 0; - const char* pusch_enable64QAM = NULL; - const char* pusch_groupHoppingEnabled = NULL; + const char* pusch_enable64QAM = NULL; + const char* pusch_groupHoppingEnabled = NULL; libconfig_int pusch_groupAssignment = 0; - const char* pusch_sequenceHoppingEnabled = NULL; + const char* pusch_sequenceHoppingEnabled = NULL; libconfig_int pusch_nDMRS1 = 0; const char* phich_duration = NULL; const char* phich_resource = NULL; @@ -1017,6 +1070,26 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int ue_TimersAndConstants_n311 = 0; libconfig_int ue_TransmissionMode = 0; + libconfig_int si_Narrowband_r13 = 0; + libconfig_int si_TBS_r13 = 0; + + libconfig_int systemInfoValueTagSi_r13 = 0; + + libconfig_int firstPreamble_r13 = 0; + libconfig_int lastPreamble_r13 = 0; + libconfig_int ra_ResponseWindowSize_r13 = 0; + libconfig_int mac_ContentionResolutionTimer_r13 = 0; + libconfig_int rar_HoppingConfig_r13 = 0; + libconfig_int rsrp_range_br = 0; + libconfig_int prach_config_index_br = 0; + libconfig_int prach_freq_offset_br = 0; + libconfig_int prach_StartingSubframe_r13 = 0; + libconfig_int maxNumPreambleAttemptCE_r13 = 0; + libconfig_int numRepetitionPerPreambleAttempt_r13 = 0; + libconfig_int mpdcch_NumRepetition_RA_r13 = 0; + libconfig_int prach_HoppingConfig_r13 = 0; + libconfig_int maxavailablenarrowband = 0; + libconfig_int pucch_info_value = 0; libconfig_int srb1_timer_poll_retransmit = 0; libconfig_int srb1_timer_reordering = 0; @@ -2140,350 +2213,350 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { switch (pcch_defaultPagingCycle) { case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; } if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; } else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; } else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; } else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; } else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; } else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); switch (bcch_modificationPeriodCoeff) { case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); - break; + break; } switch (ue_TimersAndConstants_t300) { case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; + break; case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; + break; case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; + break; case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; + break; case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; + break; case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; + break; case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; + break; case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; } switch (ue_TimersAndConstants_t301) { case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + break; case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + break; case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; } switch (ue_TimersAndConstants_t310) { case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; } switch (ue_TimersAndConstants_t311) { case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; case 3110: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; case 31100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; } switch (ue_TimersAndConstants_n310) { case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; } switch (ue_TimersAndConstants_n311) { case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; } switch (ue_TransmissionMode) { case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; } #ifdef Rel14 setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); @@ -2492,10 +2565,159 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else { puts("setting BR is NOT NULL"); } - if (setting_br13 != NULL) { + + if (setting_br13 != NULL) { + + scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); + int num_scheduling_info = config_setting_length(scheduling_info_br_list); + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; + + for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) + { + scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); + if (! config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) + ) + { + AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; + } + + system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); + int num_system_info = config_setting_length(system_info_value_tag_SI_list); + RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; + + for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) + { + system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); + if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) + { + AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; + } + + + rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); + int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; + int rach_info_level_idx; + for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) + { + rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); + if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = ra_ResponseWindowSize_r13; + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13; + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = rar_HoppingConfig_r13; + + } + + rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); + int num_rsrp_list = config_setting_length(rsrp_range_list); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; + int rsrp_range_idx; + for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) + { + rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); + if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rsrp_range %d!\n", + RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; + } + + prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); + int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; + int prach_parameters_index; + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index) + { + prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index); + if (! (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = numRepetitionPerPreambleAttempt_r13; + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = mpdcch_NumRepetition_RA_r13; + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = prach_HoppingConfig_r13; + + if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; + } + + if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; + } + + } + + + // TODO +// max_available_narrow_band = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); + + + n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); + + int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = num_pucch_an_info; + int pucch_info_idx; + for (pucch_info_idx = 0; pucch_info_idx < num_pucch_an_info; ++pucch_info_idx) + { + n1_pucch_AN_info_r13 = config_setting_get_elem(n1_pucch_AN_info_r13_list, pucch_info_idx); + if (! (config_setting_lookup_int(n1_pucch_AN_info_r13, ENB_CONFIG_STRING_PUCCH_INFO_VALUE, &pucch_info_value)) ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, n1_pucch_AN_info_list_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value; + } // Rel8 RadioResourceConfigCommon Parameters if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) @@ -2554,58 +2776,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { continue; // FIXME this prevents segfaults below, not sure what happens after function exit } - printf("[DEBUGGING][KOGO] frame type %s\n", frame_type); - printf("[DEBUGGING][KOGO] prach_root %d\n", prach_root); - printf("[DEBUGGING][KOGO] prach_config_index %d\n", prach_config_index); - printf("[DEBUGGING][KOGO] prach_high_speed %s\n", prach_high_speed); - printf("[DEBUGGING][KOGO] prach_zero_correlation %d\n", prach_zero_correlation); - printf("[DEBUGGING][KOGO] prach_freq_offset %d\n", prach_freq_offset); - printf("[DEBUGGING][KOGO] pucch_delta_shift %d\n", pucch_delta_shift); - printf("[DEBUGGING][KOGO] pucch_nRB_CQI %d\n", pucch_nRB_CQI); - printf("[DEBUGGING][KOGO] pucch_nCS_AN %d\n", pucch_nCS_AN); - printf("[DEBUGGING][KOGO] pucch_n1_AN %d\n", pucch_n1_AN); - printf("[DEBUGGING][KOGO] pdsch_referenceSignalPower %d\n", pdsch_referenceSignalPower); - printf("[DEBUGGING][KOGO] pdsch_p_b %d\n", pdsch_p_b); - printf("[DEBUGGING][KOGO] pusch_n_SB %d\n", pusch_n_SB); - printf("[DEBUGGING][KOGO] pusch_hoppingMode %s\n", pusch_hoppingMode); - printf("[DEBUGGING][KOGO] pusch_hoppingOffset %d\n", pusch_hoppingOffset); - printf("[DEBUGGING][KOGO] pusch_enable64QAM %s\n", pusch_enable64QAM); - printf("[DEBUGGING][KOGO] pusch_groupHoppingEnabled %s\n", pusch_groupHoppingEnabled); - printf("[DEBUGGING][KOGO] pusch_groupAssignment %d\n", pusch_groupAssignment); - printf("[DEBUGGING][KOGO] pusch_sequenceHoppingEnabled %s\n", pusch_sequenceHoppingEnabled); - printf("[DEBUGGING][KOGO] pusch_nDMRS1 %d\n", pusch_nDMRS1); - printf("[DEBUGGING][KOGO] phich_duration %s\n", phich_duration); - printf("[DEBUGGING][KOGO] phich_resource %s\n", phich_resource); - printf("[DEBUGGING][KOGO] srs_enable %s\n", srs_enable); - printf("[DEBUGGING][KOGO] pusch_p0_Nominal %d\n", pusch_p0_Nominal); - printf("[DEBUGGING][KOGO] pusch_alpha %s\n", pusch_alpha); - printf("[DEBUGGING][KOGO] pucch_p0_Nominal %d\n", pucch_p0_Nominal); - printf("[DEBUGGING][KOGO] msg3_delta_Preamble %d\n", msg3_delta_Preamble); - printf("[DEBUGGING][KOGO] pucch_deltaF_Format1 %s\n", pucch_deltaF_Format1); - printf("[DEBUGGING][KOGO] pucch_deltaF_Format1b %s\n", pucch_deltaF_Format1b); - printf("[DEBUGGING][KOGO] pucch_deltaF_Format2 %s\n", pucch_deltaF_Format2); - printf("[DEBUGGING][KOGO] pucch_deltaF_Format2a %s\n", pucch_deltaF_Format2a); - printf("[DEBUGGING][KOGO] pucch_deltaF_Format2b %s\n", pucch_deltaF_Format2b); - printf("[DEBUGGING][KOGO] rach_numberOfRA_Preambles %d\n", rach_numberOfRA_Preambles); - printf("[DEBUGGING][KOGO] rach_preamblesGroupAConfig %s\n", rach_preamblesGroupAConfig); - printf("[DEBUGGING][KOGO] rach_powerRampingStep %d\n", rach_powerRampingStep); - printf("[DEBUGGING][KOGO] rach_preambleInitialReceivedTargetPower %d\n", rach_preambleInitialReceivedTargetPower); - printf("[DEBUGGING][KOGO] rach_preambleTransMax %d\n", rach_preambleTransMax); - printf("[DEBUGGING][KOGO] rach_raResponseWindowSize %d\n", rach_raResponseWindowSize); - printf("[DEBUGGING][KOGO] rach_macContentionResolutionTimer %d\n", rach_macContentionResolutionTimer); - printf("[DEBUGGING][KOGO] rach_maxHARQ_Msg3Tx %d\n", rach_maxHARQ_Msg3Tx); - printf("[DEBUGGING][KOGO] pcch_default_PagingCycle %d\n", pcch_defaultPagingCycle); - printf("[DEBUGGING][KOGO] pcch_nB %s\n", pcch_nB); - printf("[DEBUGGING][KOGO] bcch_modificationPeriodCoeff %d\n", bcch_modificationPeriodCoeff); - printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t300 %d\n", ue_TimersAndConstants_t300); - printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t301 %d\n", ue_TimersAndConstants_t301); - printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t310 %d\n", ue_TimersAndConstants_t310); - printf("[DEBUGGING][KOGO] ue_TimersAndConstants_t311 %d\n", ue_TimersAndConstants_t311); - printf("[DEBUGGING][KOGO] ue_TimersAndConstants_n310 %d\n", ue_TimersAndConstants_n310); - printf("[DEBUGGING][KOGO] ue_TimersAndConstants_n311 %d\n", ue_TimersAndConstants_n311); - printf("[DEBUGGING][KOGO] ue_TransmissionMode %d\n", ue_TransmissionMode); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; if ((prach_root <0) || (prach_root > 1023)) @@ -3028,7 +3198,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; - printf("[KOGO][DEBUGGING] check value here: value: %ld -- index %d\n", RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles, j); + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) AssertFatal(0, @@ -3078,64 +3248,64 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); } else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); @@ -3640,193 +3810,193 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", - RC.config_file_name, i); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", + RC.config_file_name, i); RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); - *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; - } + { + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; + } else - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; - } + { + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; + } else - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", - RC.config_file_name, i); + { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); - } - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - } + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; + + } else - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || - !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); + { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || + !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); - } - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + } + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + + } else - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); - } - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + } + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) - { + { RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; - } + } else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) - { + { RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - } + } else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; - } + } else - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; /////SIB2 Parameters if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; - } + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; + } else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) - { - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", - RC.config_file_name, i); + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); - } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + } + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; + + } else - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + } else - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; - } + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + } #endif } diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 9f08d45bc3..413d6c77c0 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -506,188 +506,222 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, ////Rel1310 #if defined(ENABLE_ITTI) if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) - { + { sib1_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); memset(sib1_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); SystemInformationBlockType1_v1310_IEs_t *sib1_1310 = sib1_1250->nonCriticalExtension; if (configuration->hyperSFN_r13[CC_id]) - { - sib1_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type - memset(sib1_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); - sib1_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_1310->hyperSFN_r13->size = 2; - sib1_1310->hyperSFN_r13->bits_unused = 6; - } + { + sib1_1310->hyperSFN_r13 = calloc(1, sizeof(BIT_STRING_t)); // type + memset(sib1_1310->hyperSFN_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->hyperSFN_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->hyperSFN_r13->buf, configuration->hyperSFN_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_1310->hyperSFN_r13->size = 2; + sib1_1310->hyperSFN_r13->bits_unused = 6; + } else - sib1_1310->hyperSFN_r13 = NULL; + sib1_1310->hyperSFN_r13 = NULL; if (configuration->eDRX_Allowed_r13[CC_id]) - { - sib1_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); - *sib1_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; - } + { + sib1_1310->eDRX_Allowed_r13 = calloc(1, sizeof(long)); + *sib1_1310->eDRX_Allowed_r13 = *configuration->eDRX_Allowed_r13[CC_id]; + } else - sib1_1310->eDRX_Allowed_r13 = NULL; // long* + sib1_1310->eDRX_Allowed_r13 = NULL; // long* if (configuration->cellSelectionInfoCE_r13[CC_id]) - { - sib1_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); - memset(sib1_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); - sib1_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long - if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) - { - sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); - *sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; - } - else - sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; - } + { + sib1_1310->cellSelectionInfoCE_r13 = calloc(1, sizeof(CellSelectionInfoCE_r13_t)); + memset(sib1_1310->cellSelectionInfoCE_r13, 0, sizeof(CellSelectionInfoCE_r13_t)); + sib1_1310->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = configuration->q_RxLevMinCE_r13[CC_id]; // (Q_RxLevMin_t) long + if (configuration->q_QualMinRSRQ_CE_r13[CC_id]) + { + sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = calloc(1, sizeof(long)); + *sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = *configuration->q_QualMinRSRQ_CE_r13[CC_id]; + } + else + sib1_1310->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; + } else - sib1_1310->cellSelectionInfoCE_r13 = NULL; + sib1_1310->cellSelectionInfoCE_r13 = NULL; if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 - = configuration->si_WindowLength_BR_r13[CC_id]; // 0 + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 + = configuration->si_WindowLength_BR_r13[CC_id]; // 0 - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 - = configuration->si_RepetitionPattern_r13[CC_id]; // 0 + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 + = configuration->si_RepetitionPattern_r13[CC_id]; // 0 - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); - SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); - memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); - schedulinginfo_br_13->si_Narrowband_r13 = 1; - schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 - = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); - memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, - sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); + memset(schedulinginfo_br_13, 0, sizeof(SchedulingInfo_BR_r13_t)); - if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + int num_sched_info_br = configuration->scheduling_info_br_size[CC_id]; + int index; + for (index = 0; index < num_sched_info_br; ++index) + { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; - } - else - { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + if (configuration->si_Narrowband_r13[CC_id][index] && configuration->si_TBS_r13[CC_id][index]) + { + schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; + schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; + } + else + { + schedulinginfo_br_13->si_Narrowband_r13 = 1; + schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; + } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; - } + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); - memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], - 2 * sizeof(uint8_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); + + if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + } + else + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; + } + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], + 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 - = configuration->si_HoppingConfigCommon_r13[CC_id]; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 + = configuration->si_HoppingConfigCommon_r13[CC_id]; - if (configuration->si_ValidityTime_r13[CC_id]) - { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); - memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); - *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 - = *configuration->si_ValidityTime_r13[CC_id]; - } - else - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; + if (configuration->si_ValidityTime_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); + *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = *configuration->si_ValidityTime_r13[CC_id]; + } + else + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; + } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); - } + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13; + + int num_system_info_value_tag = configuration->system_info_value_tag_SI_size[CC_id]; + for (index = 0; index < num_system_info_value_tag; ++index) + { + if (configuration->systemInfoValueTagSi_r13[CC_id][index]) + { + systemInfoValueTagSi_r13 = configuration->systemInfoValueTagSi_r13[CC_id][index]; + } + else + { + systemInfoValueTagSi_r13 = 0; + } + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + } + + } else - sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = NULL; + } sib1_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); memset(sib1_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); /////Rel1320 SystemInformationBlockType1_v1320_IEs_t *sib1_1320 = sib1_1310->nonCriticalExtension; - + if (configuration->freqHoppingParametersDL_r13[CC_id]) - { - sib1_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - memset(sib1_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + { + sib1_1320->freqHoppingParametersDL_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13)); - if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) - { - sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); - *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; - } - else - sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; + if (configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = calloc(1, sizeof(long)); + *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->mpdcch_pdsch_HoppingNB_r13[CC_id]; + } + else + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13)); - if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) - { - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } - else - { - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } + if (configuration->interval_DLHoppingConfigCommonModeA_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } + else + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); + memset(sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13, 0, sizeof(struct SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13)); - if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) - { - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } - else - { - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; - sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } - - if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) - { + if (configuration->interval_DLHoppingConfigCommonModeB_r13[CC_id]) + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } + else + { + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->present = SystemInformationBlockType1_v1320_IEs__freqHoppingParametersDL_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; + sib1_1320->freqHoppingParametersDL_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } - sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); - *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; - } - else - sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; + if (configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]) + { - } + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = calloc(1, sizeof(long)); + *sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->mpdcch_pdsch_HoppingOffset_r13[CC_id]; + } + else + sib1_1320->freqHoppingParametersDL_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; + + } else - sib1_1320->freqHoppingParametersDL_r13 = NULL; + sib1_1320->freqHoppingParametersDL_r13 = NULL; sib1_1320->nonCriticalExtension = NULL; - } + } #else sib1_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); memset(sib1_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); @@ -826,6 +860,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, return((enc_rval.encoded+7)/8); } + + + + uint8_t do_SIB23(uint8_t Mod_id, int CC_id @@ -932,7 +970,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #endif #if defined(ENABLE_ITTI) - + puts("INSIDE ITTI !!!!"); (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles = rrconfig->rach_numberOfRA_Preambles; (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; @@ -959,25 +997,45 @@ uint8_t do_SIB23(uint8_t Mod_id, memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); if (rrconfig->rach_maxHARQ_Msg3Tx) - { + { (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); *(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = rrconfig->rach_maxHARQ_Msg3Tx; // to be re-initialized when we find the enum - } + } else - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; + { + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; + } (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); memset(rach_ce_levelinfo_r13, 0, sizeof(RACH_CE_LevelInfo_r13_t)); - rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = 0; - rach_ce_levelinfo_r13->preambleMappingInfo_r13.lastPreamble_r13 = 63; - rach_ce_levelinfo_r13->ra_ResponseWindowSize_r13 = RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf80; - rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; - rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); + int num_rach_ce_level_info = configuration->rach_CE_LevelInfoList_r13_size[CC_id]; + int index; + for (index = 0; index < num_rach_ce_level_info; ++index) + { + if (configuration->rach_CE_LevelInfoList_r13_size[CC_id]) + { + rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = configuration->firstPreamble_r13[CC_id][index]; + rach_ce_levelinfo_r13->preambleMappingInfo_r13.lastPreamble_r13 = configuration->lastPreamble_r13[CC_id][index]; + rach_ce_levelinfo_r13->ra_ResponseWindowSize_r13 = configuration->ra_ResponseWindowSize_r13[CC_id][index]; + rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = configuration->mac_ContentionResolutionTimer_r13[CC_id][index]; + rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = configuration->rar_HoppingConfig_r13[CC_id][index]; + } + else + { + rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = 0; + rach_ce_levelinfo_r13->preambleMappingInfo_r13.lastPreamble_r13 = 63; + rach_ce_levelinfo_r13->ra_ResponseWindowSize_r13 = RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf80; + rach_ce_levelinfo_r13->mac_ContentionResolutionTimer_r13 = RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; + rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; + } + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); + } + + //--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo // BCCH-Config @@ -1099,68 +1157,139 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; if (rrconfig->prach_ConfigCommon_v1310) - { + { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); - RSRP_Range_t rsrp_range = 60; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); + RSRP_Range_t rsrp_range; + int num_rsrp_range = configuration->rsrp_range_list_size[CC_id]; + int rsrp_index; + for (rsrp_index = 0; rsrp_index < num_rsrp_range; ++rsrp_index) + { + if (configuration->rsrp_range_list_size[CC_id]) + { + rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; + } + else + { + rsrp_range = 60; + } + + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); + } + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; - if (rrconfig->mpdcch_startSF_CSS_RA_r13) - { - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); + memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - if (*rrconfig->mpdcch_startSF_CSS_RA_r13) - { - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; - } - } + if (*rrconfig->mpdcch_startSF_CSS_RA_r13) + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; + } + } if (rrconfig->prach_HoppingOffset_r13) - { - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = *rrconfig->prach_HoppingOffset_r13; - } + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = *rrconfig->prach_HoppingOffset_r13; + } else - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; + } PRACH_ParametersCE_r13_t *prach_parametersce_r13 = calloc(1, sizeof(PRACH_ParametersCE_r13_t)); memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); - prach_parametersce_r13->prach_ConfigIndex_r13 = 3; - prach_parametersce_r13->prach_FreqOffset_r13 = 1; - prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = calloc(1, sizeof(long)); - *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = PRACH_ParametersCE_r13__maxNumPreambleAttemptCE_r13_n3; + int num_prach_parameters_ce = configuration->prach_parameters_list_size[CC_id]; + int prach_parameters_index; + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce; ++prach_parameters_index) + { + if (configuration->prach_parameters_list_size[CC_id]) + { + prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_FreqOffset_r13 = configuration->prach_freq_offset[CC_id][prach_parameters_index]; - prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; - long maxavailablenarrowband = 2; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) + { + *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + } - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; - prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); - } + if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) + { + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; + } + + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->prach_ConfigIndex_r13 = 3; + prach_parametersce_r13->prach_FreqOffset_r13 = 1; + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = calloc(1, sizeof(long)); + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = PRACH_ParametersCE_r13__maxNumPreambleAttemptCE_r13_n3; + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + } + + long maxavailablenarrowband = 2; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + } + + } else - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; - + { + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; + } (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); - long pucch_info_value1 = 0; - long pucch_info_value2 = 2; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value1); - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); + + int num_pucch_info_list = configuration->pucch_info_value_size[CC_id]; + int pucch_index; + long pucch_info_value; + for (pucch_index = 0; pucch_index < num_pucch_info_list; ++pucch_index) + { + if (configuration->pucch_info_value_size[CC_id]) + { + pucch_info_value = configuration->pucch_info_value[CC_id][pucch_index]; + } + else + { + pucch_info_value = 0; + } + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value); + } + +// +kogo FIXME +// ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; @@ -1304,8 +1433,8 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = calloc(1, sizeof(long)); *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = PRACH_ParametersCE_r13__maxNumPreambleAttemptCE_r13_n3; - prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; + long maxavailablenarrowband = 2; ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); @@ -1315,6 +1444,7 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); long pucch_info_value1 = 0; long pucch_info_value2 = 2; diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index dc6e85d477..dc4c84384b 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -127,6 +127,7 @@ init_SI( ) //----------------------------------------------------------------------------- { + puts("[DEBUGGING][KOGO] Inside init_SI function ..."); #if defined(Rel10) || defined(Rel14) int i; #endif @@ -167,6 +168,7 @@ init_SI( AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1!=NULL,PROTOCOL_RRC_CTXT_FMT" init_SI: FATAL, no memory for SIB1 allocated\n", PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); + puts("[DEBUGGING][KOGO] --- Calling SIB1"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id #ifdef Rel14 ,FALSE @@ -183,6 +185,7 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = 0; if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_BR = (uint8_t*) malloc16(32); + puts("[DEBUGGING][KOGO] --- Calling SIB1 -- second time"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id ,TRUE #if defined(ENABLE_ITTI) @@ -194,6 +197,7 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23 = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23!=NULL,"cannot allocate memory for SIB"); + puts("[DEBUGGING][KOGO] ---> Calling SIB23 ---> first time"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 = do_SIB23( ctxt_pP->module_id, CC_id @@ -212,6 +216,7 @@ init_SI( if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR!=NULL,"cannot allocate memory for SIB"); + puts("[DEBUGGING][KOGO] ---> Calling SIB23 ---> second time"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = do_SIB23( ctxt_pP->module_id, CC_id From f613ecfa13e227848a0fd24310beb3f4a2d3fba6 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 7 Aug 2017 23:30:47 -0700 Subject: [PATCH 009/109] minor change for BL/CE in asn1_msg.c --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 0b0b6aee2e..4de89bf63b 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -907,7 +907,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #if defined(Rel10) || defined(Rel14) - if (MBMS_flag > 0) { + if ((MBMS_flag > 0) && (brOption==FALSE)) { sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); sib13_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920; From 46c3d2b5bb4d9b514948d266da88d9e95aa7f754 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Wed, 9 Aug 2017 16:13:00 +0200 Subject: [PATCH 010/109] copying RA_Template BR parameters to UE_template --- openair2/LAYER2/MAC/defs.h | 7 + .../LAYER2/MAC/eNB_scheduler_primitives.c | 11 +- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 6 +- openair2/LAYER2/MAC/proto.h | 6 +- ray_enb_dev.config | 2 + ray_enb_dev.creator | 1 + ray_enb_dev.files | 7811 +++++++++++++++++ ray_enb_dev.includes | 144 + 8 files changed, 7985 insertions(+), 3 deletions(-) create mode 100644 ray_enb_dev.config create mode 100644 ray_enb_dev.creator create mode 100644 ray_enb_dev.files create mode 100644 ray_enb_dev.includes diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 2c8b613b1d..075c611345 100644 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -752,6 +752,13 @@ typedef struct { #ifdef LOCALIZATION eNB_UE_estimated_distances distance; #endif + +#ifdef Rel14 + uint8_t rach_resource_type; + + +#endif + } UE_TEMPLATE; /*! \brief scheduling control information set through an API (not used)*/ diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index dceff068d3..52daec2523 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -647,7 +647,11 @@ void dump_ue_list(UE_list_t *listP, int ul_flag) } } -int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP,int harq_pidP) +int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP,int harq_pidP + #ifdef Rel14 + ,uint8_t rach_resource_type + #endif + ) { int UE_id; int i, j; @@ -669,6 +673,11 @@ int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP,int harq_pidP) UE_list->ordered_ULCCids[0][UE_id] = cc_idP; UE_list->num_UEs++; UE_list->active[UE_id] = TRUE; + +#ifdef Rel14 + UE_list->UE_template[cc_idP][UE_id].rach_resource_type = rach_resource_type ; +#endif + memset((void*)&UE_list->UE_sched_ctrl[UE_id],0,sizeof(UE_sched_ctrl)); memset((void*)&UE_list->eNB_UE_stats[cc_idP][UE_id],0,sizeof(eNB_UE_STATS)); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 660bd80adb..53d36476f6 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -368,7 +368,11 @@ void rx_sdu(const module_id_t enb_mod_idP, LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3: length %d, offset %ld\n", enb_mod_idP,CC_idP,frameP,rx_lengths[i],payload_ptr-sduP); - if ((UE_id=add_new_ue(enb_mod_idP,CC_idP,eNB->common_channels[CC_idP].RA_template[ii].rnti,harq_pid)) == -1 ) { + if ((UE_id=add_new_ue(enb_mod_idP,CC_idP,eNB->common_channels[CC_idP].RA_template[ii].rnti,harq_pid + #ifdef Rel14 + ,eNB->common_channels[CC_idP].RA_template[ii].rach_resource_type + #endif + )) == -1 ) { AssertFatal(1==0,"[MAC][eNB] Max user count reached\n"); // kill RA procedure } else diff --git a/openair2/LAYER2/MAC/proto.h b/openair2/LAYER2/MAC/proto.h index 63e717f90e..d36e9cd881 100644 --- a/openair2/LAYER2/MAC/proto.h +++ b/openair2/LAYER2/MAC/proto.h @@ -521,7 +521,11 @@ int to_prb(int); int to_rbg(int); int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, uint8_t HO_active); int mac_init(void); -int add_new_ue(module_id_t Mod_id, int CC_id, rnti_t rnti,int harq_pid); +int add_new_ue(module_id_t Mod_id, int CC_id, rnti_t rnti,int harq_pid + #ifdef Rel14 + ,uint8_t rach_resource_type + #endif + ); int rrc_mac_remove_ue(module_id_t Mod_id, rnti_t rntiP); diff --git a/ray_enb_dev.config b/ray_enb_dev.config new file mode 100644 index 0000000000..e0284f4257 --- /dev/null +++ b/ray_enb_dev.config @@ -0,0 +1,2 @@ +// Add predefined macros for your project here. For example: +// #define THE_ANSWER 42 diff --git a/ray_enb_dev.creator b/ray_enb_dev.creator new file mode 100644 index 0000000000..e94cbbd302 --- /dev/null +++ b/ray_enb_dev.creator @@ -0,0 +1 @@ +[General] diff --git a/ray_enb_dev.files b/ray_enb_dev.files new file mode 100644 index 0000000000..434bed8ab5 --- /dev/null +++ b/ray_enb_dev.files @@ -0,0 +1,7811 @@ +cmake_targets/at_commands/CMakeLists.txt +cmake_targets/autotests/templates/index.html +cmake_targets/autotests/templates/testcase_report.html +cmake_targets/autotests/tools/autotest_analyser.py +cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py +cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py +cmake_targets/autotests/tools/configure_usrpb210.py +cmake_targets/autotests/tools/find_usb_path.bash +cmake_targets/autotests/tools/free_mem.bash +cmake_targets/autotests/tools/git-retry.sh +cmake_targets/autotests/tools/iperf3_script +cmake_targets/autotests/tools/iperf3_script_phone +cmake_targets/autotests/tools/iperf_script +cmake_targets/autotests/tools/iperf_script_phone +cmake_targets/autotests/tools/lib_autotest.py +cmake_targets/autotests/tools/lib_autotest_analyser.py +cmake_targets/autotests/tools/remove_old_programs.bash +cmake_targets/autotests/tools/run_gdb +cmake_targets/autotests/tools/search_repl.py +cmake_targets/autotests/tools/wdial.bandrich.conf +cmake_targets/autotests/v2/actions/alu_epc.bash +cmake_targets/autotests/v2/actions/alu_epc_stop.bash +cmake_targets/autotests/v2/actions/alu_hss.bash +cmake_targets/autotests/v2/actions/bandrich.txt +cmake_targets/autotests/v2/actions/client_tcp.bash +cmake_targets/autotests/v2/actions/client_udp.bash +cmake_targets/autotests/v2/actions/clone_repository.bash +cmake_targets/autotests/v2/actions/compilation.bash +cmake_targets/autotests/v2/actions/execution.bash +cmake_targets/autotests/v2/actions/execution_compile.bash +cmake_targets/autotests/v2/actions/modem.py +cmake_targets/autotests/v2/actions/run_enb.bash +cmake_targets/autotests/v2/actions/server_tcp.bash +cmake_targets/autotests/v2/actions/server_udp.bash +cmake_targets/autotests/v2/actions/start_3276.bash +cmake_targets/autotests/v2/actions/start_3276.py +cmake_targets/autotests/v2/actions/start_bandrich.bash +cmake_targets/autotests/v2/actions/start_bandrich.py +cmake_targets/autotests/v2/actions/stop_3276.py +cmake_targets/autotests/v2/actions/stop_bandrich.py +cmake_targets/autotests/v2/actions/wvdial.3276.conf +cmake_targets/autotests/v2/actions/wvdial.bandrich.conf +cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf +cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf +cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf +cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf +cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf +cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf +cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf +cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf +cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf +cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf +cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf +cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf +cmake_targets/autotests/v2/alu_test.py +cmake_targets/autotests/v2/connection.py +cmake_targets/autotests/v2/machine_list.py +cmake_targets/autotests/v2/main.py +cmake_targets/autotests/v2/task.py +cmake_targets/autotests/v2/utils.py +cmake_targets/autotests/core.py +cmake_targets/autotests/log.py +cmake_targets/autotests/openair.py +cmake_targets/autotests/README.txt +cmake_targets/autotests/run_compilation_autotests.bash +cmake_targets/autotests/run_exec_autotests.bash +cmake_targets/autotests/run_exec_lte-softmodem_tests.py +cmake_targets/autotests/test_case_list.xml +cmake_targets/autotests/testsuite_ue_noS1.xml +cmake_targets/autotests/testsuite_ue_noS1_TCL.xml +cmake_targets/doxygen/CMakeLists.txt +cmake_targets/epc_test/CMakeLists.template +cmake_targets/log/lte-softmodem.Rel14.txt +cmake_targets/log/oai_usrpdevif.Rel14.txt +cmake_targets/lte-simulators/CMakeLists.txt +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/CXX.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn1_constants.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_application.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_internal.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_system.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/converter-sample.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_compare.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_ies_defs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_xer_print.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn1_constants.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_application.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_internal.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_system.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/converter-sample.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_ies_defs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_xer_print.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn1_constants.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_application.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_internal.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_system.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/converter-sample.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/cmake.check_cache +cmake_targets/lte_build_oai/build/CMakeFiles/CMakeDirectoryInformation.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CMakeOutput.log +cmake_targets/lte_build_oai/build/CMakeFiles/CMakeRuleHashes.txt +cmake_targets/lte_build_oai/build/CMakeFiles/messages.xml +cmake_targets/lte_build_oai/build/CMakeFiles/messages_xml.h +cmake_targets/lte_build_oai/build/CMakeFiles/progress.marks +cmake_targets/lte_build_oai/build/CMakeFiles/TargetDirectories.txt +cmake_targets/lte_build_oai/build/cmake_install.cmake +cmake_targets/lte_build_oai/build/CMakeCache.txt +cmake_targets/lte_build_oai/build/libGTPV1U.a +cmake_targets/lte_build_oai/build/libHASHTABLE.a +cmake_targets/lte_build_oai/build/libITTI.a +cmake_targets/lte_build_oai/build/libL2.a +cmake_targets/lte_build_oai/build/libLFDS.a +cmake_targets/lte_build_oai/build/libLFDS7.a +cmake_targets/lte_build_oai/build/libLIB_NAS_UE.a +cmake_targets/lte_build_oai/build/liboai_device.so +cmake_targets/lte_build_oai/build/liboai_usrpdevif.so +cmake_targets/lte_build_oai/build/libPHY.a +cmake_targets/lte_build_oai/build/libRRC_LIB.a +cmake_targets/lte_build_oai/build/libS1AP_ENB.a +cmake_targets/lte_build_oai/build/libS1AP_LIB.a +cmake_targets/lte_build_oai/build/libSCHED_LIB.a +cmake_targets/lte_build_oai/build/libSCTP_CLIENT.a +cmake_targets/lte_build_oai/build/libSECU_CN.a +cmake_targets/lte_build_oai/build/libSECU_OSA.a +cmake_targets/lte_build_oai/build/libUDP.a +cmake_targets/lte_build_oai/build/libUTIL.a +cmake_targets/lte_build_oai/build/lte-softmodem +cmake_targets/lte_build_oai/CMakeLists.txt +cmake_targets/lte_noS1_build_oai/CMakeLists.template +cmake_targets/nas_sim_tools/CMakeLists.txt +cmake_targets/oaisim_build_oai/CMakeLists.template +cmake_targets/oaisim_mme_build_oai/CMakeLists.template +cmake_targets/oaisim_noS1_build_oai/CMakeLists.template +cmake_targets/s1c_mme_test/CMakeLists.template +cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff +cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff +cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff +cmake_targets/tools/MODULES/cmake_useful.cmake +cmake_targets/tools/MODULES/CMakeParseArguments.cmake +cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake +cmake_targets/tools/MODULES/CMakeUserUseBison.cmake +cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake +cmake_targets/tools/MODULES/FindFreeDiameter.cmake +cmake_targets/tools/MODULES/FindGCCXML.cmake +cmake_targets/tools/MODULES/FindGcrypt.cmake +cmake_targets/tools/MODULES/FindGnuTLS.cmake +cmake_targets/tools/MODULES/FindKbuild.cmake +cmake_targets/tools/MODULES/FindLibXml2.cmake +cmake_targets/tools/MODULES/FindMySQL.cmake +cmake_targets/tools/MODULES/FindNettle.cmake +cmake_targets/tools/MODULES/FindPostgreSQL.cmake +cmake_targets/tools/MODULES/FindSCTP.cmake +cmake_targets/tools/MODULES/Kbuild.cmake +cmake_targets/tools/MODULES/kbuild_system.cmake +cmake_targets/tools/MODULES/kmodule.cmake +cmake_targets/tools/MODULES/path_prefixes.cmake +cmake_targets/tools/asn1tostruct.py +cmake_targets/tools/build_helper +cmake_targets/tools/build_test_epc_tools +cmake_targets/tools/example_enb_exmimo_mme_hss.txt +cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt +cmake_targets/tools/exmimo2_2arxg.lime +cmake_targets/tools/exmimo2_2brxg.lime +cmake_targets/tools/exmimo_stop_octave.m +cmake_targets/tools/fix_asn1 +cmake_targets/tools/generate_asn1 +cmake_targets/tools/generate_protobuf +cmake_targets/tools/indent_source_code +cmake_targets/tools/init_exmimo2 +cmake_targets/tools/init_nas_nos1 +cmake_targets/tools/init_nas_s1 +cmake_targets/tools/Kbuild.cmake +cmake_targets/tools/make_agent_cache +cmake_targets/tools/mem_usage +cmake_targets/tools/perf_oai.bash +cmake_targets/tools/run_enb_s1_exmimo +cmake_targets/tools/run_enb_s1_usrp +cmake_targets/tools/run_enb_ue_virt_noS1 +cmake_targets/tools/run_enb_ue_virt_s1 +cmake_targets/tools/run_ue_s1 +cmake_targets/tools/start_bladerf.py +cmake_targets/tools/stop_exmimo2 +cmake_targets/tools/test_helper +cmake_targets/build_oai +cmake_targets/build_ue +cmake_targets/CMakeLists.txt +cmake_targets/snap_environment.sh +common/utils/collection/queue.h +common/utils/collection/tree.h +common/utils/hashtable/hashtable.c +common/utils/hashtable/hashtable.h +common/utils/hashtable/obj_hashtable.c +common/utils/hashtable/obj_hashtable.h +common/utils/itti/assertions.h +common/utils/itti/backtrace.c +common/utils/itti/backtrace.h +common/utils/itti/intertask_interface.c +common/utils/itti/intertask_interface.h +common/utils/itti/intertask_interface_dump.c +common/utils/itti/intertask_interface_dump.h +common/utils/itti/intertask_interface_init.h +common/utils/itti/intertask_interface_types.h +common/utils/itti/intertask_messages_def.h +common/utils/itti/intertask_messages_types.h +common/utils/itti/itti_types.h +common/utils/itti/memory_pools.c +common/utils/itti/memory_pools.h +common/utils/itti/messages_def.h +common/utils/itti/messages_types.h +common/utils/itti/signals.c +common/utils/itti/signals.h +common/utils/itti/tasks_def.h +common/utils/itti/timer.c +common/utils/itti/timer.h +common/utils/itti/timer_messages_def.h +common/utils/itti/timer_messages_types.h +common/utils/itti_analyzer/common/itti_types.h +common/utils/itti_analyzer/common/logs.h +common/utils/itti_analyzer/common/queue.h +common/utils/itti_analyzer/common/rc.h +common/utils/itti_analyzer/libbuffers/buffers.c +common/utils/itti_analyzer/libbuffers/buffers.h +common/utils/itti_analyzer/libbuffers/file.c +common/utils/itti_analyzer/libbuffers/file.h +common/utils/itti_analyzer/libbuffers/socket.c +common/utils/itti_analyzer/libbuffers/socket.h +common/utils/itti_analyzer/libparser/array_type.c +common/utils/itti_analyzer/libparser/array_type.h +common/utils/itti_analyzer/libparser/enum_type.c +common/utils/itti_analyzer/libparser/enum_type.h +common/utils/itti_analyzer/libparser/enum_value_type.c +common/utils/itti_analyzer/libparser/enum_value_type.h +common/utils/itti_analyzer/libparser/field_type.c +common/utils/itti_analyzer/libparser/field_type.h +common/utils/itti_analyzer/libparser/file_type.c +common/utils/itti_analyzer/libparser/file_type.h +common/utils/itti_analyzer/libparser/fundamental_type.c +common/utils/itti_analyzer/libparser/fundamental_type.h +common/utils/itti_analyzer/libparser/intertask_contexts.h +common/utils/itti_analyzer/libparser/pointer_type.c +common/utils/itti_analyzer/libparser/pointer_type.h +common/utils/itti_analyzer/libparser/reference_type.c +common/utils/itti_analyzer/libparser/reference_type.h +common/utils/itti_analyzer/libparser/struct_type.c +common/utils/itti_analyzer/libparser/struct_type.h +common/utils/itti_analyzer/libparser/typedef_type.c +common/utils/itti_analyzer/libparser/typedef_type.h +common/utils/itti_analyzer/libparser/types.c +common/utils/itti_analyzer/libparser/types.h +common/utils/itti_analyzer/libparser/union_type.c +common/utils/itti_analyzer/libparser/union_type.h +common/utils/itti_analyzer/libparser/xml_parse.c +common/utils/itti_analyzer/libparser/xml_parse.h +common/utils/itti_analyzer/libresolver/locate_root.c +common/utils/itti_analyzer/libresolver/locate_root.h +common/utils/itti_analyzer/libresolver/resolvers.c +common/utils/itti_analyzer/libresolver/resolvers.h +common/utils/itti_analyzer/libui/ui_callbacks.c +common/utils/itti_analyzer/libui/ui_callbacks.h +common/utils/itti_analyzer/libui/ui_filters.c +common/utils/itti_analyzer/libui/ui_filters.h +common/utils/itti_analyzer/libui/ui_interface.c +common/utils/itti_analyzer/libui/ui_interface.h +common/utils/itti_analyzer/libui/ui_main_screen.c +common/utils/itti_analyzer/libui/ui_main_screen.h +common/utils/itti_analyzer/libui/ui_menu_bar.c +common/utils/itti_analyzer/libui/ui_menu_bar.h +common/utils/itti_analyzer/libui/ui_notebook.c +common/utils/itti_analyzer/libui/ui_notebook.h +common/utils/itti_analyzer/libui/ui_notif_dlg.c +common/utils/itti_analyzer/libui/ui_notif_dlg.h +common/utils/itti_analyzer/libui/ui_notifications.c +common/utils/itti_analyzer/libui/ui_notifications.h +common/utils/itti_analyzer/libui/ui_signal_dissect_view.c +common/utils/itti_analyzer/libui/ui_signal_dissect_view.h +common/utils/itti_analyzer/libui/ui_tree_view.c +common/utils/itti_analyzer/libui/ui_tree_view.h +common/utils/itti_analyzer/AUTHORS +common/utils/itti_analyzer/autogen.sh +common/utils/itti_analyzer/ChangeLog +common/utils/itti_analyzer/configure.ac +common/utils/itti_analyzer/filters.xml +common/utils/itti_analyzer/filters_mme.xml +common/utils/itti_analyzer/filters_ue_enb.xml +common/utils/itti_analyzer/INSTALL +common/utils/itti_analyzer/itti_analyzer.c +common/utils/itti_analyzer/NEWS +common/utils/itti_analyzer/README +common/utils/msc/msc.c +common/utils/msc/msc.h +common/utils/T/tracee/README +common/utils/T/tracee/tracee.c +common/utils/T/tracer/filter/filter.c +common/utils/T/tracer/filter/filter.h +common/utils/T/tracer/gui/container.c +common/utils/T/tracer/gui/event.c +common/utils/T/tracer/gui/gui.c +common/utils/T/tracer/gui/gui.h +common/utils/T/tracer/gui/gui_defs.h +common/utils/T/tracer/gui/image.c +common/utils/T/tracer/gui/init.c +common/utils/T/tracer/gui/label.c +common/utils/T/tracer/gui/loop.c +common/utils/T/tracer/gui/notify.c +common/utils/T/tracer/gui/positioner.c +common/utils/T/tracer/gui/space.c +common/utils/T/tracer/gui/test.c +common/utils/T/tracer/gui/textarea.c +common/utils/T/tracer/gui/textlist.c +common/utils/T/tracer/gui/timeline.c +common/utils/T/tracer/gui/toplevel_window.c +common/utils/T/tracer/gui/widget.c +common/utils/T/tracer/gui/x.c +common/utils/T/tracer/gui/x.h +common/utils/T/tracer/gui/x_defs.h +common/utils/T/tracer/gui/xy_plot.c +common/utils/T/tracer/hacks/dump_nack_signal.c +common/utils/T/tracer/hacks/time_meas.c +common/utils/T/tracer/hacks/timeplot.c +common/utils/T/tracer/logger/framelog.c +common/utils/T/tracer/logger/iqdotlog.c +common/utils/T/tracer/logger/iqlog.c +common/utils/T/tracer/logger/logger.c +common/utils/T/tracer/logger/logger.h +common/utils/T/tracer/logger/logger_defs.h +common/utils/T/tracer/logger/textlog.c +common/utils/T/tracer/logger/throughputlog.c +common/utils/T/tracer/logger/ticked_ttilog.c +common/utils/T/tracer/logger/ticklog.c +common/utils/T/tracer/logger/timelog.c +common/utils/T/tracer/logger/ttilog.c +common/utils/T/tracer/view/scrolltti.c +common/utils/T/tracer/view/stdout.c +common/utils/T/tracer/view/textlist.c +common/utils/T/tracer/view/ticktime.c +common/utils/T/tracer/view/time.c +common/utils/T/tracer/view/tti.c +common/utils/T/tracer/view/view.h +common/utils/T/tracer/view/xy.c +common/utils/T/tracer/config.c +common/utils/T/tracer/config.h +common/utils/T/tracer/database.c +common/utils/T/tracer/database.h +common/utils/T/tracer/defs.h +common/utils/T/tracer/enb.c +common/utils/T/tracer/event.c +common/utils/T/tracer/event.h +common/utils/T/tracer/event_selector.c +common/utils/T/tracer/event_selector.h +common/utils/T/tracer/extract_config.c +common/utils/T/tracer/gui.c +common/utils/T/tracer/handler.c +common/utils/T/tracer/handler.h +common/utils/T/tracer/macpdu2wireshark.c +common/utils/T/tracer/openair_logo.h +common/utils/T/tracer/openair_logo.png +common/utils/T/tracer/packet-mac-lte.h +common/utils/T/tracer/plot.c +common/utils/T/tracer/record.c +common/utils/T/tracer/replay.c +common/utils/T/tracer/textlog.c +common/utils/T/tracer/ue.c +common/utils/T/tracer/utils.c +common/utils/T/tracer/utils.h +common/utils/T/tracer/vcd.c +common/utils/T/defs.h +common/utils/T/generate_Txx.c +common/utils/T/genids.c +common/utils/T/local_tracer.c +common/utils/T/plot.c +common/utils/T/README +common/utils/T/T.c +common/utils/T/T.h +common/utils/T/T_defs.h +common/utils/T/T_messages.txt +common/utils/asn1_conversions.h +common/utils/assertions.h +common/utils/system.c +common/utils/system.h +common/utils/time_utils.h +common/utils/utils.c +common/utils/utils.h +common/ran_context.h +openair1/PHY/CODING/TESTBENCH/ltetest.c +openair1/PHY/CODING/TESTBENCH/pdcch_test.c +openair1/PHY/CODING/TESTBENCH/README.txt +openair1/PHY/CODING/TESTBENCH/viterbi_test.c +openair1/PHY/CODING/3gpplte.c +openair1/PHY/CODING/3gpplte_sse.c +openair1/PHY/CODING/3gpplte_turbo_decoder.c +openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c +openair1/PHY/CODING/ccoding_byte.c +openair1/PHY/CODING/ccoding_byte_lte.c +openair1/PHY/CODING/crc_byte.c +openair1/PHY/CODING/defs.h +openair1/PHY/CODING/extern.h +openair1/PHY/CODING/extern_3GPPinterleaver.h +openair1/PHY/CODING/lte_interleaver.h +openair1/PHY/CODING/lte_interleaver2.h +openair1/PHY/CODING/lte_interleaver_inline.h +openair1/PHY/CODING/lte_rate_matching.c +openair1/PHY/CODING/lte_segmentation.c +openair1/PHY/CODING/lte_tf.m +openair1/PHY/CODING/README.txt +openair1/PHY/CODING/scrambler.h +openair1/PHY/CODING/vars.h +openair1/PHY/CODING/viterbi.c +openair1/PHY/CODING/viterbi_lte.c +openair1/PHY/INIT/defs.h +openair1/PHY/INIT/extern.h +openair1/PHY/INIT/init_top.c +openair1/PHY/INIT/lte_init.c +openair1/PHY/INIT/lte_param_init.c +openair1/PHY/INIT/lte_parms.c +openair1/PHY/INIT/README.txt +openair1/PHY/INIT/vars.h +openair1/PHY/LTE_ESTIMATION/adjust_gain.c +openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m +openair1/PHY/LTE_ESTIMATION/defs.h +openair1/PHY/LTE_ESTIMATION/extern.h +openair1/PHY/LTE_ESTIMATION/filt16_32.h +openair1/PHY/LTE_ESTIMATION/filt96_32.h +openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m +openair1/PHY/LTE_ESTIMATION/freq_equalization.c +openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c +openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c +openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c +openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c +openair1/PHY/LTE_ESTIMATION/lte_sync_time.c +openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c +openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m +openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c +openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/pss6144.h +openair1/PHY/LTE_ESTIMATION/README.txt +openair1/PHY/LTE_ESTIMATION/vars.h +openair1/PHY/LTE_REFSIG/defs.h +openair1/PHY/LTE_REFSIG/gen_mod_table.m +openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c +openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c +openair1/PHY/LTE_REFSIG/lte_dl_uespec.c +openair1/PHY/LTE_REFSIG/lte_gold.c +openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c +openair1/PHY/LTE_REFSIG/lte_ul.m +openair1/PHY/LTE_REFSIG/lte_ul_ref.c +openair1/PHY/LTE_REFSIG/mod_table.h +openair1/PHY/LTE_REFSIG/primary_synch.h +openair1/PHY/LTE_REFSIG/primary_synch.m +openair1/PHY/LTE_REFSIG/README.txt +openair1/PHY/LTE_TRANSPORT/dci.c +openair1/PHY/LTE_TRANSPORT/dci.h +openair1/PHY/LTE_TRANSPORT/dci_tools.c +openair1/PHY/LTE_TRANSPORT/defs.h +openair1/PHY/LTE_TRANSPORT/dlsch_coding.c +openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c +openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c +openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c +openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c +openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c +openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h +openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h +openair1/PHY/LTE_TRANSPORT/drs_modulation.c +openair1/PHY/LTE_TRANSPORT/extern.h +openair1/PHY/LTE_TRANSPORT/group_hopping.c +openair1/PHY/LTE_TRANSPORT/if4_tools.c +openair1/PHY/LTE_TRANSPORT/if4_tools.h +openair1/PHY/LTE_TRANSPORT/if5_tools.c +openair1/PHY/LTE_TRANSPORT/if5_tools.h +openair1/PHY/LTE_TRANSPORT/initial_sync.c +openair1/PHY/LTE_TRANSPORT/lte_mcs.c +openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h +openair1/PHY/LTE_TRANSPORT/mdci.h +openair1/PHY/LTE_TRANSPORT/pbch.c +openair1/PHY/LTE_TRANSPORT/pcfich.c +openair1/PHY/LTE_TRANSPORT/pch.c +openair1/PHY/LTE_TRANSPORT/phich.c +openair1/PHY/LTE_TRANSPORT/pilots.c +openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c +openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c +openair1/PHY/LTE_TRANSPORT/pmch.c +openair1/PHY/LTE_TRANSPORT/power_control.c +openair1/PHY/LTE_TRANSPORT/prach.c +openair1/PHY/LTE_TRANSPORT/prach.h +openair1/PHY/LTE_TRANSPORT/print_stats.c +openair1/PHY/LTE_TRANSPORT/proto.h +openair1/PHY/LTE_TRANSPORT/pss.c +openair1/PHY/LTE_TRANSPORT/pucch.c +openair1/PHY/LTE_TRANSPORT/rar_tools.c +openair1/PHY/LTE_TRANSPORT/README.txt +openair1/PHY/LTE_TRANSPORT/srs_modulation.c +openair1/PHY/LTE_TRANSPORT/sss.c +openair1/PHY/LTE_TRANSPORT/sss.h +openair1/PHY/LTE_TRANSPORT/sss_gen.m +openair1/PHY/LTE_TRANSPORT/uci.h +openair1/PHY/LTE_TRANSPORT/uci_tools.c +openair1/PHY/LTE_TRANSPORT/ulsch_coding.c +openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c +openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c +openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c +openair1/PHY/LTE_TRANSPORT/vars.h +openair1/PHY/LTE_TRANSPORT/vrb_maps.m +openair1/PHY/MODULATION/beamforming.c +openair1/PHY/MODULATION/compute_bf_weights.c +openair1/PHY/MODULATION/defs.h +openair1/PHY/MODULATION/extern.h +openair1/PHY/MODULATION/gen_7_5_kHz.m +openair1/PHY/MODULATION/kHz_7_5.h +openair1/PHY/MODULATION/ofdm_mod.c +openair1/PHY/MODULATION/prach625Hz.h +openair1/PHY/MODULATION/slot_fep.c +openair1/PHY/MODULATION/slot_fep_mbsfn.c +openair1/PHY/MODULATION/slot_fep_ul.c +openair1/PHY/MODULATION/ul_7_5_kHz.c +openair1/PHY/MODULATION/vars.h +openair1/PHY/TOOLS/8bit_rxdemux.c +openair1/PHY/TOOLS/8bit_txmux.c +openair1/PHY/TOOLS/alaw_lut.h +openair1/PHY/TOOLS/angle.c +openair1/PHY/TOOLS/cadd_sv.c +openair1/PHY/TOOLS/cadd_vv.c +openair1/PHY/TOOLS/cdot_prod.c +openair1/PHY/TOOLS/cmult_sv.c +openair1/PHY/TOOLS/cmult_vv.c +openair1/PHY/TOOLS/costable.h +openair1/PHY/TOOLS/dB_routines.c +openair1/PHY/TOOLS/dB_routines.h +openair1/PHY/TOOLS/defs.h +openair1/PHY/TOOLS/extern.h +openair1/PHY/TOOLS/file_output.c +openair1/PHY/TOOLS/invSqrt.c +openair1/PHY/TOOLS/log2_approx.c +openair1/PHY/TOOLS/lte_dfts.c +openair1/PHY/TOOLS/lte_phy_scope.c +openair1/PHY/TOOLS/lte_phy_scope.h +openair1/PHY/TOOLS/lte_phy_scope_tm4.c +openair1/PHY/TOOLS/lut.c +openair1/PHY/TOOLS/memory_routines.c +openair1/PHY/TOOLS/read_F.c +openair1/PHY/TOOLS/signal_energy.c +openair1/PHY/TOOLS/smbv.c +openair1/PHY/TOOLS/smbv.h +openair1/PHY/TOOLS/sqrt.c +openair1/PHY/TOOLS/time_meas.c +openair1/PHY/TOOLS/time_meas.h +openair1/PHY/TOOLS/twiddle12288.h +openair1/PHY/TOOLS/twiddle1536.h +openair1/PHY/TOOLS/twiddle18432.h +openair1/PHY/TOOLS/twiddle24576.h +openair1/PHY/TOOLS/twiddle6144.h +openair1/PHY/TOOLS/twiddles4096.h +openair1/PHY/TOOLS/twiddles8192.h +openair1/PHY/TOOLS/vars.h +openair1/PHY/defs.h +openair1/PHY/extern.h +openair1/PHY/impl_defs_lte.h +openair1/PHY/impl_defs_top.h +openair1/PHY/sse_intrin.h +openair1/PHY/types.h +openair1/PHY/vars.h +openair1/SCHED/defs.h +openair1/SCHED/extern.h +openair1/SCHED/phy_mac_stub.c +openair1/SCHED/phy_procedures_emos.h +openair1/SCHED/phy_procedures_lte_common.c +openair1/SCHED/phy_procedures_lte_eNb.c +openair1/SCHED/phy_procedures_lte_ue.c +openair1/SCHED/pucch_pc.c +openair1/SCHED/pusch_pc.c +openair1/SCHED/rt_compat.h +openair1/SCHED/ru_procedures.c +openair1/SCHED/srs_pc.c +openair1/SCHED/vars.h +openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c +openair1/SIMULATION/ETH_TRANSPORT/defs.h +openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c +openair1/SIMULATION/ETH_TRANSPORT/extern.h +openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c +openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h +openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c +openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c +openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h +openair1/SIMULATION/ETH_TRANSPORT/proto.h +openair1/SIMULATION/ETH_TRANSPORT/README.txt +openair1/SIMULATION/ETH_TRANSPORT/socket.c +openair1/SIMULATION/ETH_TRANSPORT/socket.h +openair1/SIMULATION/ETH_TRANSPORT/vars.h +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls +openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m +openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m +openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m +openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m +openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m +openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m +openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m +openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m +openair1/SIMULATION/LTE_PHY/plotTools/p +openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m +openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt +openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex +openair1/SIMULATION/LTE_PHY/blerSimus.zip +openair1/SIMULATION/LTE_PHY/dlsim.c +openair1/SIMULATION/LTE_PHY/dlsim_tm4.c +openair1/SIMULATION/LTE_PHY/dlsim_tm7.c +openair1/SIMULATION/LTE_PHY/fancyheadings.sty +openair1/SIMULATION/LTE_PHY/framegen.c +openair1/SIMULATION/LTE_PHY/gpib_send.c +openair1/SIMULATION/LTE_PHY/gpib_send.h +openair1/SIMULATION/LTE_PHY/launch_sim.sh +openair1/SIMULATION/LTE_PHY/LTE_Configuration.c +openair1/SIMULATION/LTE_PHY/LTE_Configuration.h +openair1/SIMULATION/LTE_PHY/mat2wv.m +openair1/SIMULATION/LTE_PHY/mbmssim.c +openair1/SIMULATION/LTE_PHY/pbch_awgn.txt +openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt +openair1/SIMULATION/LTE_PHY/pbchsim.c +openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh +openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m +openair1/SIMULATION/LTE_PHY/pdcchsim.c +openair1/SIMULATION/LTE_PHY/prachsim.c +openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h +openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c +openair1/SIMULATION/LTE_PHY/pucchsim.c +openair1/SIMULATION/LTE_PHY/README.txt +openair1/SIMULATION/LTE_PHY/scansim.c +openair1/SIMULATION/LTE_PHY/signalanalyzer.c +openair1/SIMULATION/LTE_PHY/signalanalyzer.h +openair1/SIMULATION/LTE_PHY/syncsim.c +openair1/SIMULATION/LTE_PHY/test.c +openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c +openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h +openair1/SIMULATION/LTE_PHY/ulsim.c +openair1/SIMULATION/LTE_PHY/ulsim2.c +openair1/SIMULATION/LTE_PHY/unitary_defs.h +openair1/SIMULATION/RF/adc.c +openair1/SIMULATION/RF/dac.c +openair1/SIMULATION/RF/defs.h +openair1/SIMULATION/RF/README.txt +openair1/SIMULATION/RF/rf.c +openair1/SIMULATION/TOOLS/abstraction.c +openair1/SIMULATION/TOOLS/ch_desc_proto.c +openair1/SIMULATION/TOOLS/corr_mat.m +openair1/SIMULATION/TOOLS/defs.h +openair1/SIMULATION/TOOLS/gauss.c +openair1/SIMULATION/TOOLS/llr_quantization.c +openair1/SIMULATION/TOOLS/multipath_channel.c +openair1/SIMULATION/TOOLS/multipath_tv_channel.c +openair1/SIMULATION/TOOLS/random_channel.c +openair1/SIMULATION/TOOLS/rangen_double.c +openair1/SIMULATION/TOOLS/scm.m +openair1/SIMULATION/TOOLS/scm_corrmat.h +openair1/SIMULATION/TOOLS/taus.c +openair1/README.TXT +openair2/COMMON/as_message.h +openair2/COMMON/commonDef.h +openair2/COMMON/gtpv1_u_messages_def.h +openair2/COMMON/gtpv1_u_messages_types.h +openair2/COMMON/intertask_interface_conf.h +openair2/COMMON/mac_messages_def.h +openair2/COMMON/mac_messages_types.h +openair2/COMMON/mac_primitives.h +openair2/COMMON/mac_rlc_primitives.h +openair2/COMMON/mac_rrc_primitives.h +openair2/COMMON/messages_def.h +openair2/COMMON/messages_types.h +openair2/COMMON/nas_messages_def.h +openair2/COMMON/nas_messages_types.h +openair2/COMMON/networkDef.h +openair2/COMMON/openair_defs.h +openair2/COMMON/openair_types.h +openair2/COMMON/pdcp_messages_def.h +openair2/COMMON/pdcp_messages_types.h +openair2/COMMON/phy_messages_def.h +openair2/COMMON/phy_messages_types.h +openair2/COMMON/platform_constants.h +openair2/COMMON/platform_types.h +openair2/COMMON/ral_messages_def.h +openair2/COMMON/ral_messages_types.h +openair2/COMMON/rlc_messages_def.h +openair2/COMMON/rlc_messages_types.h +openair2/COMMON/rrc_messages_def.h +openair2/COMMON/rrc_messages_types.h +openair2/COMMON/rrm_config_structs.h +openair2/COMMON/rrm_constants.h +openair2/COMMON/rtos_header.h +openair2/COMMON/s1ap_messages_def.h +openair2/COMMON/s1ap_messages_types.h +openair2/COMMON/sctp_messages_def.h +openair2/COMMON/sctp_messages_types.h +openair2/COMMON/tasks_def.h +openair2/COMMON/udp_messages_def.h +openair2/COMMON/udp_messages_types.h +openair2/COMMON/x2ap_messages_def.h +openair2/COMMON/x2ap_messages_types.h +openair2/DOCS/Documentation/flow.txt +openair2/DOCS/DOXYGEN/images/cellular_topology.doc +openair2/DOCS/DOXYGEN/images/cellular_topology.pdf +openair2/DOCS/DOXYGEN/images/cellular_topology_small.png +openair2/DOCS/DOXYGEN/images/channel server.png +openair2/DOCS/DOXYGEN/images/channel server.vsd +openair2/DOCS/DOXYGEN/images/convolutional.png +openair2/DOCS/DOXYGEN/images/convolutional.vsd +openair2/DOCS/DOXYGEN/images/Diapositive6.JPG +openair2/DOCS/DOXYGEN/images/DLC_arch.png +openair2/DOCS/DOXYGEN/images/Framing.png +openair2/DOCS/DOXYGEN/images/Framing.vsd +openair2/DOCS/DOXYGEN/images/irs_dcf.jpg +openair2/DOCS/DOXYGEN/images/irs_pcf.jpg +openair2/DOCS/DOXYGEN/images/layer2_stack.jpg +openair2/DOCS/DOXYGEN/images/layer2_stack.pdf +openair2/DOCS/DOXYGEN/images/layer2_stack.png +openair2/DOCS/DOXYGEN/images/MAC Services.vsd +openair2/DOCS/DOXYGEN/images/MAC_arch.eps +openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG +openair2/DOCS/DOXYGEN/images/mac_channels.png +openair2/DOCS/DOXYGEN/images/MAC_Measurements.png +openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd +openair2/DOCS/DOXYGEN/images/MAC_Services.eps +openair2/DOCS/DOXYGEN/images/MAC_Services.vsd +openair2/DOCS/DOXYGEN/images/MAC_Services2.eps +openair2/DOCS/DOXYGEN/images/MAC_Services2.png +openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd +openair2/DOCS/DOXYGEN/images/mac_wbs.jpg +openair2/DOCS/DOXYGEN/images/macphynet.eps +openair2/DOCS/DOXYGEN/images/macphynet.png +openair2/DOCS/DOXYGEN/images/mesh_frame.pdf +openair2/DOCS/DOXYGEN/images/mesh_topology.pdf +openair2/DOCS/DOXYGEN/images/mesh_topology_small.png +openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png +openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd +openair2/DOCS/DOXYGEN/images/PHY_arch.eps +openair2/DOCS/DOXYGEN/images/PHY_arch.png +openair2/DOCS/DOXYGEN/images/PHY_arch.vsd +openair2/DOCS/DOXYGEN/images/QAM modulation.png +openair2/DOCS/DOXYGEN/images/QAM modulation.vsd +openair2/DOCS/DOXYGEN/images/QAMmodulation.png +openair2/DOCS/DOXYGEN/images/scrambler.png +openair2/DOCS/DOXYGEN/images/scrambler.vsd +openair2/DOCS/DOXYGEN/images/Transmission.pdf +openair2/DOCS/DOXYGEN/images/Transmission.png +openair2/DOCS/DOXYGEN/images/Transmission.ps +openair2/DOCS/DOXYGEN/images/w3g4f_framing.png +openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd +openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd +openair2/DOCS/DOXYGEN/Doxyfile +openair2/DOCS/TEMPLATES/CODE/images/arch.eps +openair2/DOCS/TEMPLATES/CODE/images/arch.png +openair2/DOCS/TEMPLATES/CODE/Doxyfile +openair2/DOCS/TEMPLATES/CODE/example_doxy.h +openair2/DOCS/TEMPLATES/README/Readme.doxy +openair2/DOCS/TEMPLATES/README/readme.txt +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h +openair2/ENB_APP/MESSAGES/V2/config_common.proto +openair2/ENB_APP/MESSAGES/V2/config_messages.proto +openair2/ENB_APP/MESSAGES/V2/control_delegation.proto +openair2/ENB_APP/MESSAGES/V2/controller_commands.proto +openair2/ENB_APP/MESSAGES/V2/flexran.proto +openair2/ENB_APP/MESSAGES/V2/header.proto +openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto +openair2/ENB_APP/MESSAGES/V2/stats_common.proto +openair2/ENB_APP/MESSAGES/V2/stats_messages.proto +openair2/ENB_APP/MESSAGES/V2/time_common.proto +openair2/ENB_APP/enb_app.c +openair2/ENB_APP/enb_app.h +openair2/ENB_APP/enb_config.c +openair2/ENB_APP/enb_config.h +openair2/ENB_APP/flexran_agent.c +openair2/ENB_APP/flexran_agent.h +openair2/ENB_APP/flexran_agent_async.c +openair2/ENB_APP/flexran_agent_async.h +openair2/ENB_APP/flexran_agent_common.c +openair2/ENB_APP/flexran_agent_common.h +openair2/ENB_APP/flexran_agent_common_internal.c +openair2/ENB_APP/flexran_agent_common_internal.h +openair2/ENB_APP/flexran_agent_defs.h +openair2/ENB_APP/flexran_agent_extern.h +openair2/ENB_APP/flexran_agent_handler.c +openair2/ENB_APP/flexran_agent_net_comm.c +openair2/ENB_APP/flexran_agent_net_comm.h +openair2/ENB_APP/flexran_agent_task_manager.c +openair2/ENB_APP/flexran_agent_task_manager.h +openair2/LAYER2/MAC/config.c +openair2/LAYER2/MAC/defs.h +openair2/LAYER2/MAC/eNB_scheduler.c +openair2/LAYER2/MAC/eNB_scheduler_bch.c +openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +openair2/LAYER2/MAC/eNB_scheduler_mch.c +openair2/LAYER2/MAC/eNB_scheduler_primitives.c +openair2/LAYER2/MAC/eNB_scheduler_RA.c +openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +openair2/LAYER2/MAC/extern.h +openair2/LAYER2/MAC/flexran_agent_mac_proto.h +openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c +openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c +openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c +openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h +openair2/LAYER2/MAC/flexran_dci_conversions.h +openair2/LAYER2/MAC/l1_helpers.c +openair2/LAYER2/MAC/lte_transport_init.c +openair2/LAYER2/MAC/main.c +openair2/LAYER2/MAC/openair2_proc.c +openair2/LAYER2/MAC/pre_processor.c +openair2/LAYER2/MAC/proto.h +openair2/LAYER2/MAC/ra_procedures.c +openair2/LAYER2/MAC/rar_tools.c +openair2/LAYER2/MAC/ue_procedures.c +openair2/LAYER2/MAC/vars.h +openair2/LAYER2/PDCP_v10.1.0/pdcp.c +openair2/LAYER2/PDCP_v10.1.0/pdcp.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h +openair2/LAYER2/RLC/UM_v9.3.0/README +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h +openair2/LAYER2/RLC/mac_primitives.h +openair2/LAYER2/RLC/rlc.c +openair2/LAYER2/RLC/rlc.h +openair2/LAYER2/RLC/rlc_def.h +openair2/LAYER2/RLC/rlc_def_lte.h +openair2/LAYER2/RLC/rlc_mac.c +openair2/LAYER2/RLC/rlc_mpls.c +openair2/LAYER2/RLC/rlc_primitives.h +openair2/LAYER2/RLC/rlc_rrc.c +openair2/LAYER2/openair2_proc.c +openair2/LAYER2/register.c +openair2/LAYER2/register.h +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h +openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest +openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c +openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c +openair2/NAS/DRIVER/CELLULAR/readme.txt +openair2/NAS/DRIVER/CELLULAR/start_mt_cellular +openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_noradvd +openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_radvd +openair2/NAS/DRIVER/CELLULAR/stop_mt_cellular +openair2/NAS/DRIVER/CELLULAR/stop_rg_cellular +openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h +openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c +openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c +openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c +openair2/NETWORK_DRIVER/LITE/classifier.c +openair2/NETWORK_DRIVER/LITE/common.c +openair2/NETWORK_DRIVER/LITE/constant.h +openair2/NETWORK_DRIVER/LITE/device.c +openair2/NETWORK_DRIVER/LITE/ioctl.c +openair2/NETWORK_DRIVER/LITE/ioctl.h +openair2/NETWORK_DRIVER/LITE/local.h +openair2/NETWORK_DRIVER/LITE/netlink.c +openair2/NETWORK_DRIVER/LITE/proto_extern.h +openair2/NETWORK_DRIVER/LITE/sap.h +openair2/NETWORK_DRIVER/LITE/tool.c +openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c +openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c +openair2/NETWORK_DRIVER/MESH/classifier.c +openair2/NETWORK_DRIVER/MESH/common.c +openair2/NETWORK_DRIVER/MESH/constant.h +openair2/NETWORK_DRIVER/MESH/device.c +openair2/NETWORK_DRIVER/MESH/ioctl.c +openair2/NETWORK_DRIVER/MESH/ioctl.h +openair2/NETWORK_DRIVER/MESH/local.h +openair2/NETWORK_DRIVER/MESH/mesh.c +openair2/NETWORK_DRIVER/MESH/netlink.c +openair2/NETWORK_DRIVER/MESH/proto_extern.h +openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h +openair2/NETWORK_DRIVER/MESH/sap.h +openair2/NETWORK_DRIVER/MESH/tool.c +openair2/NETWORK_DRIVER/UE_IP/common.c +openair2/NETWORK_DRIVER/UE_IP/constant.h +openair2/NETWORK_DRIVER/UE_IP/device.c +openair2/NETWORK_DRIVER/UE_IP/local.h +openair2/NETWORK_DRIVER/UE_IP/netlink.c +openair2/NETWORK_DRIVER/UE_IP/proto_extern.h +openair2/NETWORK_DRIVER/UE_IP/README +openair2/NETWORK_DRIVER/UE_IP/sap.h +openair2/PHY_INTERFACE/defs.h +openair2/PHY_INTERFACE/extern.h +openair2/PHY_INTERFACE/IF_Module.c +openair2/PHY_INTERFACE/IF_Module.h +openair2/PHY_INTERFACE/mac_phy_primitives.c +openair2/PHY_INTERFACE/mac_phy_primitives.h +openair2/PHY_INTERFACE/vars.h +openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c +openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-860.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-a20.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-c60.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn +openair2/RRC/LITE/MESSAGES/asn1_msg.c +openair2/RRC/LITE/MESSAGES/asn1_msg.h +openair2/RRC/LITE/MESSAGES/asn1_patch +openair2/RRC/LITE/MESSAGES/README.txt +openair2/RRC/LITE/MESSAGES/rtai_mem.c +openair2/RRC/LITE/MESSAGES/rtai_mem.h +openair2/RRC/LITE/defs.h +openair2/RRC/LITE/extern.h +openair2/RRC/LITE/L2_interface.c +openair2/RRC/LITE/mesh_top.c +openair2/RRC/LITE/plmn_data.h +openair2/RRC/LITE/proto.h +openair2/RRC/LITE/rrc_2_rrm_msg.c +openair2/RRC/LITE/rrc_common.c +openair2/RRC/LITE/rrc_eNB.c +openair2/RRC/LITE/rrc_eNB_GTPV1U.c +openair2/RRC/LITE/rrc_eNB_GTPV1U.h +openair2/RRC/LITE/rrc_eNB_ral.c +openair2/RRC/LITE/rrc_eNB_ral.h +openair2/RRC/LITE/rrc_eNB_S1AP.c +openair2/RRC/LITE/rrc_eNB_S1AP.h +openair2/RRC/LITE/rrc_eNB_UE_context.c +openair2/RRC/LITE/rrc_eNB_UE_context.h +openair2/RRC/LITE/rrc_rrm_interface.c +openair2/RRC/LITE/rrc_rrm_interface.h +openair2/RRC/LITE/rrc_types.h +openair2/RRC/LITE/rrc_UE.c +openair2/RRC/LITE/rrc_UE_ral.c +openair2/RRC/LITE/rrc_UE_ral.h +openair2/RRC/LITE/rrm_2_rrc_msg.c +openair2/RRC/LITE/utils.c +openair2/RRC/LITE/vars.h +openair2/RRC/NAS/nas_config.c +openair2/RRC/NAS/nas_config.h +openair2/RRC/NAS/rb_config.c +openair2/RRC/NAS/rb_config.h +openair2/UTIL/ASYNC_IF/link_manager.c +openair2/UTIL/ASYNC_IF/link_manager.h +openair2/UTIL/ASYNC_IF/message_queue.c +openair2/UTIL/ASYNC_IF/message_queue.h +openair2/UTIL/ASYNC_IF/ringbuffer_queue.c +openair2/UTIL/ASYNC_IF/ringbuffer_queue.h +openair2/UTIL/ASYNC_IF/socket_link.c +openair2/UTIL/ASYNC_IF/socket_link.h +openair2/UTIL/BIGPHYS/bigphys.c +openair2/UTIL/BIGPHYS/defs.h +openair2/UTIL/CLI/cli.c +openair2/UTIL/CLI/cli.h +openair2/UTIL/CLI/cli_cmd.c +openair2/UTIL/CLI/cli_if.h +openair2/UTIL/CLI/cli_server.c +openair2/UTIL/FIFO/pad_list.c +openair2/UTIL/FIFO/pad_list.h +openair2/UTIL/FIFO/types.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c +openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt +openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln +openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln +openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h +openair2/UTIL/LISTS/list.c +openair2/UTIL/LISTS/list.h +openair2/UTIL/LISTS/list2.c +openair2/UTIL/LOG/log.c +openair2/UTIL/LOG/log.h +openair2/UTIL/LOG/log_extern.h +openair2/UTIL/LOG/log_if.h +openair2/UTIL/LOG/README.txt +openair2/UTIL/LOG/vcd_signal_dumper.c +openair2/UTIL/LOG/vcd_signal_dumper.h +openair2/UTIL/MATH/crc_byte.c +openair2/UTIL/MATH/oml.c +openair2/UTIL/MATH/oml.h +openair2/UTIL/MATH/random.c +openair2/UTIL/MATH/random_proto_extern.h +openair2/UTIL/MATH/taus.c +openair2/UTIL/MEM/mem_block.c +openair2/UTIL/MEM/mem_block.h +openair2/UTIL/MEM/mem_mngt.c +openair2/UTIL/MEM/mem_mngt_proto_extern.h +openair2/UTIL/MEM/mem_pool.h +openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml +openair2/UTIL/OCG/temp_output/OCG_report.xml +openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml +openair2/UTIL/OCG/Doxyfile +openair2/UTIL/OCG/eurecom_20110208110244.xml +openair2/UTIL/OCG/OCG.c +openair2/UTIL/OCG/OCG.h +openair2/UTIL/OCG/OCG_call_emu.c +openair2/UTIL/OCG/OCG_call_emu.h +openair2/UTIL/OCG/OCG_config_mobi.c +openair2/UTIL/OCG/OCG_config_mobi.h +openair2/UTIL/OCG/OCG_create_dir.c +openair2/UTIL/OCG/OCG_create_dir.h +openair2/UTIL/OCG/OCG_detect_file.c +openair2/UTIL/OCG/OCG_detect_file.h +openair2/UTIL/OCG/OCG_extern.h +openair2/UTIL/OCG/OCG_generate_report.c +openair2/UTIL/OCG/OCG_generate_report.h +openair2/UTIL/OCG/OCG_get_opt.c +openair2/UTIL/OCG/OCG_get_opt.h +openair2/UTIL/OCG/OCG_if.h +openair2/UTIL/OCG/OCG_parse_filename.c +openair2/UTIL/OCG/OCG_parse_filename.h +openair2/UTIL/OCG/OCG_parse_XML.c +openair2/UTIL/OCG/OCG_parse_XML.h +openair2/UTIL/OCG/OCG_save_XML.c +openair2/UTIL/OCG/OCG_save_XML.h +openair2/UTIL/OCG/OCG_vars.h +openair2/UTIL/OCG/readme.txt +openair2/UTIL/OMG/TRACE/example_trace.tr +openair2/UTIL/OMG/TRACE/handover.tr +openair2/UTIL/OMG/TRACE/handover_1ue.tr +openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr +openair2/UTIL/OMG/TRACE/mobility_2ues.tr +openair2/UTIL/OMG/TRACE/mobility_3ues.tr +openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf +openair2/UTIL/OMG/TRACE/README.TXT +openair2/UTIL/OMG/TRACE/regular.tr +openair2/UTIL/OMG/TRACE/static_1enb.tr +openair2/UTIL/OMG/TRACE/static_2ues.tr +openair2/UTIL/OMG/TRACE/zero_speed.tr +openair2/UTIL/OMG/common.c +openair2/UTIL/OMG/defs.h +openair2/UTIL/OMG/grid.c +openair2/UTIL/OMG/grid.h +openair2/UTIL/OMG/job.c +openair2/UTIL/OMG/mobility.txt +openair2/UTIL/OMG/mobility_parser.c +openair2/UTIL/OMG/mobility_parser.h +openair2/UTIL/OMG/omg.c +openair2/UTIL/OMG/omg.h +openair2/UTIL/OMG/omg_constants.h +openair2/UTIL/OMG/omg_hashtable.c +openair2/UTIL/OMG/omg_hashtable.h +openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf +openair2/UTIL/OMG/omg_vars.h +openair2/UTIL/OMG/README.TXT +openair2/UTIL/OMG/rwalk.c +openair2/UTIL/OMG/rwalk.h +openair2/UTIL/OMG/rwp.c +openair2/UTIL/OMG/rwp.h +openair2/UTIL/OMG/static.c +openair2/UTIL/OMG/static.h +openair2/UTIL/OMG/steadystaterwp.c +openair2/UTIL/OMG/steadystaterwp.h +openair2/UTIL/OMG/trace.c +openair2/UTIL/OMG/trace.h +openair2/UTIL/OMG/trace_hashtable.c +openair2/UTIL/OMG/trace_hashtable.h +openair2/UTIL/OMV/blue.png +openair2/UTIL/OMV/communicationthread.cpp +openair2/UTIL/OMV/communicationthread.h +openair2/UTIL/OMV/green.png +openair2/UTIL/OMV/jpg.jpeg +openair2/UTIL/OMV/mus.png +openair2/UTIL/OMV/mywindow.cpp +openair2/UTIL/OMV/mywindow.h +openair2/UTIL/OMV/new.jpg +openair2/UTIL/OMV/new2.jpg +openair2/UTIL/OMV/omv.cpp +openair2/UTIL/OMV/openglwidget.cpp +openair2/UTIL/OMV/openglwidget.h +openair2/UTIL/OMV/README.txt +openair2/UTIL/OMV/red.png +openair2/UTIL/OMV/structures.h +openair2/UTIL/OMV/white.png +openair2/UTIL/OMV/wow.png +openair2/UTIL/OPT/mac_pcap.h +openair2/UTIL/OPT/opt.h +openair2/UTIL/OPT/packet-mac-lte.h +openair2/UTIL/OPT/probe.c +openair2/UTIL/OPT/README.txt +openair2/UTIL/OPT/vars.h +openair2/UTIL/OSA/osa_defs.h +openair2/UTIL/OSA/osa_internal.h +openair2/UTIL/OSA/osa_key_deriver.c +openair2/UTIL/OSA/osa_rijndael.c +openair2/UTIL/OSA/osa_rijndael.h +openair2/UTIL/OSA/osa_snow3g.c +openair2/UTIL/OSA/osa_snow3g.h +openair2/UTIL/OSA/osa_stream_eea.c +openair2/UTIL/OSA/osa_stream_eia.c +openair2/UTIL/OSA/README +openair2/UTIL/OSD/css/images/false.png +openair2/UTIL/OSD/css/images/false2.png +openair2/UTIL/OSD/css/images/lquote.png +openair2/UTIL/OSD/css/images/true.png +openair2/UTIL/OSD/css/images/warning.png +openair2/UTIL/OSD/css/blueprint.css +openair2/UTIL/OSD/css/fix-ie-rtl.css +openair2/UTIL/OSD/css/fix-ie.css +openair2/UTIL/OSD/css/ie.css +openair2/UTIL/OSD/css/ie6.css +openair2/UTIL/OSD/css/print.css +openair2/UTIL/OSD/css/screen.css +openair2/UTIL/OSD/css/style.css +openair2/UTIL/OSD/jquery/jquery.js +openair2/UTIL/OSD/fake_oaisim +openair2/UTIL/OSD/form.php +openair2/UTIL/OSD/header.php +openair2/UTIL/OSD/httpd-result.conf +openair2/UTIL/OSD/index.php +openair2/UTIL/OSD/OCG.pid +openair2/UTIL/OSD/OpenAirEmu.conf +openair2/UTIL/OSD/Platform_is_running.php +openair2/UTIL/OSD/README.txt +openair2/UTIL/OSD/recep.php +openair2/UTIL/OSD/toto.php +openair2/UTIL/OTG/Doxyfile +openair2/UTIL/OTG/help_OTGplot.txt +openair2/UTIL/OTG/main.c +openair2/UTIL/OTG/otg.c +openair2/UTIL/OTG/otg.h +openair2/UTIL/OTG/otg_config.h +openair2/UTIL/OTG/otg_defs.h +openair2/UTIL/OTG/otg_externs.h +openair2/UTIL/OTG/otg_form.c +openair2/UTIL/OTG/otg_form.h +openair2/UTIL/OTG/otg_kpi.c +openair2/UTIL/OTG/otg_kpi.h +openair2/UTIL/OTG/otg_models.c +openair2/UTIL/OTG/otg_models.h +openair2/UTIL/OTG/otg_rx.c +openair2/UTIL/OTG/otg_rx.h +openair2/UTIL/OTG/otg_rx_socket.c +openair2/UTIL/OTG/otg_rx_socket.h +openair2/UTIL/OTG/otg_tx.c +openair2/UTIL/OTG/otg_tx.h +openair2/UTIL/OTG/otg_tx_socket.c +openair2/UTIL/OTG/otg_tx_socket.h +openair2/UTIL/OTG/otg_vars.h +openair2/UTIL/OTG/OTGplot +openair2/UTIL/OTG/traffic_config.h +openair2/UTIL/TIMER/umts_timer.c +openair2/UTIL/TIMER/umts_timer.h +openair2/UTIL/TIMER/umts_timer_proto_extern.h +openair2/UTIL/TIMER/umts_timer_struct.h +openair2/UTIL/TRACE/fifo_printf.c +openair2/UTIL/TRACE/fifo_printf.h +openair2/UTIL/TRACE/fifo_printf_proto_extern.h +openair2/UTIL/TRACE/print.h +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Definitions.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-CommonDataTypes.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Constants.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Containers.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-IEs.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Contents.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Descriptions.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU.asn +openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py +openair2/X2AP/x2ap.c +openair2/X2AP/x2ap.h +openair2/X2AP/x2ap_common.c +openair2/X2AP/x2ap_common.h +openair3/COMMON/as_message.h +openair3/COMMON/common_types.h +openair3/COMMON/gtpv1_u_messages_def.h +openair3/COMMON/gtpv1_u_messages_types.h +openair3/COMMON/intertask_interface_conf.h +openair3/COMMON/messages_def.h +openair3/COMMON/messages_types.h +openair3/COMMON/nas_messages_def.h +openair3/COMMON/nas_messages_types.h +openair3/COMMON/s1ap_messages_def.h +openair3/COMMON/s1ap_messages_types.h +openair3/COMMON/sctp_messages_def.h +openair3/COMMON/sctp_messages_types.h +openair3/COMMON/security_types.h +openair3/COMMON/tasks_def.h +openair3/COMMON/udp_messages_def.h +openair3/COMMON/udp_messages_types.h +openair3/DOCS/DOXYGEN/Doxyfile.in +openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf +openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex +openair3/DOCS/Latex/EPC/EPC.pdf +openair3/DOCS/Latex/EPC/EPC.tex +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h +openair3/GTPV1-U/nw-gtpv1u/AUTHORS +openair3/GTPV1-U/nw-gtpv1u/ChangeLog +openair3/GTPV1-U/nw-gtpv1u/COPYING +openair3/GTPV1-U/nw-gtpv1u/NEWS +openair3/GTPV1-U/nw-gtpv1u/README +openair3/GTPV1-U/gtpv1u.h +openair3/GTPV1-U/gtpv1u_eNB.c +openair3/GTPV1-U/gtpv1u_eNB_defs.h +openair3/GTPV1-U/gtpv1u_eNB_task.h +openair3/GTPV1-U/gtpv1u_sgw_defs.h +openair3/GTPV1-U/gtpv1u_task.c +openair3/GTPV1-U/gtpv1u_teid_pool.c +openair3/NAS/COMMON/API/NETWORK/as_message.c +openair3/NAS/COMMON/API/NETWORK/as_message.h +openair3/NAS/COMMON/API/NETWORK/l2_message.h +openair3/NAS/COMMON/API/NETWORK/nas_message.c +openair3/NAS/COMMON/API/NETWORK/nas_message.h +openair3/NAS/COMMON/API/NETWORK/network_api.c +openair3/NAS/COMMON/API/NETWORK/network_api.h +openair3/NAS/COMMON/EMM/MSG/AttachAccept.c +openair3/NAS/COMMON/EMM/MSG/AttachAccept.h +openair3/NAS/COMMON/EMM/MSG/AttachComplete.c +openair3/NAS/COMMON/EMM/MSG/AttachComplete.h +openair3/NAS/COMMON/EMM/MSG/AttachReject.c +openair3/NAS/COMMON/EMM/MSG/AttachReject.h +openair3/NAS/COMMON/EMM/MSG/AttachRequest.c +openair3/NAS/COMMON/EMM/MSG/AttachRequest.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h +openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c +openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h +openair3/NAS/COMMON/EMM/MSG/DetachAccept.c +openair3/NAS/COMMON/EMM/MSG/DetachAccept.h +openair3/NAS/COMMON/EMM/MSG/DetachRequest.c +openair3/NAS/COMMON/EMM/MSG/DetachRequest.h +openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c +openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h +openair3/NAS/COMMON/EMM/MSG/emm_cause.h +openair3/NAS/COMMON/EMM/MSG/emm_msg.c +openair3/NAS/COMMON/EMM/MSG/emm_msg.h +openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h +openair3/NAS/COMMON/EMM/MSG/EmmInformation.c +openair3/NAS/COMMON/EMM/MSG/EmmInformation.h +openair3/NAS/COMMON/EMM/MSG/EmmStatus.c +openair3/NAS/COMMON/EMM/MSG/EmmStatus.h +openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c +openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h +openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c +openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h +openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c +openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h +openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c +openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h +openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c +openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h +openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h +openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h +openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c +openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c +openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c +openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h +openair3/NAS/COMMON/EMM/MSG/ServiceReject.c +openair3/NAS/COMMON/EMM/MSG/ServiceReject.h +openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c +openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h +openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c +openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/esm_cause.h +openair3/NAS/COMMON/ESM/MSG/esm_msg.c +openair3/NAS/COMMON/ESM/MSG/esm_msg.h +openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h +openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c +openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h +openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c +openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h +openair3/NAS/COMMON/ESM/MSG/EsmStatus.c +openair3/NAS/COMMON/ESM/MSG/EsmStatus.h +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h +openair3/NAS/COMMON/IES/AccessPointName.c +openair3/NAS/COMMON/IES/AccessPointName.h +openair3/NAS/COMMON/IES/AdditionalUpdateResult.c +openair3/NAS/COMMON/IES/AdditionalUpdateResult.h +openair3/NAS/COMMON/IES/AdditionalUpdateType.c +openair3/NAS/COMMON/IES/AdditionalUpdateType.h +openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c +openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h +openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c +openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h +openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c +openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h +openair3/NAS/COMMON/IES/AuthenticationParameterRand.c +openair3/NAS/COMMON/IES/AuthenticationParameterRand.h +openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c +openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h +openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c +openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h +openair3/NAS/COMMON/IES/Cli.c +openair3/NAS/COMMON/IES/Cli.h +openair3/NAS/COMMON/IES/CsfbResponse.c +openair3/NAS/COMMON/IES/CsfbResponse.h +openair3/NAS/COMMON/IES/DaylightSavingTime.c +openair3/NAS/COMMON/IES/DaylightSavingTime.h +openair3/NAS/COMMON/IES/DetachType.c +openair3/NAS/COMMON/IES/DetachType.h +openair3/NAS/COMMON/IES/DrxParameter.c +openair3/NAS/COMMON/IES/DrxParameter.h +openair3/NAS/COMMON/IES/EmergencyNumberList.c +openair3/NAS/COMMON/IES/EmergencyNumberList.h +openair3/NAS/COMMON/IES/EmmCause.c +openair3/NAS/COMMON/IES/EmmCause.h +openair3/NAS/COMMON/IES/EpsAttachResult.c +openair3/NAS/COMMON/IES/EpsAttachResult.h +openair3/NAS/COMMON/IES/EpsAttachType.c +openair3/NAS/COMMON/IES/EpsAttachType.h +openair3/NAS/COMMON/IES/EpsBearerContextStatus.c +openair3/NAS/COMMON/IES/EpsBearerContextStatus.h +openair3/NAS/COMMON/IES/EpsBearerIdentity.c +openair3/NAS/COMMON/IES/EpsBearerIdentity.h +openair3/NAS/COMMON/IES/EpsMobileIdentity.c +openair3/NAS/COMMON/IES/EpsMobileIdentity.h +openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c +openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h +openair3/NAS/COMMON/IES/EpsQualityOfService.c +openair3/NAS/COMMON/IES/EpsQualityOfService.h +openair3/NAS/COMMON/IES/EpsUpdateResult.c +openair3/NAS/COMMON/IES/EpsUpdateResult.h +openair3/NAS/COMMON/IES/EpsUpdateType.c +openair3/NAS/COMMON/IES/EpsUpdateType.h +openair3/NAS/COMMON/IES/EsmCause.c +openair3/NAS/COMMON/IES/EsmCause.h +openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c +openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h +openair3/NAS/COMMON/IES/EsmMessageContainer.c +openair3/NAS/COMMON/IES/EsmMessageContainer.h +openair3/NAS/COMMON/IES/GprsTimer.c +openair3/NAS/COMMON/IES/GprsTimer.h +openair3/NAS/COMMON/IES/GutiType.c +openair3/NAS/COMMON/IES/GutiType.h +openair3/NAS/COMMON/IES/IdentityType2.c +openair3/NAS/COMMON/IES/IdentityType2.h +openair3/NAS/COMMON/IES/ImeisvRequest.c +openair3/NAS/COMMON/IES/ImeisvRequest.h +openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c +openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h +openair3/NAS/COMMON/IES/LcsClientIdentity.c +openair3/NAS/COMMON/IES/LcsClientIdentity.h +openair3/NAS/COMMON/IES/LcsIndicator.c +openair3/NAS/COMMON/IES/LcsIndicator.h +openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c +openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h +openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c +openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h +openair3/NAS/COMMON/IES/LocationAreaIdentification.c +openair3/NAS/COMMON/IES/LocationAreaIdentification.h +openair3/NAS/COMMON/IES/MessageType.c +openair3/NAS/COMMON/IES/MessageType.h +openair3/NAS/COMMON/IES/MobileIdentity.c +openair3/NAS/COMMON/IES/MobileIdentity.h +openair3/NAS/COMMON/IES/MobileStationClassmark2.c +openair3/NAS/COMMON/IES/MobileStationClassmark2.h +openair3/NAS/COMMON/IES/MobileStationClassmark3.c +openair3/NAS/COMMON/IES/MobileStationClassmark3.h +openair3/NAS/COMMON/IES/MsNetworkCapability.c +openair3/NAS/COMMON/IES/MsNetworkCapability.h +openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c +openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h +openair3/NAS/COMMON/IES/NasKeySetIdentifier.c +openair3/NAS/COMMON/IES/NasKeySetIdentifier.h +openair3/NAS/COMMON/IES/NasMessageContainer.c +openair3/NAS/COMMON/IES/NasMessageContainer.h +openair3/NAS/COMMON/IES/NasRequestType.c +openair3/NAS/COMMON/IES/NasRequestType.h +openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c +openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h +openair3/NAS/COMMON/IES/NetworkName.c +openair3/NAS/COMMON/IES/NetworkName.h +openair3/NAS/COMMON/IES/Nonce.c +openair3/NAS/COMMON/IES/Nonce.h +openair3/NAS/COMMON/IES/PacketFlowIdentifier.c +openair3/NAS/COMMON/IES/PacketFlowIdentifier.h +openair3/NAS/COMMON/IES/PagingIdentity.c +openair3/NAS/COMMON/IES/PagingIdentity.h +openair3/NAS/COMMON/IES/PdnAddress.c +openair3/NAS/COMMON/IES/PdnAddress.h +openair3/NAS/COMMON/IES/PdnType.c +openair3/NAS/COMMON/IES/PdnType.h +openair3/NAS/COMMON/IES/PlmnList.c +openair3/NAS/COMMON/IES/PlmnList.h +openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c +openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h +openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c +openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h +openair3/NAS/COMMON/IES/ProtocolDiscriminator.c +openair3/NAS/COMMON/IES/ProtocolDiscriminator.h +openair3/NAS/COMMON/IES/PTmsiSignature.c +openair3/NAS/COMMON/IES/PTmsiSignature.h +openair3/NAS/COMMON/IES/QualityOfService.c +openair3/NAS/COMMON/IES/QualityOfService.h +openair3/NAS/COMMON/IES/RadioPriority.c +openair3/NAS/COMMON/IES/RadioPriority.h +openair3/NAS/COMMON/IES/SecurityHeaderType.c +openair3/NAS/COMMON/IES/SecurityHeaderType.h +openair3/NAS/COMMON/IES/ServiceType.c +openair3/NAS/COMMON/IES/ServiceType.h +openair3/NAS/COMMON/IES/ShortMac.c +openair3/NAS/COMMON/IES/ShortMac.h +openair3/NAS/COMMON/IES/SsCode.c +openair3/NAS/COMMON/IES/SsCode.h +openair3/NAS/COMMON/IES/SupportedCodecList.c +openair3/NAS/COMMON/IES/SupportedCodecList.h +openair3/NAS/COMMON/IES/TimeZone.c +openair3/NAS/COMMON/IES/TimeZone.h +openair3/NAS/COMMON/IES/TimeZoneAndTime.c +openair3/NAS/COMMON/IES/TimeZoneAndTime.h +openair3/NAS/COMMON/IES/TmsiStatus.c +openair3/NAS/COMMON/IES/TmsiStatus.h +openair3/NAS/COMMON/IES/TrackingAreaIdentity.c +openair3/NAS/COMMON/IES/TrackingAreaIdentity.h +openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c +openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h +openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c +openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h +openair3/NAS/COMMON/IES/TrafficFlowTemplate.c +openair3/NAS/COMMON/IES/TrafficFlowTemplate.h +openair3/NAS/COMMON/IES/TransactionIdentifier.c +openair3/NAS/COMMON/IES/TransactionIdentifier.h +openair3/NAS/COMMON/IES/UeNetworkCapability.c +openair3/NAS/COMMON/IES/UeNetworkCapability.h +openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c +openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h +openair3/NAS/COMMON/IES/UeSecurityCapability.c +openair3/NAS/COMMON/IES/UeSecurityCapability.h +openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c +openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h +openair3/NAS/COMMON/UTIL/tst/timer.c +openair3/NAS/COMMON/UTIL/tst/timer_debug.txt +openair3/NAS/COMMON/UTIL/device.c +openair3/NAS/COMMON/UTIL/device.h +openair3/NAS/COMMON/UTIL/memory.c +openair3/NAS/COMMON/UTIL/memory.h +openair3/NAS/COMMON/UTIL/nas_log.c +openair3/NAS/COMMON/UTIL/nas_log.h +openair3/NAS/COMMON/UTIL/nas_timer.c +openair3/NAS/COMMON/UTIL/nas_timer.h +openair3/NAS/COMMON/UTIL/OctetString.c +openair3/NAS/COMMON/UTIL/OctetString.h +openair3/NAS/COMMON/UTIL/parser.c +openair3/NAS/COMMON/UTIL/parser.h +openair3/NAS/COMMON/UTIL/socket.c +openair3/NAS/COMMON/UTIL/socket.h +openair3/NAS/COMMON/UTIL/stty.c +openair3/NAS/COMMON/UTIL/TLVDecoder.c +openair3/NAS/COMMON/UTIL/TLVDecoder.h +openair3/NAS/COMMON/UTIL/TLVEncoder.c +openair3/NAS/COMMON/UTIL/TLVEncoder.h +openair3/NAS/COMMON/commonDef.h +openair3/NAS/COMMON/networkDef.h +openair3/NAS/COMMON/securityDef.h +openair3/NAS/COMMON/userDef.h +openair3/NAS/TEST/AS_SIMULATOR/as_data.c +openair3/NAS/TEST/AS_SIMULATOR/as_data.h +openair3/NAS/TEST/AS_SIMULATOR/as_process.c +openair3/NAS/TEST/AS_SIMULATOR/as_process.h +openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c +openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c +openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h +openair3/NAS/TEST/AS_SIMULATOR/nas_data.c +openair3/NAS/TEST/AS_SIMULATOR/nas_data.h +openair3/NAS/TEST/AS_SIMULATOR/nas_process.c +openair3/NAS/TEST/AS_SIMULATOR/nas_process.h +openair3/NAS/TEST/MSC/ActivatePDN.png +openair3/NAS/TEST/MSC/AuthenticationReject.png +openair3/NAS/TEST/MSC/DeactivatePDN.png +openair3/NAS/TEST/MSC/InitialAttach.png +openair3/NAS/TEST/MSC/InitialAttachReject.png +openair3/NAS/TEST/MSC/msc_gen.py +openair3/NAS/TEST/MSC/NomalDetach.png +openair3/NAS/TEST/MSC/README +openair3/NAS/TEST/MSC/SwitchOffDetach.png +openair3/NAS/TEST/NETWORK/network_parser.c +openair3/NAS/TEST/NETWORK/network_parser.h +openair3/NAS/TEST/NETWORK/network_simulator.c +openair3/NAS/TEST/NETWORK/README +openair3/NAS/TEST/USER/user_parser.c +openair3/NAS/TEST/USER/user_parser.h +openair3/NAS/TEST/USER/user_simulator.c +openair3/NAS/TOOLS/conf2uedata.c +openair3/NAS/TOOLS/conf2uedata.h +openair3/NAS/TOOLS/conf_emm.c +openair3/NAS/TOOLS/conf_emm.h +openair3/NAS/TOOLS/conf_network.c +openair3/NAS/TOOLS/conf_network.h +openair3/NAS/TOOLS/conf_parser.c +openair3/NAS/TOOLS/conf_parser.h +openair3/NAS/TOOLS/conf_user_data.c +openair3/NAS/TOOLS/conf_user_data.h +openair3/NAS/TOOLS/conf_user_plmn.c +openair3/NAS/TOOLS/conf_user_plmn.h +openair3/NAS/TOOLS/conf_usim.c +openair3/NAS/TOOLS/conf_usim.h +openair3/NAS/TOOLS/display.c +openair3/NAS/TOOLS/display.h +openair3/NAS/TOOLS/fs.c +openair3/NAS/TOOLS/fs.h +openair3/NAS/TOOLS/network.h +openair3/NAS/TOOLS/nvram.c +openair3/NAS/TOOLS/ue_bcom_test.conf +openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf +openair3/NAS/TOOLS/ue_tcl_test.conf +openair3/NAS/TOOLS/usim.c +openair3/NAS/UE/API/USER/tst/at_parser.c +openair3/NAS/UE/API/USER/tst/at_parser.in +openair3/NAS/UE/API/USER/tst/at_parser.in.bis +openair3/NAS/UE/API/USER/tst/at_parser.out +openair3/NAS/UE/API/USER/tst/at_parser.out.bis +openair3/NAS/UE/API/USER/tst/smartcom.txt +openair3/NAS/UE/API/USER/at_command.c +openair3/NAS/UE/API/USER/at_command.h +openair3/NAS/UE/API/USER/at_error.c +openair3/NAS/UE/API/USER/at_error.h +openair3/NAS/UE/API/USER/at_response.c +openair3/NAS/UE/API/USER/at_response.h +openair3/NAS/UE/API/USER/user_api.c +openair3/NAS/UE/API/USER/user_api.h +openair3/NAS/UE/API/USER/user_api_defs.h +openair3/NAS/UE/API/USER/user_indication.c +openair3/NAS/UE/API/USER/user_indication.h +openair3/NAS/UE/API/USIM/aka_functions.c +openair3/NAS/UE/API/USIM/aka_functions.h +openair3/NAS/UE/API/USIM/usim_api.c +openair3/NAS/UE/API/USIM/usim_api.h +openair3/NAS/UE/EMM/SAP/emm_as.c +openair3/NAS/UE/EMM/SAP/emm_as.h +openair3/NAS/UE/EMM/SAP/emm_asDef.h +openair3/NAS/UE/EMM/SAP/emm_esm.c +openair3/NAS/UE/EMM/SAP/emm_esm.h +openair3/NAS/UE/EMM/SAP/emm_esmDef.h +openair3/NAS/UE/EMM/SAP/emm_fsm.c +openair3/NAS/UE/EMM/SAP/emm_fsm.h +openair3/NAS/UE/EMM/SAP/emm_recv.c +openair3/NAS/UE/EMM/SAP/emm_recv.h +openair3/NAS/UE/EMM/SAP/emm_reg.c +openair3/NAS/UE/EMM/SAP/emm_reg.h +openair3/NAS/UE/EMM/SAP/emm_regDef.h +openair3/NAS/UE/EMM/SAP/emm_sap.c +openair3/NAS/UE/EMM/SAP/emm_sap.h +openair3/NAS/UE/EMM/SAP/emm_send.c +openair3/NAS/UE/EMM/SAP/emm_send.h +openair3/NAS/UE/EMM/SAP/EmmDeregistered.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c +openair3/NAS/UE/EMM/SAP/EmmNull.c +openair3/NAS/UE/EMM/SAP/EmmRegistered.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c +openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c +openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c +openair3/NAS/UE/EMM/Attach.c +openair3/NAS/UE/EMM/Authentication.c +openair3/NAS/UE/EMM/Authentication.h +openair3/NAS/UE/EMM/Detach.c +openair3/NAS/UE/EMM/emm_fsm_defs.h +openair3/NAS/UE/EMM/emm_main.c +openair3/NAS/UE/EMM/emm_main.h +openair3/NAS/UE/EMM/emm_proc.h +openair3/NAS/UE/EMM/emm_proc_defs.h +openair3/NAS/UE/EMM/emm_timers.h +openair3/NAS/UE/EMM/emmData.h +openair3/NAS/UE/EMM/EmmStatusHdl.c +openair3/NAS/UE/EMM/Identification.c +openair3/NAS/UE/EMM/IdleMode.c +openair3/NAS/UE/EMM/IdleMode.h +openair3/NAS/UE/EMM/IdleMode_defs.h +openair3/NAS/UE/EMM/LowerLayer.c +openair3/NAS/UE/EMM/LowerLayer.h +openair3/NAS/UE/EMM/LowerLayer_defs.h +openair3/NAS/UE/EMM/SecurityModeControl.c +openair3/NAS/UE/EMM/SecurityModeControl.h +openair3/NAS/UE/EMM/ServiceRequestHdl.c +openair3/NAS/UE/EMM/TrackingAreaUpdate.c +openair3/NAS/UE/ESM/SAP/esm_recv.c +openair3/NAS/UE/ESM/SAP/esm_recv.h +openair3/NAS/UE/ESM/SAP/esm_sap.c +openair3/NAS/UE/ESM/SAP/esm_sap.h +openair3/NAS/UE/ESM/SAP/esm_sapDef.h +openair3/NAS/UE/ESM/SAP/esm_send.c +openair3/NAS/UE/ESM/SAP/esm_send.h +openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c +openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c +openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c +openair3/NAS/UE/ESM/esm_ebr.c +openair3/NAS/UE/ESM/esm_ebr.h +openair3/NAS/UE/ESM/esm_ebr_context.c +openair3/NAS/UE/ESM/esm_ebr_context.h +openair3/NAS/UE/ESM/esm_ip.c +openair3/NAS/UE/ESM/esm_main.c +openair3/NAS/UE/ESM/esm_main.h +openair3/NAS/UE/ESM/esm_proc.h +openair3/NAS/UE/ESM/esm_pt.c +openair3/NAS/UE/ESM/esm_pt.h +openair3/NAS/UE/ESM/esm_pt_defs.h +openair3/NAS/UE/ESM/esmData.h +openair3/NAS/UE/ESM/EsmStatusHdl.c +openair3/NAS/UE/ESM/PdnConnectivity.c +openair3/NAS/UE/ESM/PdnDisconnect.c +openair3/NAS/UE/nas_itti_messaging.c +openair3/NAS/UE/nas_itti_messaging.h +openair3/NAS/UE/nas_network.c +openair3/NAS/UE/nas_network.h +openair3/NAS/UE/nas_parser.c +openair3/NAS/UE/nas_parser.h +openair3/NAS/UE/nas_proc.c +openair3/NAS/UE/nas_proc.h +openair3/NAS/UE/nas_proc_defs.h +openair3/NAS/UE/nas_ue_task.c +openair3/NAS/UE/nas_ue_task.h +openair3/NAS/UE/nas_user.c +openair3/NAS/UE/nas_user.h +openair3/NAS/UE/UEprocess.c +openair3/NAS/UE/user_defs.h +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn +openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py +openair3/S1AP/MESSAGES/ASN1/README +openair3/S1AP/s1ap_common.c +openair3/S1AP/s1ap_common.h +openair3/S1AP/s1ap_eNB.c +openair3/S1AP/s1ap_eNB.h +openair3/S1AP/s1ap_eNB_context_management_procedures.c +openair3/S1AP/s1ap_eNB_context_management_procedures.h +openair3/S1AP/s1ap_eNB_decoder.c +openair3/S1AP/s1ap_eNB_decoder.h +openair3/S1AP/s1ap_eNB_default_values.h +openair3/S1AP/s1ap_eNB_defs.h +openair3/S1AP/s1ap_eNB_encoder.c +openair3/S1AP/s1ap_eNB_encoder.h +openair3/S1AP/s1ap_eNB_handlers.c +openair3/S1AP/s1ap_eNB_handlers.h +openair3/S1AP/s1ap_eNB_itti_messaging.c +openair3/S1AP/s1ap_eNB_itti_messaging.h +openair3/S1AP/s1ap_eNB_management_procedures.c +openair3/S1AP/s1ap_eNB_management_procedures.h +openair3/S1AP/s1ap_eNB_nas_procedures.c +openair3/S1AP/s1ap_eNB_nas_procedures.h +openair3/S1AP/s1ap_eNB_nnsf.c +openair3/S1AP/s1ap_eNB_nnsf.h +openair3/S1AP/s1ap_eNB_overload.c +openair3/S1AP/s1ap_eNB_overload.h +openair3/S1AP/s1ap_eNB_trace.c +openair3/S1AP/s1ap_eNB_trace.h +openair3/S1AP/s1ap_eNB_ue_context.c +openair3/S1AP/s1ap_eNB_ue_context.h +openair3/SCTP/sctp_common.c +openair3/SCTP/sctp_common.h +openair3/SCTP/sctp_default_values.h +openair3/SCTP/sctp_eNB_defs.h +openair3/SCTP/sctp_eNB_itti_messaging.c +openair3/SCTP/sctp_eNB_itti_messaging.h +openair3/SCTP/sctp_eNB_task.c +openair3/SCTP/sctp_eNB_task.h +openair3/SCTP/sctp_primitives_client.c +openair3/SCTP/sctp_primitives_client.h +openair3/SECU/kdf.c +openair3/SECU/key_nas_deriver.c +openair3/SECU/key_nas_encryption.c +openair3/SECU/nas_stream_eea1.c +openair3/SECU/nas_stream_eea2.c +openair3/SECU/nas_stream_eia1.c +openair3/SECU/nas_stream_eia2.c +openair3/SECU/rijndael.c +openair3/SECU/rijndael.h +openair3/SECU/secu_defs.h +openair3/SECU/snow3g.c +openair3/SECU/snow3g.h +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml +openair3/TEST/EPC_TEST/generate_scenario.c +openair3/TEST/EPC_TEST/generate_scenario.h +openair3/TEST/EPC_TEST/play_scenario.c +openair3/TEST/EPC_TEST/play_scenario.h +openair3/TEST/EPC_TEST/play_scenario_decode.c +openair3/TEST/EPC_TEST/play_scenario_display.c +openair3/TEST/EPC_TEST/play_scenario_fsm.c +openair3/TEST/EPC_TEST/play_scenario_parse.c +openair3/TEST/EPC_TEST/play_scenario_s1ap.c +openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c +openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h +openair3/TEST/EPC_TEST/play_scenario_sctp.c +openair3/TEST/oaisim_mme_client_test.c +openair3/TEST/oaisim_mme_itti_test.c +openair3/TEST/oaisim_mme_list_benchmark.c +openair3/TEST/oaisim_mme_s1ap_test.c +openair3/TEST/oaisim_mme_sctp_test.c +openair3/TEST/oaisim_mme_test_s1c.c +openair3/TEST/oaisim_mme_test_s1c.h +openair3/TEST/oaisim_mme_test_s1c_s1ap.c +openair3/TEST/oaisim_mme_test_s1c_s1ap.h +openair3/TEST/oaisim_mme_test_s1c_scenario.c +openair3/TEST/oaisim_mme_test_s1c_scenario.h +openair3/TEST/oaisim_mme_test_s1c_scenario1.c +openair3/TEST/test_aes128_cmac_encrypt.c +openair3/TEST/test_aes128_ctr_decrypt.c +openair3/TEST/test_aes128_ctr_encrypt.c +openair3/TEST/test_kdf.c +openair3/TEST/test_s1ap.c +openair3/TEST/test_secu.c +openair3/TEST/test_secu_kenb.c +openair3/TEST/test_secu_knas.c +openair3/TEST/test_secu_knas_encrypt_eea1.c +openair3/TEST/test_secu_knas_encrypt_eea2.c +openair3/TEST/test_secu_knas_encrypt_eia1.c +openair3/TEST/test_secu_knas_encrypt_eia2.c +openair3/TEST/test_secu_knas_stream_int.c +openair3/UDP/udp_eNB_task.c +openair3/UDP/udp_eNB_task.h +openair3/UTILS/CONF/COPYING +openair3/UTILS/conversions.c +openair3/UTILS/conversions.h +openair3/UTILS/enum_string.c +openair3/UTILS/enum_string.h +openair3/UTILS/log.c +openair3/UTILS/log.h +openair3/UTILS/mcc_mnc_itu.c +openair3/UTILS/mcc_mnc_itu.h +openair3/UTILS/mme_config.c +openair3/UTILS/mme_config.h +openair3/UTILS/mme_default_values.h +openair3/UTILS/mme_parser.y +openair3/UTILS/mme_scanner.l +openair3/UTILS/queue.h +openair3/UTILS/tree.h +openair3/valgrind.sh +svn2git/authors.txt +svn2git/authors_original.txt +svn2git/authors_original_java_output.txt +svn2git/check_diff_author.sh +svn2git/git-author-rewrite.sh +svn2git/README.txt +targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c +targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h +targets/ARCH/COMMON/common_lib.c +targets/ARCH/COMMON/common_lib.h +targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c +targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c +targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c +targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h +targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk +targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd +targets/ARCH/EXMIMO/BITSTREAM/program_fpga +targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd +targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd +targets/ARCH/EXMIMO/DEFS/openair_device.h +targets/ARCH/EXMIMO/DEFS/pcie_interface.h +targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h +targets/ARCH/EXMIMO/DRIVER/eurecom/do_reenumerate_expressmimo.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/do_reinsert_driver.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c +targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h +targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c +targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c +targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c +targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reenumerate_expressmimo.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reinsert_driver.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/test_script.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c +targets/ARCH/EXMIMO/DRIVER/readme.txt +targets/ARCH/EXMIMO/USERSPACE/LIB/example.c +targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c +targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h +targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c +targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo1 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m +targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp +targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp +targets/ARCH/LMSSDR/LimeSDR.ini +targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini +targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini +targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini +targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini +targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +targets/bin/liboai_device.so +targets/bin/liboai_usrpdevif.so.Rel14 +targets/bin/lte-softmodem.Rel14 +targets/COMMON/create_tasks.c +targets/COMMON/create_tasks.h +targets/COMMON/openairinterface5g_limits.h +targets/COMMON/threads_t.h +targets/DOCS/images/oai_logo.png +targets/DOCS/api_icic.xml +targets/DOCS/Doxyfile +targets/DOCS/E-UTRAN_User_Guide.docx +targets/DOCS/E-UTRAN_User_Guide.pdf +targets/DOCS/oai_L1_L2_procedures.pdf +targets/DOCS/oaiemu.doc +targets/DOCS/oaisim_walkthrough.pdf +targets/DOCS/openair_header.tex +targets/DOCS/path_loss_oaisim.xlsx +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf +targets/PROJECTS/E-MBMS/build_all.bash +targets/PROJECTS/E-MBMS/enb.conf +targets/PROJECTS/E-MBMS/start_enb.bash +targets/PROJECTS/E-MBMS/start_ue.bash +targets/PROJECTS/E-MBMS/utils.bash +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.centos.nord.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.pft.memphis.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.epc_eur.local.exmimo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml +targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash +targets/PROJECTS/GENERIC-LTE-EPC/networks.bash +targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash +targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash +targets/PROJECTS/GENERIC-LTE-EPC/utils.bash +targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash +targets/PROJECTS/LOCALIZATION/filesave0811.mat +targets/PROJECTS/LOCALIZATION/generation.m +targets/PROJECTS/LOCALIZATION/initial_sync.m +targets/PROJECTS/LOCALIZATION/initparams.m +targets/PROJECTS/LOCALIZATION/plots.m +targets/PROJECTS/LOCALIZATION/recup.m +targets/PROJECTS/LOCALIZATION/where2.m +targets/PROJECTS/LOCALIZATION/where2_v1_final.mat +targets/PROJECTS/LOCALIZATION/where2_vf.m +targets/PROJECTS/TDDREC/v0/alterproj.m +targets/PROJECTS/TDDREC/v0/beamforming.m +targets/PROJECTS/TDDREC/v0/calibration.m +targets/PROJECTS/TDDREC/v0/genorthqpskseq.m +targets/PROJECTS/TDDREC/v0/genrandpskseq.m +targets/PROJECTS/TDDREC/v0/initparams.m +targets/PROJECTS/TDDREC/v0/initparams2.m +targets/PROJECTS/TDDREC/v0/ofdm_mod.m +targets/PROJECTS/TDDREC/v0/readme.txt +targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m +targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m +targets/PROJECTS/TDDREC/v0/runmeas_mimo.m +targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m +targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m +targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m +targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m +targets/PROJECTS/TDDREC/f_ch_est.m +targets/PROJECTS/TDDREC/f_ofdm_mod.m +targets/PROJECTS/TDDREC/f_ofdm_rx.m +targets/PROJECTS/TDDREC/f_ofdm_tx.m +targets/PROJECTS/TDDREC/f_tls_ap.m +targets/PROJECTS/TDDREC/f_tls_diag.m +targets/PROJECTS/TDDREC/f_tls_svd.m +targets/PROJECTS/TDDREC/s_beamforming.m +targets/PROJECTS/TDDREC/s_calib.m +targets/PROJECTS/TDDREC/s_draw_F.m +targets/PROJECTS/TDDREC/s_init_params.m +targets/PROJECTS/TDDREC/s_run_meas.m +targets/RT/LAUNCH_SCRIPTS/load_module.sh +targets/RT/LAUNCH_SCRIPTS/nas_enb.sh +targets/RT/LAUNCH_SCRIPTS/nas_ue.sh +targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh +targets/RT/LAUNCH_SCRIPTS/start_emos.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh +targets/RT/LAUNCH_SCRIPTS/start_rf.sh +targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh +targets/RT/LAUNCH_SCRIPTS/start_ue.sh +targets/RT/LAUNCH_SCRIPTS/start_ue2.sh +targets/RT/LAUNCH_SCRIPTS/stop_rf.sh +targets/RT/USER/TOOLS/thread_ipc.c +targets/RT/USER/TOOLS/thread_ipc.h +targets/RT/USER/condtest.c +targets/RT/USER/emos-raw.c +targets/RT/USER/eNB_exmimo2.gtkw +targets/RT/USER/eNB_transport_IQ.c +targets/RT/USER/eNB_usrp.gtkw +targets/RT/USER/exmimo2_2arxg.lime +targets/RT/USER/exmimo2_2brxg.lime +targets/RT/USER/init_b200.sh +targets/RT/USER/init_exmimo.sh +targets/RT/USER/init_exmimo2.sh +targets/RT/USER/init_rtai.sh +targets/RT/USER/lte-enb.c +targets/RT/USER/lte-ran.c +targets/RT/USER/lte-ru.c +targets/RT/USER/lte-softmodem.c +targets/RT/USER/lte-softmodem.h +targets/RT/USER/lte-ue.c +targets/RT/USER/make_for_usrp.sh +targets/RT/USER/msg_helper.c +targets/RT/USER/msg_many.c +targets/RT/USER/msg_many.h +targets/RT/USER/rau_if4_single_thread.gtkw +targets/RT/USER/rcc_if4.gtkw +targets/RT/USER/rcc_if5.gtkw +targets/RT/USER/rrh.c +targets/RT/USER/rrh.gtkw +targets/RT/USER/rrh_gw.c +targets/RT/USER/rrh_gw.h +targets/RT/USER/rrh_gw_externs.h +targets/RT/USER/rru_if4p5_single_thread.gtkw +targets/RT/USER/rru_if4p5_usrp.gtkw +targets/RT/USER/rru_if5_usrp.gtkw +targets/RT/USER/rt_wrapper.c +targets/RT/USER/rt_wrapper.h +targets/RT/USER/sleeptest.c +targets/RT/USER/stats.c +targets/RT/USER/stats.fd +targets/RT/USER/stats.h +targets/RT/USER/synctest.c +targets/RT/USER/ue_exmimo2.gtkw +targets/RT/USER/UE_transport_IQ.c +targets/RT/USER/ue_usrp.gtkw +targets/SCRIPTS/asn1_generate_rrc_messaging_c_code.bash +targets/SCRIPTS/install_asn1.sh +targets/SCRIPTS/install_asn1c_0.9.24.modified.bash +targets/SCRIPTS/msc_gen.py +targets/SCRIPTS/svn-merge-meld.py +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_ue +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/AT_serial_bouchon.py +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb_v2 +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue_cx2android +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue1 +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue2 +targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_26.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml +targets/SIMU/EXAMPLES/OSD/README.txt +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_multi_UE_nas +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_two_UE_PHY_nas +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB_OAI_LITE/start_one_eNB_multi_UE_nas +targets/SIMU/PROC/SCRIPT/Run.py +targets/SIMU/PROC/channel_sim_proc.c +targets/SIMU/PROC/channel_sim_proc.h +targets/SIMU/PROC/interface.h +targets/SIMU/PROC/Process.c +targets/SIMU/PROC/Process.h +targets/SIMU/PROC/Tsync.h +targets/SIMU/USER/files/MI_16qam.csv +targets/SIMU/USER/files/MI_16qam.txt +targets/SIMU/USER/files/MI_4qam.csv +targets/SIMU/USER/files/MI_4qam.txt +targets/SIMU/USER/files/MI_64qam.csv +targets/SIMU/USER/files/MI_64qam.txt +targets/SIMU/USER/channel_sim.c +targets/SIMU/USER/cor_SF_sim.c +targets/SIMU/USER/cor_SF_sim.h +targets/SIMU/USER/event_handler.c +targets/SIMU/USER/event_handler.h +targets/SIMU/USER/init_lte.c +targets/SIMU/USER/init_lte.h +targets/SIMU/USER/oaisim.c +targets/SIMU/USER/oaisim.h +targets/SIMU/USER/oaisim_config.c +targets/SIMU/USER/oaisim_config.h +targets/SIMU/USER/oaisim_functions.c +targets/SIMU/USER/oaisim_functions.h +targets/SIMU/USER/oaisim_pad.c +targets/SIMU/USER/phy_procedures_sim_form.c +targets/SIMU/USER/phy_procedures_sim_form.fd +targets/SIMU/USER/phy_procedures_sim_form.h +targets/SIMU/USER/plot_results.m +targets/SIMU/USER/sinr_sim.c +targets/SIMU/USER/threadpool.c +targets/SIMU/USER/threadpool.h +targets/SIMU/USER/valgrind.sh +targets/TEST/AT_COMMANDS/oaisim.c +targets/TEST/OAI/case01.py +targets/TEST/OAI/case02.py +targets/TEST/OAI/case03.py +targets/TEST/OAI/case04.py +targets/TEST/OAI/case05.py +targets/TEST/OAI/case11.py +targets/TEST/OAI/case12.py +targets/TEST/OAI/case13.py +targets/TEST/OAI/core.py +targets/TEST/OAI/log.py +targets/TEST/OAI/openair.py +targets/TEST/OAI/README +targets/TEST/OAI/test01.py +targets/TEST/OAI/test02.py +targets/TEST/PACKET_TRACER/messages/Msg4.txt +targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt +targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt +targets/TEST/PACKET_TRACER/messages/sib1.txt +targets/TEST/PACKET_TRACER/messages/sib2.txt +targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt +targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt +targets/TEST/PACKET_TRACER/messages/sib3.txt +targets/TEST/PACKET_TRACER/pt.c +targets/TEST/PACKET_TRACER/README.txt +targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt +targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c +targets/TEST/PDCP/readme.txt +targets/TEST/PDCP/test_pdcp.c +targets/TEST/PDCP/test_pdcp.h +targets/TEST/PDCP/test_util.h +targets/TEST/PDCP/todo.txt +targets/TEST/RLC_AM_V9.3.0/oaisim.c +targets/TEST/RLC_UM_V9.3.0/oaisim.c +targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp +targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp +targets/TEST/ROHDE_SCHWARZ/TcpClient.h +targets/build_helper.bash +targets/build_oai.bash +targets/itti_vcd_tasks.sav +targets/Makerules +targets/perf_oai.bash +targets/README.txt +LICENSE +maketags +NOTICE.txt +oaienv +pre-commit +README.txt \ No newline at end of file diff --git a/ray_enb_dev.includes b/ray_enb_dev.includes new file mode 100644 index 0000000000..ff1452acfd --- /dev/null +++ b/ray_enb_dev.includes @@ -0,0 +1,144 @@ +cmake_targets/lte_build_oai/build/CMakeFiles +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5 +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2 +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14 +common +common/utils +common/utils/collection +common/utils/hashtable +common/utils/itti +common/utils/itti_analyzer/common +common/utils/itti_analyzer/libbuffers +common/utils/itti_analyzer/libparser +common/utils/itti_analyzer/libresolver +common/utils/itti_analyzer/libui +common/utils/msc +common/utils/T +common/utils/T/tracer +common/utils/T/tracer/filter +common/utils/T/tracer/gui +common/utils/T/tracer/logger +common/utils/T/tracer/view +openair1/PHY +openair1/PHY/CODING +openair1/PHY/INIT +openair1/PHY/LTE_ESTIMATION +openair1/PHY/LTE_REFSIG +openair1/PHY/LTE_TRANSPORT +openair1/PHY/MODULATION +openair1/PHY/TOOLS +openair1/SCHED +openair1/SIMULATION/ETH_TRANSPORT +openair1/SIMULATION/LTE_PHY +openair1/SIMULATION/RF +openair1/SIMULATION/TOOLS +openair2/COMMON +openair2/DOCS/TEMPLATES/CODE +openair2/ENB_APP +openair2/ENB_APP/CONTROL_MODULES/MAC +openair2/LAYER2 +openair2/LAYER2/MAC +openair2/LAYER2/PDCP_v10.1.0 +openair2/LAYER2/RLC +openair2/LAYER2/RLC/AM_v9.3.0 +openair2/LAYER2/RLC/TM_v9.3.0 +openair2/LAYER2/RLC/UM_v9.3.0 +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL +openair2/NAS/DRIVER/CELLULAR/NASMT +openair2/NAS/DRIVER/CELLULAR/NASRG +openair2/NAS/SIMU_CELLULAR +openair2/NETWORK_DRIVER/LITE +openair2/NETWORK_DRIVER/MESH +openair2/NETWORK_DRIVER/UE_IP +openair2/PHY_INTERFACE +openair2/RRC/L2_INTERFACE +openair2/RRC/LITE +openair2/RRC/LITE/MESSAGES +openair2/RRC/NAS +openair2/UTIL/ASYNC_IF +openair2/UTIL/BIGPHYS +openair2/UTIL/CLI +openair2/UTIL/FIFO +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack +openair2/UTIL/LFDS/liblfds6.1.1/test/src +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700 +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack +openair2/UTIL/LFDS/liblfds7.0.0/test/src +openair2/UTIL/LISTS +openair2/UTIL/LOG +openair2/UTIL/MATH +openair2/UTIL/MEM +openair2/UTIL/OCG +openair2/UTIL/OMG +openair2/UTIL/OMV +openair2/UTIL/OPT +openair2/UTIL/OSA +openair2/UTIL/OTG +openair2/UTIL/TIMER +openair2/UTIL/TRACE +openair2/X2AP +openair3/COMMON +openair3/GTPV1-U +openair3/GTPV1-U/nw-gtpv1u/include +openair3/GTPV1-U/nw-gtpv1u/shared +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld +openair3/NAS/COMMON +openair3/NAS/COMMON/API/NETWORK +openair3/NAS/COMMON/EMM/MSG +openair3/NAS/COMMON/ESM/MSG +openair3/NAS/COMMON/IES +openair3/NAS/COMMON/UTIL +openair3/NAS/TEST/AS_SIMULATOR +openair3/NAS/TEST/NETWORK +openair3/NAS/TEST/USER +openair3/NAS/TOOLS +openair3/NAS/UE +openair3/NAS/UE/API/USER +openair3/NAS/UE/API/USIM +openair3/NAS/UE/EMM +openair3/NAS/UE/EMM/SAP +openair3/NAS/UE/ESM +openair3/NAS/UE/ESM/SAP +openair3/S1AP +openair3/SCTP +openair3/SECU +openair3/TEST +openair3/TEST/EPC_TEST +openair3/UDP +openair3/UTILS +targets/ARCH/BLADERF/USERSPACE/LIB +targets/ARCH/COMMON +targets/ARCH/ETHERNET/USERSPACE/LIB +targets/ARCH/EXMIMO/DEFS +targets/ARCH/EXMIMO/DRIVER/eurecom +targets/ARCH/EXMIMO/DRIVER/exmimo3 +targets/ARCH/EXMIMO/DRIVER/telecomparistech +targets/ARCH/EXMIMO/USERSPACE/LIB +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT +targets/ARCH/EXMIMO/USERSPACE/OCTAVE +targets/COMMON +targets/RT/USER +targets/RT/USER/TOOLS +targets/SIMU/PROC +targets/SIMU/USER +targets/TEST/PDCP +targets/TEST/ROHDE_SCHWARZ \ No newline at end of file From 0cc55ce97ae31716d2694af941a1c2bda2fe35d6 Mon Sep 17 00:00:00 2001 From: khalid Date: Wed, 9 Aug 2017 16:48:55 +0200 Subject: [PATCH 011/109] Delete ray_enb_dev.config --- ray_enb_dev.config | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 ray_enb_dev.config diff --git a/ray_enb_dev.config b/ray_enb_dev.config deleted file mode 100644 index e0284f4257..0000000000 --- a/ray_enb_dev.config +++ /dev/null @@ -1,2 +0,0 @@ -// Add predefined macros for your project here. For example: -// #define THE_ANSWER 42 From e9ba8c20ed5439b9ec7e1a2c406fcf2acfa90dc6 Mon Sep 17 00:00:00 2001 From: khalid Date: Wed, 9 Aug 2017 16:49:18 +0200 Subject: [PATCH 012/109] Delete ray_enb_dev.creator --- ray_enb_dev.creator | 1 - 1 file changed, 1 deletion(-) delete mode 100644 ray_enb_dev.creator diff --git a/ray_enb_dev.creator b/ray_enb_dev.creator deleted file mode 100644 index e94cbbd302..0000000000 --- a/ray_enb_dev.creator +++ /dev/null @@ -1 +0,0 @@ -[General] From ec6874e1ef3360488be052877fca9edb3077c744 Mon Sep 17 00:00:00 2001 From: khalid Date: Wed, 9 Aug 2017 16:49:33 +0200 Subject: [PATCH 013/109] Delete ray_enb_dev.files --- ray_enb_dev.files | 7811 --------------------------------------------- 1 file changed, 7811 deletions(-) delete mode 100644 ray_enb_dev.files diff --git a/ray_enb_dev.files b/ray_enb_dev.files deleted file mode 100644 index 434bed8ab5..0000000000 --- a/ray_enb_dev.files +++ /dev/null @@ -1,7811 +0,0 @@ -cmake_targets/at_commands/CMakeLists.txt -cmake_targets/autotests/templates/index.html -cmake_targets/autotests/templates/testcase_report.html -cmake_targets/autotests/tools/autotest_analyser.py -cmake_targets/autotests/tools/configure_cots_bandrich_ue.py -cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py -cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py -cmake_targets/autotests/tools/configure_usrpb210.py -cmake_targets/autotests/tools/find_usb_path.bash -cmake_targets/autotests/tools/free_mem.bash -cmake_targets/autotests/tools/git-retry.sh -cmake_targets/autotests/tools/iperf3_script -cmake_targets/autotests/tools/iperf3_script_phone -cmake_targets/autotests/tools/iperf_script -cmake_targets/autotests/tools/iperf_script_phone -cmake_targets/autotests/tools/lib_autotest.py -cmake_targets/autotests/tools/lib_autotest_analyser.py -cmake_targets/autotests/tools/remove_old_programs.bash -cmake_targets/autotests/tools/run_gdb -cmake_targets/autotests/tools/search_repl.py -cmake_targets/autotests/tools/wdial.bandrich.conf -cmake_targets/autotests/v2/actions/alu_epc.bash -cmake_targets/autotests/v2/actions/alu_epc_stop.bash -cmake_targets/autotests/v2/actions/alu_hss.bash -cmake_targets/autotests/v2/actions/bandrich.txt -cmake_targets/autotests/v2/actions/client_tcp.bash -cmake_targets/autotests/v2/actions/client_udp.bash -cmake_targets/autotests/v2/actions/clone_repository.bash -cmake_targets/autotests/v2/actions/compilation.bash -cmake_targets/autotests/v2/actions/execution.bash -cmake_targets/autotests/v2/actions/execution_compile.bash -cmake_targets/autotests/v2/actions/modem.py -cmake_targets/autotests/v2/actions/run_enb.bash -cmake_targets/autotests/v2/actions/server_tcp.bash -cmake_targets/autotests/v2/actions/server_udp.bash -cmake_targets/autotests/v2/actions/start_3276.bash -cmake_targets/autotests/v2/actions/start_3276.py -cmake_targets/autotests/v2/actions/start_bandrich.bash -cmake_targets/autotests/v2/actions/start_bandrich.py -cmake_targets/autotests/v2/actions/stop_3276.py -cmake_targets/autotests/v2/actions/stop_bandrich.py -cmake_targets/autotests/v2/actions/wvdial.3276.conf -cmake_targets/autotests/v2/actions/wvdial.bandrich.conf -cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf -cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf -cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf -cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf -cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf -cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf -cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf -cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf -cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf -cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf -cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf -cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf -cmake_targets/autotests/v2/alu_test.py -cmake_targets/autotests/v2/connection.py -cmake_targets/autotests/v2/machine_list.py -cmake_targets/autotests/v2/main.py -cmake_targets/autotests/v2/task.py -cmake_targets/autotests/v2/utils.py -cmake_targets/autotests/core.py -cmake_targets/autotests/log.py -cmake_targets/autotests/openair.py -cmake_targets/autotests/README.txt -cmake_targets/autotests/run_compilation_autotests.bash -cmake_targets/autotests/run_exec_autotests.bash -cmake_targets/autotests/run_exec_lte-softmodem_tests.py -cmake_targets/autotests/test_case_list.xml -cmake_targets/autotests/testsuite_ue_noS1.xml -cmake_targets/autotests/testsuite_ue_noS1_TCL.xml -cmake_targets/doxygen/CMakeLists.txt -cmake_targets/epc_test/CMakeLists.template -cmake_targets/log/lte-softmodem.Rel14.txt -cmake_targets/log/oai_usrpdevif.Rel14.txt -cmake_targets/lte-simulators/CMakeLists.txt -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/CXX.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn1_constants.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_application.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_internal.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_system.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/converter-sample.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_compare.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_ies_defs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_xer_print.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn1_constants.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_application.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_internal.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_system.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/converter-sample.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_ies_defs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_xer_print.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn1_constants.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_application.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_internal.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_system.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/converter-sample.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/cmake.check_cache -cmake_targets/lte_build_oai/build/CMakeFiles/CMakeDirectoryInformation.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CMakeOutput.log -cmake_targets/lte_build_oai/build/CMakeFiles/CMakeRuleHashes.txt -cmake_targets/lte_build_oai/build/CMakeFiles/messages.xml -cmake_targets/lte_build_oai/build/CMakeFiles/messages_xml.h -cmake_targets/lte_build_oai/build/CMakeFiles/progress.marks -cmake_targets/lte_build_oai/build/CMakeFiles/TargetDirectories.txt -cmake_targets/lte_build_oai/build/cmake_install.cmake -cmake_targets/lte_build_oai/build/CMakeCache.txt -cmake_targets/lte_build_oai/build/libGTPV1U.a -cmake_targets/lte_build_oai/build/libHASHTABLE.a -cmake_targets/lte_build_oai/build/libITTI.a -cmake_targets/lte_build_oai/build/libL2.a -cmake_targets/lte_build_oai/build/libLFDS.a -cmake_targets/lte_build_oai/build/libLFDS7.a -cmake_targets/lte_build_oai/build/libLIB_NAS_UE.a -cmake_targets/lte_build_oai/build/liboai_device.so -cmake_targets/lte_build_oai/build/liboai_usrpdevif.so -cmake_targets/lte_build_oai/build/libPHY.a -cmake_targets/lte_build_oai/build/libRRC_LIB.a -cmake_targets/lte_build_oai/build/libS1AP_ENB.a -cmake_targets/lte_build_oai/build/libS1AP_LIB.a -cmake_targets/lte_build_oai/build/libSCHED_LIB.a -cmake_targets/lte_build_oai/build/libSCTP_CLIENT.a -cmake_targets/lte_build_oai/build/libSECU_CN.a -cmake_targets/lte_build_oai/build/libSECU_OSA.a -cmake_targets/lte_build_oai/build/libUDP.a -cmake_targets/lte_build_oai/build/libUTIL.a -cmake_targets/lte_build_oai/build/lte-softmodem -cmake_targets/lte_build_oai/CMakeLists.txt -cmake_targets/lte_noS1_build_oai/CMakeLists.template -cmake_targets/nas_sim_tools/CMakeLists.txt -cmake_targets/oaisim_build_oai/CMakeLists.template -cmake_targets/oaisim_mme_build_oai/CMakeLists.template -cmake_targets/oaisim_noS1_build_oai/CMakeLists.template -cmake_targets/s1c_mme_test/CMakeLists.template -cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff -cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff -cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff -cmake_targets/tools/MODULES/cmake_useful.cmake -cmake_targets/tools/MODULES/CMakeParseArguments.cmake -cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake -cmake_targets/tools/MODULES/CMakeUserUseBison.cmake -cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake -cmake_targets/tools/MODULES/FindFreeDiameter.cmake -cmake_targets/tools/MODULES/FindGCCXML.cmake -cmake_targets/tools/MODULES/FindGcrypt.cmake -cmake_targets/tools/MODULES/FindGnuTLS.cmake -cmake_targets/tools/MODULES/FindKbuild.cmake -cmake_targets/tools/MODULES/FindLibXml2.cmake -cmake_targets/tools/MODULES/FindMySQL.cmake -cmake_targets/tools/MODULES/FindNettle.cmake -cmake_targets/tools/MODULES/FindPostgreSQL.cmake -cmake_targets/tools/MODULES/FindSCTP.cmake -cmake_targets/tools/MODULES/Kbuild.cmake -cmake_targets/tools/MODULES/kbuild_system.cmake -cmake_targets/tools/MODULES/kmodule.cmake -cmake_targets/tools/MODULES/path_prefixes.cmake -cmake_targets/tools/asn1tostruct.py -cmake_targets/tools/build_helper -cmake_targets/tools/build_test_epc_tools -cmake_targets/tools/example_enb_exmimo_mme_hss.txt -cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt -cmake_targets/tools/exmimo2_2arxg.lime -cmake_targets/tools/exmimo2_2brxg.lime -cmake_targets/tools/exmimo_stop_octave.m -cmake_targets/tools/fix_asn1 -cmake_targets/tools/generate_asn1 -cmake_targets/tools/generate_protobuf -cmake_targets/tools/indent_source_code -cmake_targets/tools/init_exmimo2 -cmake_targets/tools/init_nas_nos1 -cmake_targets/tools/init_nas_s1 -cmake_targets/tools/Kbuild.cmake -cmake_targets/tools/make_agent_cache -cmake_targets/tools/mem_usage -cmake_targets/tools/perf_oai.bash -cmake_targets/tools/run_enb_s1_exmimo -cmake_targets/tools/run_enb_s1_usrp -cmake_targets/tools/run_enb_ue_virt_noS1 -cmake_targets/tools/run_enb_ue_virt_s1 -cmake_targets/tools/run_ue_s1 -cmake_targets/tools/start_bladerf.py -cmake_targets/tools/stop_exmimo2 -cmake_targets/tools/test_helper -cmake_targets/build_oai -cmake_targets/build_ue -cmake_targets/CMakeLists.txt -cmake_targets/snap_environment.sh -common/utils/collection/queue.h -common/utils/collection/tree.h -common/utils/hashtable/hashtable.c -common/utils/hashtable/hashtable.h -common/utils/hashtable/obj_hashtable.c -common/utils/hashtable/obj_hashtable.h -common/utils/itti/assertions.h -common/utils/itti/backtrace.c -common/utils/itti/backtrace.h -common/utils/itti/intertask_interface.c -common/utils/itti/intertask_interface.h -common/utils/itti/intertask_interface_dump.c -common/utils/itti/intertask_interface_dump.h -common/utils/itti/intertask_interface_init.h -common/utils/itti/intertask_interface_types.h -common/utils/itti/intertask_messages_def.h -common/utils/itti/intertask_messages_types.h -common/utils/itti/itti_types.h -common/utils/itti/memory_pools.c -common/utils/itti/memory_pools.h -common/utils/itti/messages_def.h -common/utils/itti/messages_types.h -common/utils/itti/signals.c -common/utils/itti/signals.h -common/utils/itti/tasks_def.h -common/utils/itti/timer.c -common/utils/itti/timer.h -common/utils/itti/timer_messages_def.h -common/utils/itti/timer_messages_types.h -common/utils/itti_analyzer/common/itti_types.h -common/utils/itti_analyzer/common/logs.h -common/utils/itti_analyzer/common/queue.h -common/utils/itti_analyzer/common/rc.h -common/utils/itti_analyzer/libbuffers/buffers.c -common/utils/itti_analyzer/libbuffers/buffers.h -common/utils/itti_analyzer/libbuffers/file.c -common/utils/itti_analyzer/libbuffers/file.h -common/utils/itti_analyzer/libbuffers/socket.c -common/utils/itti_analyzer/libbuffers/socket.h -common/utils/itti_analyzer/libparser/array_type.c -common/utils/itti_analyzer/libparser/array_type.h -common/utils/itti_analyzer/libparser/enum_type.c -common/utils/itti_analyzer/libparser/enum_type.h -common/utils/itti_analyzer/libparser/enum_value_type.c -common/utils/itti_analyzer/libparser/enum_value_type.h -common/utils/itti_analyzer/libparser/field_type.c -common/utils/itti_analyzer/libparser/field_type.h -common/utils/itti_analyzer/libparser/file_type.c -common/utils/itti_analyzer/libparser/file_type.h -common/utils/itti_analyzer/libparser/fundamental_type.c -common/utils/itti_analyzer/libparser/fundamental_type.h -common/utils/itti_analyzer/libparser/intertask_contexts.h -common/utils/itti_analyzer/libparser/pointer_type.c -common/utils/itti_analyzer/libparser/pointer_type.h -common/utils/itti_analyzer/libparser/reference_type.c -common/utils/itti_analyzer/libparser/reference_type.h -common/utils/itti_analyzer/libparser/struct_type.c -common/utils/itti_analyzer/libparser/struct_type.h -common/utils/itti_analyzer/libparser/typedef_type.c -common/utils/itti_analyzer/libparser/typedef_type.h -common/utils/itti_analyzer/libparser/types.c -common/utils/itti_analyzer/libparser/types.h -common/utils/itti_analyzer/libparser/union_type.c -common/utils/itti_analyzer/libparser/union_type.h -common/utils/itti_analyzer/libparser/xml_parse.c -common/utils/itti_analyzer/libparser/xml_parse.h -common/utils/itti_analyzer/libresolver/locate_root.c -common/utils/itti_analyzer/libresolver/locate_root.h -common/utils/itti_analyzer/libresolver/resolvers.c -common/utils/itti_analyzer/libresolver/resolvers.h -common/utils/itti_analyzer/libui/ui_callbacks.c -common/utils/itti_analyzer/libui/ui_callbacks.h -common/utils/itti_analyzer/libui/ui_filters.c -common/utils/itti_analyzer/libui/ui_filters.h -common/utils/itti_analyzer/libui/ui_interface.c -common/utils/itti_analyzer/libui/ui_interface.h -common/utils/itti_analyzer/libui/ui_main_screen.c -common/utils/itti_analyzer/libui/ui_main_screen.h -common/utils/itti_analyzer/libui/ui_menu_bar.c -common/utils/itti_analyzer/libui/ui_menu_bar.h -common/utils/itti_analyzer/libui/ui_notebook.c -common/utils/itti_analyzer/libui/ui_notebook.h -common/utils/itti_analyzer/libui/ui_notif_dlg.c -common/utils/itti_analyzer/libui/ui_notif_dlg.h -common/utils/itti_analyzer/libui/ui_notifications.c -common/utils/itti_analyzer/libui/ui_notifications.h -common/utils/itti_analyzer/libui/ui_signal_dissect_view.c -common/utils/itti_analyzer/libui/ui_signal_dissect_view.h -common/utils/itti_analyzer/libui/ui_tree_view.c -common/utils/itti_analyzer/libui/ui_tree_view.h -common/utils/itti_analyzer/AUTHORS -common/utils/itti_analyzer/autogen.sh -common/utils/itti_analyzer/ChangeLog -common/utils/itti_analyzer/configure.ac -common/utils/itti_analyzer/filters.xml -common/utils/itti_analyzer/filters_mme.xml -common/utils/itti_analyzer/filters_ue_enb.xml -common/utils/itti_analyzer/INSTALL -common/utils/itti_analyzer/itti_analyzer.c -common/utils/itti_analyzer/NEWS -common/utils/itti_analyzer/README -common/utils/msc/msc.c -common/utils/msc/msc.h -common/utils/T/tracee/README -common/utils/T/tracee/tracee.c -common/utils/T/tracer/filter/filter.c -common/utils/T/tracer/filter/filter.h -common/utils/T/tracer/gui/container.c -common/utils/T/tracer/gui/event.c -common/utils/T/tracer/gui/gui.c -common/utils/T/tracer/gui/gui.h -common/utils/T/tracer/gui/gui_defs.h -common/utils/T/tracer/gui/image.c -common/utils/T/tracer/gui/init.c -common/utils/T/tracer/gui/label.c -common/utils/T/tracer/gui/loop.c -common/utils/T/tracer/gui/notify.c -common/utils/T/tracer/gui/positioner.c -common/utils/T/tracer/gui/space.c -common/utils/T/tracer/gui/test.c -common/utils/T/tracer/gui/textarea.c -common/utils/T/tracer/gui/textlist.c -common/utils/T/tracer/gui/timeline.c -common/utils/T/tracer/gui/toplevel_window.c -common/utils/T/tracer/gui/widget.c -common/utils/T/tracer/gui/x.c -common/utils/T/tracer/gui/x.h -common/utils/T/tracer/gui/x_defs.h -common/utils/T/tracer/gui/xy_plot.c -common/utils/T/tracer/hacks/dump_nack_signal.c -common/utils/T/tracer/hacks/time_meas.c -common/utils/T/tracer/hacks/timeplot.c -common/utils/T/tracer/logger/framelog.c -common/utils/T/tracer/logger/iqdotlog.c -common/utils/T/tracer/logger/iqlog.c -common/utils/T/tracer/logger/logger.c -common/utils/T/tracer/logger/logger.h -common/utils/T/tracer/logger/logger_defs.h -common/utils/T/tracer/logger/textlog.c -common/utils/T/tracer/logger/throughputlog.c -common/utils/T/tracer/logger/ticked_ttilog.c -common/utils/T/tracer/logger/ticklog.c -common/utils/T/tracer/logger/timelog.c -common/utils/T/tracer/logger/ttilog.c -common/utils/T/tracer/view/scrolltti.c -common/utils/T/tracer/view/stdout.c -common/utils/T/tracer/view/textlist.c -common/utils/T/tracer/view/ticktime.c -common/utils/T/tracer/view/time.c -common/utils/T/tracer/view/tti.c -common/utils/T/tracer/view/view.h -common/utils/T/tracer/view/xy.c -common/utils/T/tracer/config.c -common/utils/T/tracer/config.h -common/utils/T/tracer/database.c -common/utils/T/tracer/database.h -common/utils/T/tracer/defs.h -common/utils/T/tracer/enb.c -common/utils/T/tracer/event.c -common/utils/T/tracer/event.h -common/utils/T/tracer/event_selector.c -common/utils/T/tracer/event_selector.h -common/utils/T/tracer/extract_config.c -common/utils/T/tracer/gui.c -common/utils/T/tracer/handler.c -common/utils/T/tracer/handler.h -common/utils/T/tracer/macpdu2wireshark.c -common/utils/T/tracer/openair_logo.h -common/utils/T/tracer/openair_logo.png -common/utils/T/tracer/packet-mac-lte.h -common/utils/T/tracer/plot.c -common/utils/T/tracer/record.c -common/utils/T/tracer/replay.c -common/utils/T/tracer/textlog.c -common/utils/T/tracer/ue.c -common/utils/T/tracer/utils.c -common/utils/T/tracer/utils.h -common/utils/T/tracer/vcd.c -common/utils/T/defs.h -common/utils/T/generate_Txx.c -common/utils/T/genids.c -common/utils/T/local_tracer.c -common/utils/T/plot.c -common/utils/T/README -common/utils/T/T.c -common/utils/T/T.h -common/utils/T/T_defs.h -common/utils/T/T_messages.txt -common/utils/asn1_conversions.h -common/utils/assertions.h -common/utils/system.c -common/utils/system.h -common/utils/time_utils.h -common/utils/utils.c -common/utils/utils.h -common/ran_context.h -openair1/PHY/CODING/TESTBENCH/ltetest.c -openair1/PHY/CODING/TESTBENCH/pdcch_test.c -openair1/PHY/CODING/TESTBENCH/README.txt -openair1/PHY/CODING/TESTBENCH/viterbi_test.c -openair1/PHY/CODING/3gpplte.c -openair1/PHY/CODING/3gpplte_sse.c -openair1/PHY/CODING/3gpplte_turbo_decoder.c -openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c -openair1/PHY/CODING/ccoding_byte.c -openair1/PHY/CODING/ccoding_byte_lte.c -openair1/PHY/CODING/crc_byte.c -openair1/PHY/CODING/defs.h -openair1/PHY/CODING/extern.h -openair1/PHY/CODING/extern_3GPPinterleaver.h -openair1/PHY/CODING/lte_interleaver.h -openair1/PHY/CODING/lte_interleaver2.h -openair1/PHY/CODING/lte_interleaver_inline.h -openair1/PHY/CODING/lte_rate_matching.c -openair1/PHY/CODING/lte_segmentation.c -openair1/PHY/CODING/lte_tf.m -openair1/PHY/CODING/README.txt -openair1/PHY/CODING/scrambler.h -openair1/PHY/CODING/vars.h -openair1/PHY/CODING/viterbi.c -openair1/PHY/CODING/viterbi_lte.c -openair1/PHY/INIT/defs.h -openair1/PHY/INIT/extern.h -openair1/PHY/INIT/init_top.c -openair1/PHY/INIT/lte_init.c -openair1/PHY/INIT/lte_param_init.c -openair1/PHY/INIT/lte_parms.c -openair1/PHY/INIT/README.txt -openair1/PHY/INIT/vars.h -openair1/PHY/LTE_ESTIMATION/adjust_gain.c -openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m -openair1/PHY/LTE_ESTIMATION/defs.h -openair1/PHY/LTE_ESTIMATION/extern.h -openair1/PHY/LTE_ESTIMATION/filt16_32.h -openair1/PHY/LTE_ESTIMATION/filt96_32.h -openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m -openair1/PHY/LTE_ESTIMATION/freq_equalization.c -openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c -openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c -openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c -openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c -openair1/PHY/LTE_ESTIMATION/lte_sync_time.c -openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c -openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m -openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c -openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/pss6144.h -openair1/PHY/LTE_ESTIMATION/README.txt -openair1/PHY/LTE_ESTIMATION/vars.h -openair1/PHY/LTE_REFSIG/defs.h -openair1/PHY/LTE_REFSIG/gen_mod_table.m -openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c -openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c -openair1/PHY/LTE_REFSIG/lte_dl_uespec.c -openair1/PHY/LTE_REFSIG/lte_gold.c -openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c -openair1/PHY/LTE_REFSIG/lte_ul.m -openair1/PHY/LTE_REFSIG/lte_ul_ref.c -openair1/PHY/LTE_REFSIG/mod_table.h -openair1/PHY/LTE_REFSIG/primary_synch.h -openair1/PHY/LTE_REFSIG/primary_synch.m -openair1/PHY/LTE_REFSIG/README.txt -openair1/PHY/LTE_TRANSPORT/dci.c -openair1/PHY/LTE_TRANSPORT/dci.h -openair1/PHY/LTE_TRANSPORT/dci_tools.c -openair1/PHY/LTE_TRANSPORT/defs.h -openair1/PHY/LTE_TRANSPORT/dlsch_coding.c -openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c -openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c -openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c -openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c -openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c -openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c -openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h -openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h -openair1/PHY/LTE_TRANSPORT/drs_modulation.c -openair1/PHY/LTE_TRANSPORT/extern.h -openair1/PHY/LTE_TRANSPORT/group_hopping.c -openair1/PHY/LTE_TRANSPORT/if4_tools.c -openair1/PHY/LTE_TRANSPORT/if4_tools.h -openair1/PHY/LTE_TRANSPORT/if5_tools.c -openair1/PHY/LTE_TRANSPORT/if5_tools.h -openair1/PHY/LTE_TRANSPORT/initial_sync.c -openair1/PHY/LTE_TRANSPORT/lte_mcs.c -openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h -openair1/PHY/LTE_TRANSPORT/mdci.h -openair1/PHY/LTE_TRANSPORT/pbch.c -openair1/PHY/LTE_TRANSPORT/pcfich.c -openair1/PHY/LTE_TRANSPORT/pch.c -openair1/PHY/LTE_TRANSPORT/phich.c -openair1/PHY/LTE_TRANSPORT/pilots.c -openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c -openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c -openair1/PHY/LTE_TRANSPORT/pmch.c -openair1/PHY/LTE_TRANSPORT/power_control.c -openair1/PHY/LTE_TRANSPORT/prach.c -openair1/PHY/LTE_TRANSPORT/prach.h -openair1/PHY/LTE_TRANSPORT/print_stats.c -openair1/PHY/LTE_TRANSPORT/proto.h -openair1/PHY/LTE_TRANSPORT/pss.c -openair1/PHY/LTE_TRANSPORT/pucch.c -openair1/PHY/LTE_TRANSPORT/rar_tools.c -openair1/PHY/LTE_TRANSPORT/README.txt -openair1/PHY/LTE_TRANSPORT/srs_modulation.c -openair1/PHY/LTE_TRANSPORT/sss.c -openair1/PHY/LTE_TRANSPORT/sss.h -openair1/PHY/LTE_TRANSPORT/sss_gen.m -openair1/PHY/LTE_TRANSPORT/uci.h -openair1/PHY/LTE_TRANSPORT/uci_tools.c -openair1/PHY/LTE_TRANSPORT/ulsch_coding.c -openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c -openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c -openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c -openair1/PHY/LTE_TRANSPORT/vars.h -openair1/PHY/LTE_TRANSPORT/vrb_maps.m -openair1/PHY/MODULATION/beamforming.c -openair1/PHY/MODULATION/compute_bf_weights.c -openair1/PHY/MODULATION/defs.h -openair1/PHY/MODULATION/extern.h -openair1/PHY/MODULATION/gen_7_5_kHz.m -openair1/PHY/MODULATION/kHz_7_5.h -openair1/PHY/MODULATION/ofdm_mod.c -openair1/PHY/MODULATION/prach625Hz.h -openair1/PHY/MODULATION/slot_fep.c -openair1/PHY/MODULATION/slot_fep_mbsfn.c -openair1/PHY/MODULATION/slot_fep_ul.c -openair1/PHY/MODULATION/ul_7_5_kHz.c -openair1/PHY/MODULATION/vars.h -openair1/PHY/TOOLS/8bit_rxdemux.c -openair1/PHY/TOOLS/8bit_txmux.c -openair1/PHY/TOOLS/alaw_lut.h -openair1/PHY/TOOLS/angle.c -openair1/PHY/TOOLS/cadd_sv.c -openair1/PHY/TOOLS/cadd_vv.c -openair1/PHY/TOOLS/cdot_prod.c -openair1/PHY/TOOLS/cmult_sv.c -openair1/PHY/TOOLS/cmult_vv.c -openair1/PHY/TOOLS/costable.h -openair1/PHY/TOOLS/dB_routines.c -openair1/PHY/TOOLS/dB_routines.h -openair1/PHY/TOOLS/defs.h -openair1/PHY/TOOLS/extern.h -openair1/PHY/TOOLS/file_output.c -openair1/PHY/TOOLS/invSqrt.c -openair1/PHY/TOOLS/log2_approx.c -openair1/PHY/TOOLS/lte_dfts.c -openair1/PHY/TOOLS/lte_phy_scope.c -openair1/PHY/TOOLS/lte_phy_scope.h -openair1/PHY/TOOLS/lte_phy_scope_tm4.c -openair1/PHY/TOOLS/lut.c -openair1/PHY/TOOLS/memory_routines.c -openair1/PHY/TOOLS/read_F.c -openair1/PHY/TOOLS/signal_energy.c -openair1/PHY/TOOLS/smbv.c -openair1/PHY/TOOLS/smbv.h -openair1/PHY/TOOLS/sqrt.c -openair1/PHY/TOOLS/time_meas.c -openair1/PHY/TOOLS/time_meas.h -openair1/PHY/TOOLS/twiddle12288.h -openair1/PHY/TOOLS/twiddle1536.h -openair1/PHY/TOOLS/twiddle18432.h -openair1/PHY/TOOLS/twiddle24576.h -openair1/PHY/TOOLS/twiddle6144.h -openair1/PHY/TOOLS/twiddles4096.h -openair1/PHY/TOOLS/twiddles8192.h -openair1/PHY/TOOLS/vars.h -openair1/PHY/defs.h -openair1/PHY/extern.h -openair1/PHY/impl_defs_lte.h -openair1/PHY/impl_defs_top.h -openair1/PHY/sse_intrin.h -openair1/PHY/types.h -openair1/PHY/vars.h -openair1/SCHED/defs.h -openair1/SCHED/extern.h -openair1/SCHED/phy_mac_stub.c -openair1/SCHED/phy_procedures_emos.h -openair1/SCHED/phy_procedures_lte_common.c -openair1/SCHED/phy_procedures_lte_eNb.c -openair1/SCHED/phy_procedures_lte_ue.c -openair1/SCHED/pucch_pc.c -openair1/SCHED/pusch_pc.c -openair1/SCHED/rt_compat.h -openair1/SCHED/ru_procedures.c -openair1/SCHED/srs_pc.c -openair1/SCHED/vars.h -openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c -openair1/SIMULATION/ETH_TRANSPORT/defs.h -openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c -openair1/SIMULATION/ETH_TRANSPORT/extern.h -openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c -openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h -openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c -openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c -openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h -openair1/SIMULATION/ETH_TRANSPORT/proto.h -openair1/SIMULATION/ETH_TRANSPORT/README.txt -openair1/SIMULATION/ETH_TRANSPORT/socket.c -openair1/SIMULATION/ETH_TRANSPORT/socket.h -openair1/SIMULATION/ETH_TRANSPORT/vars.h -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls -openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m -openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m -openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m -openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m -openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m -openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m -openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m -openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m -openair1/SIMULATION/LTE_PHY/plotTools/p -openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m -openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt -openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex -openair1/SIMULATION/LTE_PHY/blerSimus.zip -openair1/SIMULATION/LTE_PHY/dlsim.c -openair1/SIMULATION/LTE_PHY/dlsim_tm4.c -openair1/SIMULATION/LTE_PHY/dlsim_tm7.c -openair1/SIMULATION/LTE_PHY/fancyheadings.sty -openair1/SIMULATION/LTE_PHY/framegen.c -openair1/SIMULATION/LTE_PHY/gpib_send.c -openair1/SIMULATION/LTE_PHY/gpib_send.h -openair1/SIMULATION/LTE_PHY/launch_sim.sh -openair1/SIMULATION/LTE_PHY/LTE_Configuration.c -openair1/SIMULATION/LTE_PHY/LTE_Configuration.h -openair1/SIMULATION/LTE_PHY/mat2wv.m -openair1/SIMULATION/LTE_PHY/mbmssim.c -openair1/SIMULATION/LTE_PHY/pbch_awgn.txt -openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt -openair1/SIMULATION/LTE_PHY/pbchsim.c -openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh -openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m -openair1/SIMULATION/LTE_PHY/pdcchsim.c -openair1/SIMULATION/LTE_PHY/prachsim.c -openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h -openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c -openair1/SIMULATION/LTE_PHY/pucchsim.c -openair1/SIMULATION/LTE_PHY/README.txt -openair1/SIMULATION/LTE_PHY/scansim.c -openair1/SIMULATION/LTE_PHY/signalanalyzer.c -openair1/SIMULATION/LTE_PHY/signalanalyzer.h -openair1/SIMULATION/LTE_PHY/syncsim.c -openair1/SIMULATION/LTE_PHY/test.c -openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c -openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h -openair1/SIMULATION/LTE_PHY/ulsim.c -openair1/SIMULATION/LTE_PHY/ulsim2.c -openair1/SIMULATION/LTE_PHY/unitary_defs.h -openair1/SIMULATION/RF/adc.c -openair1/SIMULATION/RF/dac.c -openair1/SIMULATION/RF/defs.h -openair1/SIMULATION/RF/README.txt -openair1/SIMULATION/RF/rf.c -openair1/SIMULATION/TOOLS/abstraction.c -openair1/SIMULATION/TOOLS/ch_desc_proto.c -openair1/SIMULATION/TOOLS/corr_mat.m -openair1/SIMULATION/TOOLS/defs.h -openair1/SIMULATION/TOOLS/gauss.c -openair1/SIMULATION/TOOLS/llr_quantization.c -openair1/SIMULATION/TOOLS/multipath_channel.c -openair1/SIMULATION/TOOLS/multipath_tv_channel.c -openair1/SIMULATION/TOOLS/random_channel.c -openair1/SIMULATION/TOOLS/rangen_double.c -openair1/SIMULATION/TOOLS/scm.m -openair1/SIMULATION/TOOLS/scm_corrmat.h -openair1/SIMULATION/TOOLS/taus.c -openair1/README.TXT -openair2/COMMON/as_message.h -openair2/COMMON/commonDef.h -openair2/COMMON/gtpv1_u_messages_def.h -openair2/COMMON/gtpv1_u_messages_types.h -openair2/COMMON/intertask_interface_conf.h -openair2/COMMON/mac_messages_def.h -openair2/COMMON/mac_messages_types.h -openair2/COMMON/mac_primitives.h -openair2/COMMON/mac_rlc_primitives.h -openair2/COMMON/mac_rrc_primitives.h -openair2/COMMON/messages_def.h -openair2/COMMON/messages_types.h -openair2/COMMON/nas_messages_def.h -openair2/COMMON/nas_messages_types.h -openair2/COMMON/networkDef.h -openair2/COMMON/openair_defs.h -openair2/COMMON/openair_types.h -openair2/COMMON/pdcp_messages_def.h -openair2/COMMON/pdcp_messages_types.h -openair2/COMMON/phy_messages_def.h -openair2/COMMON/phy_messages_types.h -openair2/COMMON/platform_constants.h -openair2/COMMON/platform_types.h -openair2/COMMON/ral_messages_def.h -openair2/COMMON/ral_messages_types.h -openair2/COMMON/rlc_messages_def.h -openair2/COMMON/rlc_messages_types.h -openair2/COMMON/rrc_messages_def.h -openair2/COMMON/rrc_messages_types.h -openair2/COMMON/rrm_config_structs.h -openair2/COMMON/rrm_constants.h -openair2/COMMON/rtos_header.h -openair2/COMMON/s1ap_messages_def.h -openair2/COMMON/s1ap_messages_types.h -openair2/COMMON/sctp_messages_def.h -openair2/COMMON/sctp_messages_types.h -openair2/COMMON/tasks_def.h -openair2/COMMON/udp_messages_def.h -openair2/COMMON/udp_messages_types.h -openair2/COMMON/x2ap_messages_def.h -openair2/COMMON/x2ap_messages_types.h -openair2/DOCS/Documentation/flow.txt -openair2/DOCS/DOXYGEN/images/cellular_topology.doc -openair2/DOCS/DOXYGEN/images/cellular_topology.pdf -openair2/DOCS/DOXYGEN/images/cellular_topology_small.png -openair2/DOCS/DOXYGEN/images/channel server.png -openair2/DOCS/DOXYGEN/images/channel server.vsd -openair2/DOCS/DOXYGEN/images/convolutional.png -openair2/DOCS/DOXYGEN/images/convolutional.vsd -openair2/DOCS/DOXYGEN/images/Diapositive6.JPG -openair2/DOCS/DOXYGEN/images/DLC_arch.png -openair2/DOCS/DOXYGEN/images/Framing.png -openair2/DOCS/DOXYGEN/images/Framing.vsd -openair2/DOCS/DOXYGEN/images/irs_dcf.jpg -openair2/DOCS/DOXYGEN/images/irs_pcf.jpg -openair2/DOCS/DOXYGEN/images/layer2_stack.jpg -openair2/DOCS/DOXYGEN/images/layer2_stack.pdf -openair2/DOCS/DOXYGEN/images/layer2_stack.png -openair2/DOCS/DOXYGEN/images/MAC Services.vsd -openair2/DOCS/DOXYGEN/images/MAC_arch.eps -openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG -openair2/DOCS/DOXYGEN/images/mac_channels.png -openair2/DOCS/DOXYGEN/images/MAC_Measurements.png -openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd -openair2/DOCS/DOXYGEN/images/MAC_Services.eps -openair2/DOCS/DOXYGEN/images/MAC_Services.vsd -openair2/DOCS/DOXYGEN/images/MAC_Services2.eps -openair2/DOCS/DOXYGEN/images/MAC_Services2.png -openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd -openair2/DOCS/DOXYGEN/images/mac_wbs.jpg -openair2/DOCS/DOXYGEN/images/macphynet.eps -openair2/DOCS/DOXYGEN/images/macphynet.png -openair2/DOCS/DOXYGEN/images/mesh_frame.pdf -openair2/DOCS/DOXYGEN/images/mesh_topology.pdf -openair2/DOCS/DOXYGEN/images/mesh_topology_small.png -openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png -openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd -openair2/DOCS/DOXYGEN/images/PHY_arch.eps -openair2/DOCS/DOXYGEN/images/PHY_arch.png -openair2/DOCS/DOXYGEN/images/PHY_arch.vsd -openair2/DOCS/DOXYGEN/images/QAM modulation.png -openair2/DOCS/DOXYGEN/images/QAM modulation.vsd -openair2/DOCS/DOXYGEN/images/QAMmodulation.png -openair2/DOCS/DOXYGEN/images/scrambler.png -openair2/DOCS/DOXYGEN/images/scrambler.vsd -openair2/DOCS/DOXYGEN/images/Transmission.pdf -openair2/DOCS/DOXYGEN/images/Transmission.png -openair2/DOCS/DOXYGEN/images/Transmission.ps -openair2/DOCS/DOXYGEN/images/w3g4f_framing.png -openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd -openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd -openair2/DOCS/DOXYGEN/Doxyfile -openair2/DOCS/TEMPLATES/CODE/images/arch.eps -openair2/DOCS/TEMPLATES/CODE/images/arch.png -openair2/DOCS/TEMPLATES/CODE/Doxyfile -openair2/DOCS/TEMPLATES/CODE/example_doxy.h -openair2/DOCS/TEMPLATES/README/Readme.doxy -openair2/DOCS/TEMPLATES/README/readme.txt -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h -openair2/ENB_APP/MESSAGES/V2/config_common.proto -openair2/ENB_APP/MESSAGES/V2/config_messages.proto -openair2/ENB_APP/MESSAGES/V2/control_delegation.proto -openair2/ENB_APP/MESSAGES/V2/controller_commands.proto -openair2/ENB_APP/MESSAGES/V2/flexran.proto -openair2/ENB_APP/MESSAGES/V2/header.proto -openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto -openair2/ENB_APP/MESSAGES/V2/stats_common.proto -openair2/ENB_APP/MESSAGES/V2/stats_messages.proto -openair2/ENB_APP/MESSAGES/V2/time_common.proto -openair2/ENB_APP/enb_app.c -openair2/ENB_APP/enb_app.h -openair2/ENB_APP/enb_config.c -openair2/ENB_APP/enb_config.h -openair2/ENB_APP/flexran_agent.c -openair2/ENB_APP/flexran_agent.h -openair2/ENB_APP/flexran_agent_async.c -openair2/ENB_APP/flexran_agent_async.h -openair2/ENB_APP/flexran_agent_common.c -openair2/ENB_APP/flexran_agent_common.h -openair2/ENB_APP/flexran_agent_common_internal.c -openair2/ENB_APP/flexran_agent_common_internal.h -openair2/ENB_APP/flexran_agent_defs.h -openair2/ENB_APP/flexran_agent_extern.h -openair2/ENB_APP/flexran_agent_handler.c -openair2/ENB_APP/flexran_agent_net_comm.c -openair2/ENB_APP/flexran_agent_net_comm.h -openair2/ENB_APP/flexran_agent_task_manager.c -openair2/ENB_APP/flexran_agent_task_manager.h -openair2/LAYER2/MAC/config.c -openair2/LAYER2/MAC/defs.h -openair2/LAYER2/MAC/eNB_scheduler.c -openair2/LAYER2/MAC/eNB_scheduler_bch.c -openair2/LAYER2/MAC/eNB_scheduler_dlsch.c -openair2/LAYER2/MAC/eNB_scheduler_mch.c -openair2/LAYER2/MAC/eNB_scheduler_primitives.c -openair2/LAYER2/MAC/eNB_scheduler_RA.c -openair2/LAYER2/MAC/eNB_scheduler_ulsch.c -openair2/LAYER2/MAC/extern.h -openair2/LAYER2/MAC/flexran_agent_mac_proto.h -openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c -openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c -openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c -openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h -openair2/LAYER2/MAC/flexran_dci_conversions.h -openair2/LAYER2/MAC/l1_helpers.c -openair2/LAYER2/MAC/lte_transport_init.c -openair2/LAYER2/MAC/main.c -openair2/LAYER2/MAC/openair2_proc.c -openair2/LAYER2/MAC/pre_processor.c -openair2/LAYER2/MAC/proto.h -openair2/LAYER2/MAC/ra_procedures.c -openair2/LAYER2/MAC/rar_tools.c -openair2/LAYER2/MAC/ue_procedures.c -openair2/LAYER2/MAC/vars.h -openair2/LAYER2/PDCP_v10.1.0/pdcp.c -openair2/LAYER2/PDCP_v10.1.0/pdcp.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h -openair2/LAYER2/RLC/UM_v9.3.0/README -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h -openair2/LAYER2/RLC/mac_primitives.h -openair2/LAYER2/RLC/rlc.c -openair2/LAYER2/RLC/rlc.h -openair2/LAYER2/RLC/rlc_def.h -openair2/LAYER2/RLC/rlc_def_lte.h -openair2/LAYER2/RLC/rlc_mac.c -openair2/LAYER2/RLC/rlc_mpls.c -openair2/LAYER2/RLC/rlc_primitives.h -openair2/LAYER2/RLC/rlc_rrc.c -openair2/LAYER2/openair2_proc.c -openair2/LAYER2/register.c -openair2/LAYER2/register.h -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h -openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest -openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c -openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c -openair2/NAS/DRIVER/CELLULAR/readme.txt -openair2/NAS/DRIVER/CELLULAR/start_mt_cellular -openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_noradvd -openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_radvd -openair2/NAS/DRIVER/CELLULAR/stop_mt_cellular -openair2/NAS/DRIVER/CELLULAR/stop_rg_cellular -openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h -openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c -openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c -openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c -openair2/NETWORK_DRIVER/LITE/classifier.c -openair2/NETWORK_DRIVER/LITE/common.c -openair2/NETWORK_DRIVER/LITE/constant.h -openair2/NETWORK_DRIVER/LITE/device.c -openair2/NETWORK_DRIVER/LITE/ioctl.c -openair2/NETWORK_DRIVER/LITE/ioctl.h -openair2/NETWORK_DRIVER/LITE/local.h -openair2/NETWORK_DRIVER/LITE/netlink.c -openair2/NETWORK_DRIVER/LITE/proto_extern.h -openair2/NETWORK_DRIVER/LITE/sap.h -openair2/NETWORK_DRIVER/LITE/tool.c -openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c -openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c -openair2/NETWORK_DRIVER/MESH/classifier.c -openair2/NETWORK_DRIVER/MESH/common.c -openair2/NETWORK_DRIVER/MESH/constant.h -openair2/NETWORK_DRIVER/MESH/device.c -openair2/NETWORK_DRIVER/MESH/ioctl.c -openair2/NETWORK_DRIVER/MESH/ioctl.h -openair2/NETWORK_DRIVER/MESH/local.h -openair2/NETWORK_DRIVER/MESH/mesh.c -openair2/NETWORK_DRIVER/MESH/netlink.c -openair2/NETWORK_DRIVER/MESH/proto_extern.h -openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h -openair2/NETWORK_DRIVER/MESH/sap.h -openair2/NETWORK_DRIVER/MESH/tool.c -openair2/NETWORK_DRIVER/UE_IP/common.c -openair2/NETWORK_DRIVER/UE_IP/constant.h -openair2/NETWORK_DRIVER/UE_IP/device.c -openair2/NETWORK_DRIVER/UE_IP/local.h -openair2/NETWORK_DRIVER/UE_IP/netlink.c -openair2/NETWORK_DRIVER/UE_IP/proto_extern.h -openair2/NETWORK_DRIVER/UE_IP/README -openair2/NETWORK_DRIVER/UE_IP/sap.h -openair2/PHY_INTERFACE/defs.h -openair2/PHY_INTERFACE/extern.h -openair2/PHY_INTERFACE/IF_Module.c -openair2/PHY_INTERFACE/IF_Module.h -openair2/PHY_INTERFACE/mac_phy_primitives.c -openair2/PHY_INTERFACE/mac_phy_primitives.h -openair2/PHY_INTERFACE/vars.h -openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c -openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-860.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-a20.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-c60.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn -openair2/RRC/LITE/MESSAGES/asn1_msg.c -openair2/RRC/LITE/MESSAGES/asn1_msg.h -openair2/RRC/LITE/MESSAGES/asn1_patch -openair2/RRC/LITE/MESSAGES/README.txt -openair2/RRC/LITE/MESSAGES/rtai_mem.c -openair2/RRC/LITE/MESSAGES/rtai_mem.h -openair2/RRC/LITE/defs.h -openair2/RRC/LITE/extern.h -openair2/RRC/LITE/L2_interface.c -openair2/RRC/LITE/mesh_top.c -openair2/RRC/LITE/plmn_data.h -openair2/RRC/LITE/proto.h -openair2/RRC/LITE/rrc_2_rrm_msg.c -openair2/RRC/LITE/rrc_common.c -openair2/RRC/LITE/rrc_eNB.c -openair2/RRC/LITE/rrc_eNB_GTPV1U.c -openair2/RRC/LITE/rrc_eNB_GTPV1U.h -openair2/RRC/LITE/rrc_eNB_ral.c -openair2/RRC/LITE/rrc_eNB_ral.h -openair2/RRC/LITE/rrc_eNB_S1AP.c -openair2/RRC/LITE/rrc_eNB_S1AP.h -openair2/RRC/LITE/rrc_eNB_UE_context.c -openair2/RRC/LITE/rrc_eNB_UE_context.h -openair2/RRC/LITE/rrc_rrm_interface.c -openair2/RRC/LITE/rrc_rrm_interface.h -openair2/RRC/LITE/rrc_types.h -openair2/RRC/LITE/rrc_UE.c -openair2/RRC/LITE/rrc_UE_ral.c -openair2/RRC/LITE/rrc_UE_ral.h -openair2/RRC/LITE/rrm_2_rrc_msg.c -openair2/RRC/LITE/utils.c -openair2/RRC/LITE/vars.h -openair2/RRC/NAS/nas_config.c -openair2/RRC/NAS/nas_config.h -openair2/RRC/NAS/rb_config.c -openair2/RRC/NAS/rb_config.h -openair2/UTIL/ASYNC_IF/link_manager.c -openair2/UTIL/ASYNC_IF/link_manager.h -openair2/UTIL/ASYNC_IF/message_queue.c -openair2/UTIL/ASYNC_IF/message_queue.h -openair2/UTIL/ASYNC_IF/ringbuffer_queue.c -openair2/UTIL/ASYNC_IF/ringbuffer_queue.h -openair2/UTIL/ASYNC_IF/socket_link.c -openair2/UTIL/ASYNC_IF/socket_link.h -openair2/UTIL/BIGPHYS/bigphys.c -openair2/UTIL/BIGPHYS/defs.h -openair2/UTIL/CLI/cli.c -openair2/UTIL/CLI/cli.h -openair2/UTIL/CLI/cli_cmd.c -openair2/UTIL/CLI/cli_if.h -openair2/UTIL/CLI/cli_server.c -openair2/UTIL/FIFO/pad_list.c -openair2/UTIL/FIFO/pad_list.h -openair2/UTIL/FIFO/types.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c -openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt -openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln -openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln -openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h -openair2/UTIL/LISTS/list.c -openair2/UTIL/LISTS/list.h -openair2/UTIL/LISTS/list2.c -openair2/UTIL/LOG/log.c -openair2/UTIL/LOG/log.h -openair2/UTIL/LOG/log_extern.h -openair2/UTIL/LOG/log_if.h -openair2/UTIL/LOG/README.txt -openair2/UTIL/LOG/vcd_signal_dumper.c -openair2/UTIL/LOG/vcd_signal_dumper.h -openair2/UTIL/MATH/crc_byte.c -openair2/UTIL/MATH/oml.c -openair2/UTIL/MATH/oml.h -openair2/UTIL/MATH/random.c -openair2/UTIL/MATH/random_proto_extern.h -openair2/UTIL/MATH/taus.c -openair2/UTIL/MEM/mem_block.c -openair2/UTIL/MEM/mem_block.h -openair2/UTIL/MEM/mem_mngt.c -openair2/UTIL/MEM/mem_mngt_proto_extern.h -openair2/UTIL/MEM/mem_pool.h -openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml -openair2/UTIL/OCG/temp_output/OCG_report.xml -openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml -openair2/UTIL/OCG/Doxyfile -openair2/UTIL/OCG/eurecom_20110208110244.xml -openair2/UTIL/OCG/OCG.c -openair2/UTIL/OCG/OCG.h -openair2/UTIL/OCG/OCG_call_emu.c -openair2/UTIL/OCG/OCG_call_emu.h -openair2/UTIL/OCG/OCG_config_mobi.c -openair2/UTIL/OCG/OCG_config_mobi.h -openair2/UTIL/OCG/OCG_create_dir.c -openair2/UTIL/OCG/OCG_create_dir.h -openair2/UTIL/OCG/OCG_detect_file.c -openair2/UTIL/OCG/OCG_detect_file.h -openair2/UTIL/OCG/OCG_extern.h -openair2/UTIL/OCG/OCG_generate_report.c -openair2/UTIL/OCG/OCG_generate_report.h -openair2/UTIL/OCG/OCG_get_opt.c -openair2/UTIL/OCG/OCG_get_opt.h -openair2/UTIL/OCG/OCG_if.h -openair2/UTIL/OCG/OCG_parse_filename.c -openair2/UTIL/OCG/OCG_parse_filename.h -openair2/UTIL/OCG/OCG_parse_XML.c -openair2/UTIL/OCG/OCG_parse_XML.h -openair2/UTIL/OCG/OCG_save_XML.c -openair2/UTIL/OCG/OCG_save_XML.h -openair2/UTIL/OCG/OCG_vars.h -openair2/UTIL/OCG/readme.txt -openair2/UTIL/OMG/TRACE/example_trace.tr -openair2/UTIL/OMG/TRACE/handover.tr -openair2/UTIL/OMG/TRACE/handover_1ue.tr -openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr -openair2/UTIL/OMG/TRACE/mobility_2ues.tr -openair2/UTIL/OMG/TRACE/mobility_3ues.tr -openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf -openair2/UTIL/OMG/TRACE/README.TXT -openair2/UTIL/OMG/TRACE/regular.tr -openair2/UTIL/OMG/TRACE/static_1enb.tr -openair2/UTIL/OMG/TRACE/static_2ues.tr -openair2/UTIL/OMG/TRACE/zero_speed.tr -openair2/UTIL/OMG/common.c -openair2/UTIL/OMG/defs.h -openair2/UTIL/OMG/grid.c -openair2/UTIL/OMG/grid.h -openair2/UTIL/OMG/job.c -openair2/UTIL/OMG/mobility.txt -openair2/UTIL/OMG/mobility_parser.c -openair2/UTIL/OMG/mobility_parser.h -openair2/UTIL/OMG/omg.c -openair2/UTIL/OMG/omg.h -openair2/UTIL/OMG/omg_constants.h -openair2/UTIL/OMG/omg_hashtable.c -openair2/UTIL/OMG/omg_hashtable.h -openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf -openair2/UTIL/OMG/omg_vars.h -openair2/UTIL/OMG/README.TXT -openair2/UTIL/OMG/rwalk.c -openair2/UTIL/OMG/rwalk.h -openair2/UTIL/OMG/rwp.c -openair2/UTIL/OMG/rwp.h -openair2/UTIL/OMG/static.c -openair2/UTIL/OMG/static.h -openair2/UTIL/OMG/steadystaterwp.c -openair2/UTIL/OMG/steadystaterwp.h -openair2/UTIL/OMG/trace.c -openair2/UTIL/OMG/trace.h -openair2/UTIL/OMG/trace_hashtable.c -openair2/UTIL/OMG/trace_hashtable.h -openair2/UTIL/OMV/blue.png -openair2/UTIL/OMV/communicationthread.cpp -openair2/UTIL/OMV/communicationthread.h -openair2/UTIL/OMV/green.png -openair2/UTIL/OMV/jpg.jpeg -openair2/UTIL/OMV/mus.png -openair2/UTIL/OMV/mywindow.cpp -openair2/UTIL/OMV/mywindow.h -openair2/UTIL/OMV/new.jpg -openair2/UTIL/OMV/new2.jpg -openair2/UTIL/OMV/omv.cpp -openair2/UTIL/OMV/openglwidget.cpp -openair2/UTIL/OMV/openglwidget.h -openair2/UTIL/OMV/README.txt -openair2/UTIL/OMV/red.png -openair2/UTIL/OMV/structures.h -openair2/UTIL/OMV/white.png -openair2/UTIL/OMV/wow.png -openair2/UTIL/OPT/mac_pcap.h -openair2/UTIL/OPT/opt.h -openair2/UTIL/OPT/packet-mac-lte.h -openair2/UTIL/OPT/probe.c -openair2/UTIL/OPT/README.txt -openair2/UTIL/OPT/vars.h -openair2/UTIL/OSA/osa_defs.h -openair2/UTIL/OSA/osa_internal.h -openair2/UTIL/OSA/osa_key_deriver.c -openair2/UTIL/OSA/osa_rijndael.c -openair2/UTIL/OSA/osa_rijndael.h -openair2/UTIL/OSA/osa_snow3g.c -openair2/UTIL/OSA/osa_snow3g.h -openair2/UTIL/OSA/osa_stream_eea.c -openair2/UTIL/OSA/osa_stream_eia.c -openair2/UTIL/OSA/README -openair2/UTIL/OSD/css/images/false.png -openair2/UTIL/OSD/css/images/false2.png -openair2/UTIL/OSD/css/images/lquote.png -openair2/UTIL/OSD/css/images/true.png -openair2/UTIL/OSD/css/images/warning.png -openair2/UTIL/OSD/css/blueprint.css -openair2/UTIL/OSD/css/fix-ie-rtl.css -openair2/UTIL/OSD/css/fix-ie.css -openair2/UTIL/OSD/css/ie.css -openair2/UTIL/OSD/css/ie6.css -openair2/UTIL/OSD/css/print.css -openair2/UTIL/OSD/css/screen.css -openair2/UTIL/OSD/css/style.css -openair2/UTIL/OSD/jquery/jquery.js -openair2/UTIL/OSD/fake_oaisim -openair2/UTIL/OSD/form.php -openair2/UTIL/OSD/header.php -openair2/UTIL/OSD/httpd-result.conf -openair2/UTIL/OSD/index.php -openair2/UTIL/OSD/OCG.pid -openair2/UTIL/OSD/OpenAirEmu.conf -openair2/UTIL/OSD/Platform_is_running.php -openair2/UTIL/OSD/README.txt -openair2/UTIL/OSD/recep.php -openair2/UTIL/OSD/toto.php -openair2/UTIL/OTG/Doxyfile -openair2/UTIL/OTG/help_OTGplot.txt -openair2/UTIL/OTG/main.c -openair2/UTIL/OTG/otg.c -openair2/UTIL/OTG/otg.h -openair2/UTIL/OTG/otg_config.h -openair2/UTIL/OTG/otg_defs.h -openair2/UTIL/OTG/otg_externs.h -openair2/UTIL/OTG/otg_form.c -openair2/UTIL/OTG/otg_form.h -openair2/UTIL/OTG/otg_kpi.c -openair2/UTIL/OTG/otg_kpi.h -openair2/UTIL/OTG/otg_models.c -openair2/UTIL/OTG/otg_models.h -openair2/UTIL/OTG/otg_rx.c -openair2/UTIL/OTG/otg_rx.h -openair2/UTIL/OTG/otg_rx_socket.c -openair2/UTIL/OTG/otg_rx_socket.h -openair2/UTIL/OTG/otg_tx.c -openair2/UTIL/OTG/otg_tx.h -openair2/UTIL/OTG/otg_tx_socket.c -openair2/UTIL/OTG/otg_tx_socket.h -openair2/UTIL/OTG/otg_vars.h -openair2/UTIL/OTG/OTGplot -openair2/UTIL/OTG/traffic_config.h -openair2/UTIL/TIMER/umts_timer.c -openair2/UTIL/TIMER/umts_timer.h -openair2/UTIL/TIMER/umts_timer_proto_extern.h -openair2/UTIL/TIMER/umts_timer_struct.h -openair2/UTIL/TRACE/fifo_printf.c -openair2/UTIL/TRACE/fifo_printf.h -openair2/UTIL/TRACE/fifo_printf_proto_extern.h -openair2/UTIL/TRACE/print.h -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Definitions.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-CommonDataTypes.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Constants.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Containers.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-IEs.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Contents.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Descriptions.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU.asn -openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py -openair2/X2AP/x2ap.c -openair2/X2AP/x2ap.h -openair2/X2AP/x2ap_common.c -openair2/X2AP/x2ap_common.h -openair3/COMMON/as_message.h -openair3/COMMON/common_types.h -openair3/COMMON/gtpv1_u_messages_def.h -openair3/COMMON/gtpv1_u_messages_types.h -openair3/COMMON/intertask_interface_conf.h -openair3/COMMON/messages_def.h -openair3/COMMON/messages_types.h -openair3/COMMON/nas_messages_def.h -openair3/COMMON/nas_messages_types.h -openair3/COMMON/s1ap_messages_def.h -openair3/COMMON/s1ap_messages_types.h -openair3/COMMON/sctp_messages_def.h -openair3/COMMON/sctp_messages_types.h -openair3/COMMON/security_types.h -openair3/COMMON/tasks_def.h -openair3/COMMON/udp_messages_def.h -openair3/COMMON/udp_messages_types.h -openair3/DOCS/DOXYGEN/Doxyfile.in -openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf -openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex -openair3/DOCS/Latex/EPC/EPC.pdf -openair3/DOCS/Latex/EPC/EPC.tex -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h -openair3/GTPV1-U/nw-gtpv1u/AUTHORS -openair3/GTPV1-U/nw-gtpv1u/ChangeLog -openair3/GTPV1-U/nw-gtpv1u/COPYING -openair3/GTPV1-U/nw-gtpv1u/NEWS -openair3/GTPV1-U/nw-gtpv1u/README -openair3/GTPV1-U/gtpv1u.h -openair3/GTPV1-U/gtpv1u_eNB.c -openair3/GTPV1-U/gtpv1u_eNB_defs.h -openair3/GTPV1-U/gtpv1u_eNB_task.h -openair3/GTPV1-U/gtpv1u_sgw_defs.h -openair3/GTPV1-U/gtpv1u_task.c -openair3/GTPV1-U/gtpv1u_teid_pool.c -openair3/NAS/COMMON/API/NETWORK/as_message.c -openair3/NAS/COMMON/API/NETWORK/as_message.h -openair3/NAS/COMMON/API/NETWORK/l2_message.h -openair3/NAS/COMMON/API/NETWORK/nas_message.c -openair3/NAS/COMMON/API/NETWORK/nas_message.h -openair3/NAS/COMMON/API/NETWORK/network_api.c -openair3/NAS/COMMON/API/NETWORK/network_api.h -openair3/NAS/COMMON/EMM/MSG/AttachAccept.c -openair3/NAS/COMMON/EMM/MSG/AttachAccept.h -openair3/NAS/COMMON/EMM/MSG/AttachComplete.c -openair3/NAS/COMMON/EMM/MSG/AttachComplete.h -openair3/NAS/COMMON/EMM/MSG/AttachReject.c -openair3/NAS/COMMON/EMM/MSG/AttachReject.h -openair3/NAS/COMMON/EMM/MSG/AttachRequest.c -openair3/NAS/COMMON/EMM/MSG/AttachRequest.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h -openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c -openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h -openair3/NAS/COMMON/EMM/MSG/DetachAccept.c -openair3/NAS/COMMON/EMM/MSG/DetachAccept.h -openair3/NAS/COMMON/EMM/MSG/DetachRequest.c -openair3/NAS/COMMON/EMM/MSG/DetachRequest.h -openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c -openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h -openair3/NAS/COMMON/EMM/MSG/emm_cause.h -openair3/NAS/COMMON/EMM/MSG/emm_msg.c -openair3/NAS/COMMON/EMM/MSG/emm_msg.h -openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h -openair3/NAS/COMMON/EMM/MSG/EmmInformation.c -openair3/NAS/COMMON/EMM/MSG/EmmInformation.h -openair3/NAS/COMMON/EMM/MSG/EmmStatus.c -openair3/NAS/COMMON/EMM/MSG/EmmStatus.h -openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c -openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h -openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c -openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h -openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c -openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h -openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c -openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h -openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c -openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h -openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h -openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h -openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c -openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c -openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c -openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h -openair3/NAS/COMMON/EMM/MSG/ServiceReject.c -openair3/NAS/COMMON/EMM/MSG/ServiceReject.h -openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c -openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h -openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c -openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/esm_cause.h -openair3/NAS/COMMON/ESM/MSG/esm_msg.c -openair3/NAS/COMMON/ESM/MSG/esm_msg.h -openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h -openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c -openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h -openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c -openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h -openair3/NAS/COMMON/ESM/MSG/EsmStatus.c -openair3/NAS/COMMON/ESM/MSG/EsmStatus.h -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h -openair3/NAS/COMMON/IES/AccessPointName.c -openair3/NAS/COMMON/IES/AccessPointName.h -openair3/NAS/COMMON/IES/AdditionalUpdateResult.c -openair3/NAS/COMMON/IES/AdditionalUpdateResult.h -openair3/NAS/COMMON/IES/AdditionalUpdateType.c -openair3/NAS/COMMON/IES/AdditionalUpdateType.h -openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c -openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h -openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c -openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h -openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c -openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h -openair3/NAS/COMMON/IES/AuthenticationParameterRand.c -openair3/NAS/COMMON/IES/AuthenticationParameterRand.h -openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c -openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h -openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c -openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h -openair3/NAS/COMMON/IES/Cli.c -openair3/NAS/COMMON/IES/Cli.h -openair3/NAS/COMMON/IES/CsfbResponse.c -openair3/NAS/COMMON/IES/CsfbResponse.h -openair3/NAS/COMMON/IES/DaylightSavingTime.c -openair3/NAS/COMMON/IES/DaylightSavingTime.h -openair3/NAS/COMMON/IES/DetachType.c -openair3/NAS/COMMON/IES/DetachType.h -openair3/NAS/COMMON/IES/DrxParameter.c -openair3/NAS/COMMON/IES/DrxParameter.h -openair3/NAS/COMMON/IES/EmergencyNumberList.c -openair3/NAS/COMMON/IES/EmergencyNumberList.h -openair3/NAS/COMMON/IES/EmmCause.c -openair3/NAS/COMMON/IES/EmmCause.h -openair3/NAS/COMMON/IES/EpsAttachResult.c -openair3/NAS/COMMON/IES/EpsAttachResult.h -openair3/NAS/COMMON/IES/EpsAttachType.c -openair3/NAS/COMMON/IES/EpsAttachType.h -openair3/NAS/COMMON/IES/EpsBearerContextStatus.c -openair3/NAS/COMMON/IES/EpsBearerContextStatus.h -openair3/NAS/COMMON/IES/EpsBearerIdentity.c -openair3/NAS/COMMON/IES/EpsBearerIdentity.h -openair3/NAS/COMMON/IES/EpsMobileIdentity.c -openair3/NAS/COMMON/IES/EpsMobileIdentity.h -openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c -openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h -openair3/NAS/COMMON/IES/EpsQualityOfService.c -openair3/NAS/COMMON/IES/EpsQualityOfService.h -openair3/NAS/COMMON/IES/EpsUpdateResult.c -openair3/NAS/COMMON/IES/EpsUpdateResult.h -openair3/NAS/COMMON/IES/EpsUpdateType.c -openair3/NAS/COMMON/IES/EpsUpdateType.h -openair3/NAS/COMMON/IES/EsmCause.c -openair3/NAS/COMMON/IES/EsmCause.h -openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c -openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h -openair3/NAS/COMMON/IES/EsmMessageContainer.c -openair3/NAS/COMMON/IES/EsmMessageContainer.h -openair3/NAS/COMMON/IES/GprsTimer.c -openair3/NAS/COMMON/IES/GprsTimer.h -openair3/NAS/COMMON/IES/GutiType.c -openair3/NAS/COMMON/IES/GutiType.h -openair3/NAS/COMMON/IES/IdentityType2.c -openair3/NAS/COMMON/IES/IdentityType2.h -openair3/NAS/COMMON/IES/ImeisvRequest.c -openair3/NAS/COMMON/IES/ImeisvRequest.h -openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c -openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h -openair3/NAS/COMMON/IES/LcsClientIdentity.c -openair3/NAS/COMMON/IES/LcsClientIdentity.h -openair3/NAS/COMMON/IES/LcsIndicator.c -openair3/NAS/COMMON/IES/LcsIndicator.h -openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c -openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h -openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c -openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h -openair3/NAS/COMMON/IES/LocationAreaIdentification.c -openair3/NAS/COMMON/IES/LocationAreaIdentification.h -openair3/NAS/COMMON/IES/MessageType.c -openair3/NAS/COMMON/IES/MessageType.h -openair3/NAS/COMMON/IES/MobileIdentity.c -openair3/NAS/COMMON/IES/MobileIdentity.h -openair3/NAS/COMMON/IES/MobileStationClassmark2.c -openair3/NAS/COMMON/IES/MobileStationClassmark2.h -openair3/NAS/COMMON/IES/MobileStationClassmark3.c -openair3/NAS/COMMON/IES/MobileStationClassmark3.h -openair3/NAS/COMMON/IES/MsNetworkCapability.c -openair3/NAS/COMMON/IES/MsNetworkCapability.h -openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c -openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h -openair3/NAS/COMMON/IES/NasKeySetIdentifier.c -openair3/NAS/COMMON/IES/NasKeySetIdentifier.h -openair3/NAS/COMMON/IES/NasMessageContainer.c -openair3/NAS/COMMON/IES/NasMessageContainer.h -openair3/NAS/COMMON/IES/NasRequestType.c -openair3/NAS/COMMON/IES/NasRequestType.h -openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c -openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h -openair3/NAS/COMMON/IES/NetworkName.c -openair3/NAS/COMMON/IES/NetworkName.h -openair3/NAS/COMMON/IES/Nonce.c -openair3/NAS/COMMON/IES/Nonce.h -openair3/NAS/COMMON/IES/PacketFlowIdentifier.c -openair3/NAS/COMMON/IES/PacketFlowIdentifier.h -openair3/NAS/COMMON/IES/PagingIdentity.c -openair3/NAS/COMMON/IES/PagingIdentity.h -openair3/NAS/COMMON/IES/PdnAddress.c -openair3/NAS/COMMON/IES/PdnAddress.h -openair3/NAS/COMMON/IES/PdnType.c -openair3/NAS/COMMON/IES/PdnType.h -openair3/NAS/COMMON/IES/PlmnList.c -openair3/NAS/COMMON/IES/PlmnList.h -openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c -openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h -openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c -openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h -openair3/NAS/COMMON/IES/ProtocolDiscriminator.c -openair3/NAS/COMMON/IES/ProtocolDiscriminator.h -openair3/NAS/COMMON/IES/PTmsiSignature.c -openair3/NAS/COMMON/IES/PTmsiSignature.h -openair3/NAS/COMMON/IES/QualityOfService.c -openair3/NAS/COMMON/IES/QualityOfService.h -openair3/NAS/COMMON/IES/RadioPriority.c -openair3/NAS/COMMON/IES/RadioPriority.h -openair3/NAS/COMMON/IES/SecurityHeaderType.c -openair3/NAS/COMMON/IES/SecurityHeaderType.h -openair3/NAS/COMMON/IES/ServiceType.c -openair3/NAS/COMMON/IES/ServiceType.h -openair3/NAS/COMMON/IES/ShortMac.c -openair3/NAS/COMMON/IES/ShortMac.h -openair3/NAS/COMMON/IES/SsCode.c -openair3/NAS/COMMON/IES/SsCode.h -openair3/NAS/COMMON/IES/SupportedCodecList.c -openair3/NAS/COMMON/IES/SupportedCodecList.h -openair3/NAS/COMMON/IES/TimeZone.c -openair3/NAS/COMMON/IES/TimeZone.h -openair3/NAS/COMMON/IES/TimeZoneAndTime.c -openair3/NAS/COMMON/IES/TimeZoneAndTime.h -openair3/NAS/COMMON/IES/TmsiStatus.c -openair3/NAS/COMMON/IES/TmsiStatus.h -openair3/NAS/COMMON/IES/TrackingAreaIdentity.c -openair3/NAS/COMMON/IES/TrackingAreaIdentity.h -openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c -openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h -openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c -openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h -openair3/NAS/COMMON/IES/TrafficFlowTemplate.c -openair3/NAS/COMMON/IES/TrafficFlowTemplate.h -openair3/NAS/COMMON/IES/TransactionIdentifier.c -openair3/NAS/COMMON/IES/TransactionIdentifier.h -openair3/NAS/COMMON/IES/UeNetworkCapability.c -openair3/NAS/COMMON/IES/UeNetworkCapability.h -openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c -openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h -openair3/NAS/COMMON/IES/UeSecurityCapability.c -openair3/NAS/COMMON/IES/UeSecurityCapability.h -openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c -openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h -openair3/NAS/COMMON/UTIL/tst/timer.c -openair3/NAS/COMMON/UTIL/tst/timer_debug.txt -openair3/NAS/COMMON/UTIL/device.c -openair3/NAS/COMMON/UTIL/device.h -openair3/NAS/COMMON/UTIL/memory.c -openair3/NAS/COMMON/UTIL/memory.h -openair3/NAS/COMMON/UTIL/nas_log.c -openair3/NAS/COMMON/UTIL/nas_log.h -openair3/NAS/COMMON/UTIL/nas_timer.c -openair3/NAS/COMMON/UTIL/nas_timer.h -openair3/NAS/COMMON/UTIL/OctetString.c -openair3/NAS/COMMON/UTIL/OctetString.h -openair3/NAS/COMMON/UTIL/parser.c -openair3/NAS/COMMON/UTIL/parser.h -openair3/NAS/COMMON/UTIL/socket.c -openair3/NAS/COMMON/UTIL/socket.h -openair3/NAS/COMMON/UTIL/stty.c -openair3/NAS/COMMON/UTIL/TLVDecoder.c -openair3/NAS/COMMON/UTIL/TLVDecoder.h -openair3/NAS/COMMON/UTIL/TLVEncoder.c -openair3/NAS/COMMON/UTIL/TLVEncoder.h -openair3/NAS/COMMON/commonDef.h -openair3/NAS/COMMON/networkDef.h -openair3/NAS/COMMON/securityDef.h -openair3/NAS/COMMON/userDef.h -openair3/NAS/TEST/AS_SIMULATOR/as_data.c -openair3/NAS/TEST/AS_SIMULATOR/as_data.h -openair3/NAS/TEST/AS_SIMULATOR/as_process.c -openair3/NAS/TEST/AS_SIMULATOR/as_process.h -openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c -openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c -openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h -openair3/NAS/TEST/AS_SIMULATOR/nas_data.c -openair3/NAS/TEST/AS_SIMULATOR/nas_data.h -openair3/NAS/TEST/AS_SIMULATOR/nas_process.c -openair3/NAS/TEST/AS_SIMULATOR/nas_process.h -openair3/NAS/TEST/MSC/ActivatePDN.png -openair3/NAS/TEST/MSC/AuthenticationReject.png -openair3/NAS/TEST/MSC/DeactivatePDN.png -openair3/NAS/TEST/MSC/InitialAttach.png -openair3/NAS/TEST/MSC/InitialAttachReject.png -openair3/NAS/TEST/MSC/msc_gen.py -openair3/NAS/TEST/MSC/NomalDetach.png -openair3/NAS/TEST/MSC/README -openair3/NAS/TEST/MSC/SwitchOffDetach.png -openair3/NAS/TEST/NETWORK/network_parser.c -openair3/NAS/TEST/NETWORK/network_parser.h -openair3/NAS/TEST/NETWORK/network_simulator.c -openair3/NAS/TEST/NETWORK/README -openair3/NAS/TEST/USER/user_parser.c -openair3/NAS/TEST/USER/user_parser.h -openair3/NAS/TEST/USER/user_simulator.c -openair3/NAS/TOOLS/conf2uedata.c -openair3/NAS/TOOLS/conf2uedata.h -openair3/NAS/TOOLS/conf_emm.c -openair3/NAS/TOOLS/conf_emm.h -openair3/NAS/TOOLS/conf_network.c -openair3/NAS/TOOLS/conf_network.h -openair3/NAS/TOOLS/conf_parser.c -openair3/NAS/TOOLS/conf_parser.h -openair3/NAS/TOOLS/conf_user_data.c -openair3/NAS/TOOLS/conf_user_data.h -openair3/NAS/TOOLS/conf_user_plmn.c -openair3/NAS/TOOLS/conf_user_plmn.h -openair3/NAS/TOOLS/conf_usim.c -openair3/NAS/TOOLS/conf_usim.h -openair3/NAS/TOOLS/display.c -openair3/NAS/TOOLS/display.h -openair3/NAS/TOOLS/fs.c -openair3/NAS/TOOLS/fs.h -openair3/NAS/TOOLS/network.h -openair3/NAS/TOOLS/nvram.c -openair3/NAS/TOOLS/ue_bcom_test.conf -openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -openair3/NAS/TOOLS/ue_tcl_test.conf -openair3/NAS/TOOLS/usim.c -openair3/NAS/UE/API/USER/tst/at_parser.c -openair3/NAS/UE/API/USER/tst/at_parser.in -openair3/NAS/UE/API/USER/tst/at_parser.in.bis -openair3/NAS/UE/API/USER/tst/at_parser.out -openair3/NAS/UE/API/USER/tst/at_parser.out.bis -openair3/NAS/UE/API/USER/tst/smartcom.txt -openair3/NAS/UE/API/USER/at_command.c -openair3/NAS/UE/API/USER/at_command.h -openair3/NAS/UE/API/USER/at_error.c -openair3/NAS/UE/API/USER/at_error.h -openair3/NAS/UE/API/USER/at_response.c -openair3/NAS/UE/API/USER/at_response.h -openair3/NAS/UE/API/USER/user_api.c -openair3/NAS/UE/API/USER/user_api.h -openair3/NAS/UE/API/USER/user_api_defs.h -openair3/NAS/UE/API/USER/user_indication.c -openair3/NAS/UE/API/USER/user_indication.h -openair3/NAS/UE/API/USIM/aka_functions.c -openair3/NAS/UE/API/USIM/aka_functions.h -openair3/NAS/UE/API/USIM/usim_api.c -openair3/NAS/UE/API/USIM/usim_api.h -openair3/NAS/UE/EMM/SAP/emm_as.c -openair3/NAS/UE/EMM/SAP/emm_as.h -openair3/NAS/UE/EMM/SAP/emm_asDef.h -openair3/NAS/UE/EMM/SAP/emm_esm.c -openair3/NAS/UE/EMM/SAP/emm_esm.h -openair3/NAS/UE/EMM/SAP/emm_esmDef.h -openair3/NAS/UE/EMM/SAP/emm_fsm.c -openair3/NAS/UE/EMM/SAP/emm_fsm.h -openair3/NAS/UE/EMM/SAP/emm_recv.c -openair3/NAS/UE/EMM/SAP/emm_recv.h -openair3/NAS/UE/EMM/SAP/emm_reg.c -openair3/NAS/UE/EMM/SAP/emm_reg.h -openair3/NAS/UE/EMM/SAP/emm_regDef.h -openair3/NAS/UE/EMM/SAP/emm_sap.c -openair3/NAS/UE/EMM/SAP/emm_sap.h -openair3/NAS/UE/EMM/SAP/emm_send.c -openair3/NAS/UE/EMM/SAP/emm_send.h -openair3/NAS/UE/EMM/SAP/EmmDeregistered.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c -openair3/NAS/UE/EMM/SAP/EmmNull.c -openair3/NAS/UE/EMM/SAP/EmmRegistered.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c -openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c -openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c -openair3/NAS/UE/EMM/Attach.c -openair3/NAS/UE/EMM/Authentication.c -openair3/NAS/UE/EMM/Authentication.h -openair3/NAS/UE/EMM/Detach.c -openair3/NAS/UE/EMM/emm_fsm_defs.h -openair3/NAS/UE/EMM/emm_main.c -openair3/NAS/UE/EMM/emm_main.h -openair3/NAS/UE/EMM/emm_proc.h -openair3/NAS/UE/EMM/emm_proc_defs.h -openair3/NAS/UE/EMM/emm_timers.h -openair3/NAS/UE/EMM/emmData.h -openair3/NAS/UE/EMM/EmmStatusHdl.c -openair3/NAS/UE/EMM/Identification.c -openair3/NAS/UE/EMM/IdleMode.c -openair3/NAS/UE/EMM/IdleMode.h -openair3/NAS/UE/EMM/IdleMode_defs.h -openair3/NAS/UE/EMM/LowerLayer.c -openair3/NAS/UE/EMM/LowerLayer.h -openair3/NAS/UE/EMM/LowerLayer_defs.h -openair3/NAS/UE/EMM/SecurityModeControl.c -openair3/NAS/UE/EMM/SecurityModeControl.h -openair3/NAS/UE/EMM/ServiceRequestHdl.c -openair3/NAS/UE/EMM/TrackingAreaUpdate.c -openair3/NAS/UE/ESM/SAP/esm_recv.c -openair3/NAS/UE/ESM/SAP/esm_recv.h -openair3/NAS/UE/ESM/SAP/esm_sap.c -openair3/NAS/UE/ESM/SAP/esm_sap.h -openair3/NAS/UE/ESM/SAP/esm_sapDef.h -openair3/NAS/UE/ESM/SAP/esm_send.c -openair3/NAS/UE/ESM/SAP/esm_send.h -openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c -openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c -openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c -openair3/NAS/UE/ESM/esm_ebr.c -openair3/NAS/UE/ESM/esm_ebr.h -openair3/NAS/UE/ESM/esm_ebr_context.c -openair3/NAS/UE/ESM/esm_ebr_context.h -openair3/NAS/UE/ESM/esm_ip.c -openair3/NAS/UE/ESM/esm_main.c -openair3/NAS/UE/ESM/esm_main.h -openair3/NAS/UE/ESM/esm_proc.h -openair3/NAS/UE/ESM/esm_pt.c -openair3/NAS/UE/ESM/esm_pt.h -openair3/NAS/UE/ESM/esm_pt_defs.h -openair3/NAS/UE/ESM/esmData.h -openair3/NAS/UE/ESM/EsmStatusHdl.c -openair3/NAS/UE/ESM/PdnConnectivity.c -openair3/NAS/UE/ESM/PdnDisconnect.c -openair3/NAS/UE/nas_itti_messaging.c -openair3/NAS/UE/nas_itti_messaging.h -openair3/NAS/UE/nas_network.c -openair3/NAS/UE/nas_network.h -openair3/NAS/UE/nas_parser.c -openair3/NAS/UE/nas_parser.h -openair3/NAS/UE/nas_proc.c -openair3/NAS/UE/nas_proc.h -openair3/NAS/UE/nas_proc_defs.h -openair3/NAS/UE/nas_ue_task.c -openair3/NAS/UE/nas_ue_task.h -openair3/NAS/UE/nas_user.c -openair3/NAS/UE/nas_user.h -openair3/NAS/UE/UEprocess.c -openair3/NAS/UE/user_defs.h -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn -openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py -openair3/S1AP/MESSAGES/ASN1/README -openair3/S1AP/s1ap_common.c -openair3/S1AP/s1ap_common.h -openair3/S1AP/s1ap_eNB.c -openair3/S1AP/s1ap_eNB.h -openair3/S1AP/s1ap_eNB_context_management_procedures.c -openair3/S1AP/s1ap_eNB_context_management_procedures.h -openair3/S1AP/s1ap_eNB_decoder.c -openair3/S1AP/s1ap_eNB_decoder.h -openair3/S1AP/s1ap_eNB_default_values.h -openair3/S1AP/s1ap_eNB_defs.h -openair3/S1AP/s1ap_eNB_encoder.c -openair3/S1AP/s1ap_eNB_encoder.h -openair3/S1AP/s1ap_eNB_handlers.c -openair3/S1AP/s1ap_eNB_handlers.h -openair3/S1AP/s1ap_eNB_itti_messaging.c -openair3/S1AP/s1ap_eNB_itti_messaging.h -openair3/S1AP/s1ap_eNB_management_procedures.c -openair3/S1AP/s1ap_eNB_management_procedures.h -openair3/S1AP/s1ap_eNB_nas_procedures.c -openair3/S1AP/s1ap_eNB_nas_procedures.h -openair3/S1AP/s1ap_eNB_nnsf.c -openair3/S1AP/s1ap_eNB_nnsf.h -openair3/S1AP/s1ap_eNB_overload.c -openair3/S1AP/s1ap_eNB_overload.h -openair3/S1AP/s1ap_eNB_trace.c -openair3/S1AP/s1ap_eNB_trace.h -openair3/S1AP/s1ap_eNB_ue_context.c -openair3/S1AP/s1ap_eNB_ue_context.h -openair3/SCTP/sctp_common.c -openair3/SCTP/sctp_common.h -openair3/SCTP/sctp_default_values.h -openair3/SCTP/sctp_eNB_defs.h -openair3/SCTP/sctp_eNB_itti_messaging.c -openair3/SCTP/sctp_eNB_itti_messaging.h -openair3/SCTP/sctp_eNB_task.c -openair3/SCTP/sctp_eNB_task.h -openair3/SCTP/sctp_primitives_client.c -openair3/SCTP/sctp_primitives_client.h -openair3/SECU/kdf.c -openair3/SECU/key_nas_deriver.c -openair3/SECU/key_nas_encryption.c -openair3/SECU/nas_stream_eea1.c -openair3/SECU/nas_stream_eea2.c -openair3/SECU/nas_stream_eia1.c -openair3/SECU/nas_stream_eia2.c -openair3/SECU/rijndael.c -openair3/SECU/rijndael.h -openair3/SECU/secu_defs.h -openair3/SECU/snow3g.c -openair3/SECU/snow3g.h -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml -openair3/TEST/EPC_TEST/generate_scenario.c -openair3/TEST/EPC_TEST/generate_scenario.h -openair3/TEST/EPC_TEST/play_scenario.c -openair3/TEST/EPC_TEST/play_scenario.h -openair3/TEST/EPC_TEST/play_scenario_decode.c -openair3/TEST/EPC_TEST/play_scenario_display.c -openair3/TEST/EPC_TEST/play_scenario_fsm.c -openair3/TEST/EPC_TEST/play_scenario_parse.c -openair3/TEST/EPC_TEST/play_scenario_s1ap.c -openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c -openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h -openair3/TEST/EPC_TEST/play_scenario_sctp.c -openair3/TEST/oaisim_mme_client_test.c -openair3/TEST/oaisim_mme_itti_test.c -openair3/TEST/oaisim_mme_list_benchmark.c -openair3/TEST/oaisim_mme_s1ap_test.c -openair3/TEST/oaisim_mme_sctp_test.c -openair3/TEST/oaisim_mme_test_s1c.c -openair3/TEST/oaisim_mme_test_s1c.h -openair3/TEST/oaisim_mme_test_s1c_s1ap.c -openair3/TEST/oaisim_mme_test_s1c_s1ap.h -openair3/TEST/oaisim_mme_test_s1c_scenario.c -openair3/TEST/oaisim_mme_test_s1c_scenario.h -openair3/TEST/oaisim_mme_test_s1c_scenario1.c -openair3/TEST/test_aes128_cmac_encrypt.c -openair3/TEST/test_aes128_ctr_decrypt.c -openair3/TEST/test_aes128_ctr_encrypt.c -openair3/TEST/test_kdf.c -openair3/TEST/test_s1ap.c -openair3/TEST/test_secu.c -openair3/TEST/test_secu_kenb.c -openair3/TEST/test_secu_knas.c -openair3/TEST/test_secu_knas_encrypt_eea1.c -openair3/TEST/test_secu_knas_encrypt_eea2.c -openair3/TEST/test_secu_knas_encrypt_eia1.c -openair3/TEST/test_secu_knas_encrypt_eia2.c -openair3/TEST/test_secu_knas_stream_int.c -openair3/UDP/udp_eNB_task.c -openair3/UDP/udp_eNB_task.h -openair3/UTILS/CONF/COPYING -openair3/UTILS/conversions.c -openair3/UTILS/conversions.h -openair3/UTILS/enum_string.c -openair3/UTILS/enum_string.h -openair3/UTILS/log.c -openair3/UTILS/log.h -openair3/UTILS/mcc_mnc_itu.c -openair3/UTILS/mcc_mnc_itu.h -openair3/UTILS/mme_config.c -openair3/UTILS/mme_config.h -openair3/UTILS/mme_default_values.h -openair3/UTILS/mme_parser.y -openair3/UTILS/mme_scanner.l -openair3/UTILS/queue.h -openair3/UTILS/tree.h -openair3/valgrind.sh -svn2git/authors.txt -svn2git/authors_original.txt -svn2git/authors_original_java_output.txt -svn2git/check_diff_author.sh -svn2git/git-author-rewrite.sh -svn2git/README.txt -targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c -targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h -targets/ARCH/COMMON/common_lib.c -targets/ARCH/COMMON/common_lib.h -targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c -targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c -targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c -targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h -targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk -targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd -targets/ARCH/EXMIMO/BITSTREAM/program_fpga -targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd -targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd -targets/ARCH/EXMIMO/DEFS/openair_device.h -targets/ARCH/EXMIMO/DEFS/pcie_interface.h -targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h -targets/ARCH/EXMIMO/DRIVER/eurecom/do_reenumerate_expressmimo.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/do_reinsert_driver.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c -targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h -targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c -targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c -targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c -targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reenumerate_expressmimo.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reinsert_driver.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/test_script.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c -targets/ARCH/EXMIMO/DRIVER/readme.txt -targets/ARCH/EXMIMO/USERSPACE/LIB/example.c -targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c -targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h -targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c -targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo1 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m -targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp -targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp -targets/ARCH/LMSSDR/LimeSDR.ini -targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini -targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini -targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini -targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini -targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp -targets/bin/liboai_device.so -targets/bin/liboai_usrpdevif.so.Rel14 -targets/bin/lte-softmodem.Rel14 -targets/COMMON/create_tasks.c -targets/COMMON/create_tasks.h -targets/COMMON/openairinterface5g_limits.h -targets/COMMON/threads_t.h -targets/DOCS/images/oai_logo.png -targets/DOCS/api_icic.xml -targets/DOCS/Doxyfile -targets/DOCS/E-UTRAN_User_Guide.docx -targets/DOCS/E-UTRAN_User_Guide.pdf -targets/DOCS/oai_L1_L2_procedures.pdf -targets/DOCS/oaiemu.doc -targets/DOCS/oaisim_walkthrough.pdf -targets/DOCS/openair_header.tex -targets/DOCS/path_loss_oaisim.xlsx -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf -targets/PROJECTS/E-MBMS/build_all.bash -targets/PROJECTS/E-MBMS/enb.conf -targets/PROJECTS/E-MBMS/start_enb.bash -targets/PROJECTS/E-MBMS/start_ue.bash -targets/PROJECTS/E-MBMS/utils.bash -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.centos.nord.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.pft.memphis.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.epc_eur.local.exmimo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml -targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash -targets/PROJECTS/GENERIC-LTE-EPC/networks.bash -targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash -targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash -targets/PROJECTS/GENERIC-LTE-EPC/utils.bash -targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash -targets/PROJECTS/LOCALIZATION/filesave0811.mat -targets/PROJECTS/LOCALIZATION/generation.m -targets/PROJECTS/LOCALIZATION/initial_sync.m -targets/PROJECTS/LOCALIZATION/initparams.m -targets/PROJECTS/LOCALIZATION/plots.m -targets/PROJECTS/LOCALIZATION/recup.m -targets/PROJECTS/LOCALIZATION/where2.m -targets/PROJECTS/LOCALIZATION/where2_v1_final.mat -targets/PROJECTS/LOCALIZATION/where2_vf.m -targets/PROJECTS/TDDREC/v0/alterproj.m -targets/PROJECTS/TDDREC/v0/beamforming.m -targets/PROJECTS/TDDREC/v0/calibration.m -targets/PROJECTS/TDDREC/v0/genorthqpskseq.m -targets/PROJECTS/TDDREC/v0/genrandpskseq.m -targets/PROJECTS/TDDREC/v0/initparams.m -targets/PROJECTS/TDDREC/v0/initparams2.m -targets/PROJECTS/TDDREC/v0/ofdm_mod.m -targets/PROJECTS/TDDREC/v0/readme.txt -targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m -targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m -targets/PROJECTS/TDDREC/v0/runmeas_mimo.m -targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m -targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m -targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m -targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m -targets/PROJECTS/TDDREC/f_ch_est.m -targets/PROJECTS/TDDREC/f_ofdm_mod.m -targets/PROJECTS/TDDREC/f_ofdm_rx.m -targets/PROJECTS/TDDREC/f_ofdm_tx.m -targets/PROJECTS/TDDREC/f_tls_ap.m -targets/PROJECTS/TDDREC/f_tls_diag.m -targets/PROJECTS/TDDREC/f_tls_svd.m -targets/PROJECTS/TDDREC/s_beamforming.m -targets/PROJECTS/TDDREC/s_calib.m -targets/PROJECTS/TDDREC/s_draw_F.m -targets/PROJECTS/TDDREC/s_init_params.m -targets/PROJECTS/TDDREC/s_run_meas.m -targets/RT/LAUNCH_SCRIPTS/load_module.sh -targets/RT/LAUNCH_SCRIPTS/nas_enb.sh -targets/RT/LAUNCH_SCRIPTS/nas_ue.sh -targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh -targets/RT/LAUNCH_SCRIPTS/start_emos.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh -targets/RT/LAUNCH_SCRIPTS/start_rf.sh -targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh -targets/RT/LAUNCH_SCRIPTS/start_ue.sh -targets/RT/LAUNCH_SCRIPTS/start_ue2.sh -targets/RT/LAUNCH_SCRIPTS/stop_rf.sh -targets/RT/USER/TOOLS/thread_ipc.c -targets/RT/USER/TOOLS/thread_ipc.h -targets/RT/USER/condtest.c -targets/RT/USER/emos-raw.c -targets/RT/USER/eNB_exmimo2.gtkw -targets/RT/USER/eNB_transport_IQ.c -targets/RT/USER/eNB_usrp.gtkw -targets/RT/USER/exmimo2_2arxg.lime -targets/RT/USER/exmimo2_2brxg.lime -targets/RT/USER/init_b200.sh -targets/RT/USER/init_exmimo.sh -targets/RT/USER/init_exmimo2.sh -targets/RT/USER/init_rtai.sh -targets/RT/USER/lte-enb.c -targets/RT/USER/lte-ran.c -targets/RT/USER/lte-ru.c -targets/RT/USER/lte-softmodem.c -targets/RT/USER/lte-softmodem.h -targets/RT/USER/lte-ue.c -targets/RT/USER/make_for_usrp.sh -targets/RT/USER/msg_helper.c -targets/RT/USER/msg_many.c -targets/RT/USER/msg_many.h -targets/RT/USER/rau_if4_single_thread.gtkw -targets/RT/USER/rcc_if4.gtkw -targets/RT/USER/rcc_if5.gtkw -targets/RT/USER/rrh.c -targets/RT/USER/rrh.gtkw -targets/RT/USER/rrh_gw.c -targets/RT/USER/rrh_gw.h -targets/RT/USER/rrh_gw_externs.h -targets/RT/USER/rru_if4p5_single_thread.gtkw -targets/RT/USER/rru_if4p5_usrp.gtkw -targets/RT/USER/rru_if5_usrp.gtkw -targets/RT/USER/rt_wrapper.c -targets/RT/USER/rt_wrapper.h -targets/RT/USER/sleeptest.c -targets/RT/USER/stats.c -targets/RT/USER/stats.fd -targets/RT/USER/stats.h -targets/RT/USER/synctest.c -targets/RT/USER/ue_exmimo2.gtkw -targets/RT/USER/UE_transport_IQ.c -targets/RT/USER/ue_usrp.gtkw -targets/SCRIPTS/asn1_generate_rrc_messaging_c_code.bash -targets/SCRIPTS/install_asn1.sh -targets/SCRIPTS/install_asn1c_0.9.24.modified.bash -targets/SCRIPTS/msc_gen.py -targets/SCRIPTS/svn-merge-meld.py -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_ue -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/AT_serial_bouchon.py -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb_v2 -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue_cx2android -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue1 -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue2 -targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_26.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml -targets/SIMU/EXAMPLES/OSD/README.txt -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_multi_UE_nas -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_two_UE_PHY_nas -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB_OAI_LITE/start_one_eNB_multi_UE_nas -targets/SIMU/PROC/SCRIPT/Run.py -targets/SIMU/PROC/channel_sim_proc.c -targets/SIMU/PROC/channel_sim_proc.h -targets/SIMU/PROC/interface.h -targets/SIMU/PROC/Process.c -targets/SIMU/PROC/Process.h -targets/SIMU/PROC/Tsync.h -targets/SIMU/USER/files/MI_16qam.csv -targets/SIMU/USER/files/MI_16qam.txt -targets/SIMU/USER/files/MI_4qam.csv -targets/SIMU/USER/files/MI_4qam.txt -targets/SIMU/USER/files/MI_64qam.csv -targets/SIMU/USER/files/MI_64qam.txt -targets/SIMU/USER/channel_sim.c -targets/SIMU/USER/cor_SF_sim.c -targets/SIMU/USER/cor_SF_sim.h -targets/SIMU/USER/event_handler.c -targets/SIMU/USER/event_handler.h -targets/SIMU/USER/init_lte.c -targets/SIMU/USER/init_lte.h -targets/SIMU/USER/oaisim.c -targets/SIMU/USER/oaisim.h -targets/SIMU/USER/oaisim_config.c -targets/SIMU/USER/oaisim_config.h -targets/SIMU/USER/oaisim_functions.c -targets/SIMU/USER/oaisim_functions.h -targets/SIMU/USER/oaisim_pad.c -targets/SIMU/USER/phy_procedures_sim_form.c -targets/SIMU/USER/phy_procedures_sim_form.fd -targets/SIMU/USER/phy_procedures_sim_form.h -targets/SIMU/USER/plot_results.m -targets/SIMU/USER/sinr_sim.c -targets/SIMU/USER/threadpool.c -targets/SIMU/USER/threadpool.h -targets/SIMU/USER/valgrind.sh -targets/TEST/AT_COMMANDS/oaisim.c -targets/TEST/OAI/case01.py -targets/TEST/OAI/case02.py -targets/TEST/OAI/case03.py -targets/TEST/OAI/case04.py -targets/TEST/OAI/case05.py -targets/TEST/OAI/case11.py -targets/TEST/OAI/case12.py -targets/TEST/OAI/case13.py -targets/TEST/OAI/core.py -targets/TEST/OAI/log.py -targets/TEST/OAI/openair.py -targets/TEST/OAI/README -targets/TEST/OAI/test01.py -targets/TEST/OAI/test02.py -targets/TEST/PACKET_TRACER/messages/Msg4.txt -targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt -targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt -targets/TEST/PACKET_TRACER/messages/sib1.txt -targets/TEST/PACKET_TRACER/messages/sib2.txt -targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt -targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt -targets/TEST/PACKET_TRACER/messages/sib3.txt -targets/TEST/PACKET_TRACER/pt.c -targets/TEST/PACKET_TRACER/README.txt -targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt -targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c -targets/TEST/PDCP/readme.txt -targets/TEST/PDCP/test_pdcp.c -targets/TEST/PDCP/test_pdcp.h -targets/TEST/PDCP/test_util.h -targets/TEST/PDCP/todo.txt -targets/TEST/RLC_AM_V9.3.0/oaisim.c -targets/TEST/RLC_UM_V9.3.0/oaisim.c -targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp -targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp -targets/TEST/ROHDE_SCHWARZ/TcpClient.h -targets/build_helper.bash -targets/build_oai.bash -targets/itti_vcd_tasks.sav -targets/Makerules -targets/perf_oai.bash -targets/README.txt -LICENSE -maketags -NOTICE.txt -oaienv -pre-commit -README.txt \ No newline at end of file From eaf4c79f8c9821adfee7d38f1d360e40e9698911 Mon Sep 17 00:00:00 2001 From: khalid Date: Wed, 9 Aug 2017 16:49:43 +0200 Subject: [PATCH 014/109] Delete ray_enb_dev.includes --- ray_enb_dev.includes | 144 ------------------------------------------- 1 file changed, 144 deletions(-) delete mode 100644 ray_enb_dev.includes diff --git a/ray_enb_dev.includes b/ray_enb_dev.includes deleted file mode 100644 index ff1452acfd..0000000000 --- a/ray_enb_dev.includes +++ /dev/null @@ -1,144 +0,0 @@ -cmake_targets/lte_build_oai/build/CMakeFiles -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5 -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2 -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14 -common -common/utils -common/utils/collection -common/utils/hashtable -common/utils/itti -common/utils/itti_analyzer/common -common/utils/itti_analyzer/libbuffers -common/utils/itti_analyzer/libparser -common/utils/itti_analyzer/libresolver -common/utils/itti_analyzer/libui -common/utils/msc -common/utils/T -common/utils/T/tracer -common/utils/T/tracer/filter -common/utils/T/tracer/gui -common/utils/T/tracer/logger -common/utils/T/tracer/view -openair1/PHY -openair1/PHY/CODING -openair1/PHY/INIT -openair1/PHY/LTE_ESTIMATION -openair1/PHY/LTE_REFSIG -openair1/PHY/LTE_TRANSPORT -openair1/PHY/MODULATION -openair1/PHY/TOOLS -openair1/SCHED -openair1/SIMULATION/ETH_TRANSPORT -openair1/SIMULATION/LTE_PHY -openair1/SIMULATION/RF -openair1/SIMULATION/TOOLS -openair2/COMMON -openair2/DOCS/TEMPLATES/CODE -openair2/ENB_APP -openair2/ENB_APP/CONTROL_MODULES/MAC -openair2/LAYER2 -openair2/LAYER2/MAC -openair2/LAYER2/PDCP_v10.1.0 -openair2/LAYER2/RLC -openair2/LAYER2/RLC/AM_v9.3.0 -openair2/LAYER2/RLC/TM_v9.3.0 -openair2/LAYER2/RLC/UM_v9.3.0 -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL -openair2/NAS/DRIVER/CELLULAR/NASMT -openair2/NAS/DRIVER/CELLULAR/NASRG -openair2/NAS/SIMU_CELLULAR -openair2/NETWORK_DRIVER/LITE -openair2/NETWORK_DRIVER/MESH -openair2/NETWORK_DRIVER/UE_IP -openair2/PHY_INTERFACE -openair2/RRC/L2_INTERFACE -openair2/RRC/LITE -openair2/RRC/LITE/MESSAGES -openair2/RRC/NAS -openair2/UTIL/ASYNC_IF -openair2/UTIL/BIGPHYS -openair2/UTIL/CLI -openair2/UTIL/FIFO -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack -openair2/UTIL/LFDS/liblfds6.1.1/test/src -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700 -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack -openair2/UTIL/LFDS/liblfds7.0.0/test/src -openair2/UTIL/LISTS -openair2/UTIL/LOG -openair2/UTIL/MATH -openair2/UTIL/MEM -openair2/UTIL/OCG -openair2/UTIL/OMG -openair2/UTIL/OMV -openair2/UTIL/OPT -openair2/UTIL/OSA -openair2/UTIL/OTG -openair2/UTIL/TIMER -openair2/UTIL/TRACE -openair2/X2AP -openair3/COMMON -openair3/GTPV1-U -openair3/GTPV1-U/nw-gtpv1u/include -openair3/GTPV1-U/nw-gtpv1u/shared -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld -openair3/NAS/COMMON -openair3/NAS/COMMON/API/NETWORK -openair3/NAS/COMMON/EMM/MSG -openair3/NAS/COMMON/ESM/MSG -openair3/NAS/COMMON/IES -openair3/NAS/COMMON/UTIL -openair3/NAS/TEST/AS_SIMULATOR -openair3/NAS/TEST/NETWORK -openair3/NAS/TEST/USER -openair3/NAS/TOOLS -openair3/NAS/UE -openair3/NAS/UE/API/USER -openair3/NAS/UE/API/USIM -openair3/NAS/UE/EMM -openair3/NAS/UE/EMM/SAP -openair3/NAS/UE/ESM -openair3/NAS/UE/ESM/SAP -openair3/S1AP -openair3/SCTP -openair3/SECU -openair3/TEST -openair3/TEST/EPC_TEST -openair3/UDP -openair3/UTILS -targets/ARCH/BLADERF/USERSPACE/LIB -targets/ARCH/COMMON -targets/ARCH/ETHERNET/USERSPACE/LIB -targets/ARCH/EXMIMO/DEFS -targets/ARCH/EXMIMO/DRIVER/eurecom -targets/ARCH/EXMIMO/DRIVER/exmimo3 -targets/ARCH/EXMIMO/DRIVER/telecomparistech -targets/ARCH/EXMIMO/USERSPACE/LIB -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT -targets/ARCH/EXMIMO/USERSPACE/OCTAVE -targets/COMMON -targets/RT/USER -targets/RT/USER/TOOLS -targets/SIMU/PROC -targets/SIMU/USER -targets/TEST/PDCP -targets/TEST/ROHDE_SCHWARZ \ No newline at end of file From 01868adee25d275dd7e25ab6b31dec552a607b6d Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Thu, 10 Aug 2017 17:24:55 -0700 Subject: [PATCH 015/109] repairs after merge from upstream --- openair2/ENB_APP/enb_config.c | 759 +++++++++++++++------------------- 1 file changed, 340 insertions(+), 419 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index b1ba3e4139..d6cc16524a 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -1197,12 +1197,12 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { asn1_xer_print = 0; } } - + #endif - + // Get list of active eNBs, (only these will be configured) setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - + if (setting != NULL) { num_enbs = config_setting_length(setting); setting_enb = config_setting_get_elem(setting, i); @@ -1278,7 +1278,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { rrc->eth_params_s.remote_portd = remote_s_portd; rrc->eth_params_s.transp_preference = ETH_UDP_MODE; } - + else { // other midhaul } @@ -2235,7 +2235,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, pcch_defaultPagingCycle); - + switch (bcch_modificationPeriodCoeff) { case 2: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; @@ -2528,6 +2528,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, ue_TransmissionMode); break; } + #ifdef Rel14 setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); if (setting_br13 == NULL) { @@ -2541,7 +2542,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); int num_scheduling_info = config_setting_length(scheduling_info_br_list); RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; - + for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) { scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); @@ -2612,7 +2613,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; } - + prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; @@ -2696,9 +2697,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) -#if !defined(Rel10) && !defined(Rel14) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN) -#endif && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) @@ -2811,15 +2809,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", RC.config_file_name, i, pucch_nCS_AN); -#if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = pucch_n1_AN; - - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); - -#endif RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) @@ -3019,32 +3008,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", RC.config_file_name, i, pusch_p0_Nominal); -#ifndef Rel14 - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; - } -#else if (strcmp(pusch_alpha, "AL0") == 0) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; } @@ -3069,7 +3032,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { else if (strcmp(pusch_alpha, "AL1") == 0) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1; } -#endif 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", @@ -3280,52 +3242,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { switch (rach_preambleTransMax) { -#ifndef Rel14 - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; - -#else case 3: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; @@ -3370,7 +3286,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { case 200: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; break; -#endif + default: AssertFatal (0, @@ -3749,7 +3665,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, ue_TransmissionMode); break; } - + int hyperSFN_r13; int eDRX_Allowed_r13; int q_RxLevMinCE_r13; @@ -3862,11 +3778,12 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; - + } + else RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; - + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; @@ -3915,7 +3832,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; - + /////SIB2 Parameters if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) @@ -3925,7 +3842,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; - + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; @@ -3962,337 +3879,341 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; } else RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; - } + + #endif + + + + setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); + + if (setting_srb1 != NULL) { + if (!(config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, &srb1_timer_poll_retransmit) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, &srb1_timer_reordering) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, &srb1_timer_status_prohibit) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, &srb1_max_retx_threshold) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_PDU, &srb1_poll_pdu) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_BYTE, &srb1_poll_byte))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d timer_poll_retransmit, timer_reordering, " + "timer_status_prohibit, poll_pdu, poll_byte, max_retx_threshold !\n", + RC.config_file_name, i); + + switch (srb1_max_retx_threshold) { + case 1: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; + break; + + case 2: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; + break; + + case 3: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; + break; + + case 4: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; + break; + + case 6: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; + break; + + case 8: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + break; + + case 16: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; + break; + + case 32: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", + RC.config_file_name, i, srb1_max_retx_threshold); + } + + + switch (srb1_poll_pdu) { + case 4: + rrc->srb1_poll_pdu = PollPDU_p4; + break; + + case 8: + rrc->srb1_poll_pdu = PollPDU_p8; + break; + + case 16: + rrc->srb1_poll_pdu = PollPDU_p16; + break; + + case 32: + rrc->srb1_poll_pdu = PollPDU_p32; + break; + + case 64: + rrc->srb1_poll_pdu = PollPDU_p64; + break; + + case 128: + rrc->srb1_poll_pdu = PollPDU_p128; + break; + + case 256: + rrc->srb1_poll_pdu = PollPDU_p256; + break; + + default: + if (srb1_poll_pdu >= 10000) + rrc->srb1_poll_pdu = PollPDU_pInfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", + RC.config_file_name, i, srb1_poll_pdu); + } + + rrc->srb1_poll_byte = srb1_poll_byte; + + switch (srb1_poll_byte) { + case 25: + rrc->srb1_poll_byte = PollByte_kB25; + break; + + case 50: + rrc->srb1_poll_byte = PollByte_kB50; + break; + + case 75: + rrc->srb1_poll_byte = PollByte_kB75; + break; + + case 100: + rrc->srb1_poll_byte = PollByte_kB100; + break; + + case 125: + rrc->srb1_poll_byte = PollByte_kB125; + break; + + case 250: + rrc->srb1_poll_byte = PollByte_kB250; + break; + + case 375: + rrc->srb1_poll_byte = PollByte_kB375; + break; + + case 500: + rrc->srb1_poll_byte = PollByte_kB500; + break; + + case 750: + rrc->srb1_poll_byte = PollByte_kB750; + break; + + case 1000: + rrc->srb1_poll_byte = PollByte_kB1000; + break; + + case 1250: + rrc->srb1_poll_byte = PollByte_kB1250; + break; + + case 1500: + rrc->srb1_poll_byte = PollByte_kB1500; + break; + + case 2000: + rrc->srb1_poll_byte = PollByte_kB2000; + break; + + case 3000: + rrc->srb1_poll_byte = PollByte_kB3000; + break; + + default: + if (srb1_poll_byte >= 10000) + rrc->srb1_poll_byte = PollByte_kBinfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", + RC.config_file_name, i, srb1_poll_byte); + } + + if (srb1_timer_poll_retransmit <= 250) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; + } + else if (srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_timer_poll_retransmit); + } + + if (srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; + } + else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + RC.config_file_name, i, srb1_timer_status_prohibit); + } + + switch (srb1_timer_reordering) { + case 0: + rrc->srb1_timer_reordering = T_Reordering_ms0; + break; + + case 5: + rrc->srb1_timer_reordering = T_Reordering_ms5; + break; + + case 10: + rrc->srb1_timer_reordering = T_Reordering_ms10; + break; + + case 15: + rrc->srb1_timer_reordering = T_Reordering_ms15; + break; + + case 20: + rrc->srb1_timer_reordering = T_Reordering_ms20; + break; + + case 25: + rrc->srb1_timer_reordering = T_Reordering_ms25; + break; + + case 30: + rrc->srb1_timer_reordering = T_Reordering_ms30; + break; + + case 35: + rrc->srb1_timer_reordering = T_Reordering_ms35; + break; + + case 40: + rrc->srb1_timer_reordering = T_Reordering_ms40; + break; + + case 45: + rrc->srb1_timer_reordering = T_Reordering_ms45; + break; + + case 50: + rrc->srb1_timer_reordering = T_Reordering_ms50; + break; + + case 55: + rrc->srb1_timer_reordering = T_Reordering_ms55; + break; + + case 60: + rrc->srb1_timer_reordering = T_Reordering_ms60; + break; + + case 65: + rrc->srb1_timer_reordering = T_Reordering_ms65; + break; + + case 70: + rrc->srb1_timer_reordering = T_Reordering_ms70; + break; + + case 75: + rrc->srb1_timer_reordering = T_Reordering_ms75; + break; + + case 80: + rrc->srb1_timer_reordering = T_Reordering_ms80; + break; + + case 85: + rrc->srb1_timer_reordering = T_Reordering_ms85; + break; + + case 90: + rrc->srb1_timer_reordering = T_Reordering_ms90; + break; + + case 95: + rrc->srb1_timer_reordering = T_Reordering_ms95; + break; + + case 100: + rrc->srb1_timer_reordering = T_Reordering_ms100; + break; + + case 110: + rrc->srb1_timer_reordering = T_Reordering_ms110; + break; + + case 120: + rrc->srb1_timer_reordering = T_Reordering_ms120; + break; + + case 130: + rrc->srb1_timer_reordering = T_Reordering_ms130; + break; + + case 140: + rrc->srb1_timer_reordering = T_Reordering_ms140; + break; + + case 150: + rrc->srb1_timer_reordering = T_Reordering_ms150; + break; + + case 160: + rrc->srb1_timer_reordering = T_Reordering_ms160; + break; + + case 170: + rrc->srb1_timer_reordering = T_Reordering_ms170; + break; + + case 180: + rrc->srb1_timer_reordering = T_Reordering_ms180; + break; + + case 190: + rrc->srb1_timer_reordering = T_Reordering_ms190; + break; + + case 200: + rrc->srb1_timer_reordering = T_Reordering_ms200; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", + RC.config_file_name, i, srb1_timer_reordering); + } + + break; + } + + } } - - - setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); - - if (setting_srb1 != NULL) { - if (!(config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, &srb1_timer_poll_retransmit) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, &srb1_timer_reordering) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, &srb1_timer_status_prohibit) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, &srb1_max_retx_threshold) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_PDU, &srb1_poll_pdu) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_BYTE, &srb1_poll_byte))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d timer_poll_retransmit, timer_reordering, " - "timer_status_prohibit, poll_pdu, poll_byte, max_retx_threshold !\n", - RC.config_file_name, i); - - switch (srb1_max_retx_threshold) { - case 1: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; - break; - - case 2: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; - break; - - case 3: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; - break; - - case 4: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; - break; - - case 6: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; - break; - - case 8: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - break; - - case 16: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; - break; - - case 32: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", - RC.config_file_name, i, srb1_max_retx_threshold); - } - - - switch (srb1_poll_pdu) { - case 4: - rrc->srb1_poll_pdu = PollPDU_p4; - break; - - case 8: - rrc->srb1_poll_pdu = PollPDU_p8; - break; - - case 16: - rrc->srb1_poll_pdu = PollPDU_p16; - break; - - case 32: - rrc->srb1_poll_pdu = PollPDU_p32; - break; - - case 64: - rrc->srb1_poll_pdu = PollPDU_p64; - break; - - case 128: - rrc->srb1_poll_pdu = PollPDU_p128; - break; - - case 256: - rrc->srb1_poll_pdu = PollPDU_p256; - break; - - default: - if (srb1_poll_pdu >= 10000) - rrc->srb1_poll_pdu = PollPDU_pInfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", - RC.config_file_name, i, srb1_poll_pdu); - } - - rrc->srb1_poll_byte = srb1_poll_byte; - - switch (srb1_poll_byte) { - case 25: - rrc->srb1_poll_byte = PollByte_kB25; - break; - - case 50: - rrc->srb1_poll_byte = PollByte_kB50; - break; - - case 75: - rrc->srb1_poll_byte = PollByte_kB75; - break; - - case 100: - rrc->srb1_poll_byte = PollByte_kB100; - break; - - case 125: - rrc->srb1_poll_byte = PollByte_kB125; - break; - - case 250: - rrc->srb1_poll_byte = PollByte_kB250; - break; - - case 375: - rrc->srb1_poll_byte = PollByte_kB375; - break; - - case 500: - rrc->srb1_poll_byte = PollByte_kB500; - break; - - case 750: - rrc->srb1_poll_byte = PollByte_kB750; - break; - - case 1000: - rrc->srb1_poll_byte = PollByte_kB1000; - break; - - case 1250: - rrc->srb1_poll_byte = PollByte_kB1250; - break; - - case 1500: - rrc->srb1_poll_byte = PollByte_kB1500; - break; - - case 2000: - rrc->srb1_poll_byte = PollByte_kB2000; - break; - - case 3000: - rrc->srb1_poll_byte = PollByte_kB3000; - break; - - default: - if (srb1_poll_byte >= 10000) - rrc->srb1_poll_byte = PollByte_kBinfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", - RC.config_file_name, i, srb1_poll_byte); - } - - if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; - } - else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } - - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; - } - else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", - RC.config_file_name, i, srb1_timer_status_prohibit); - } - - switch (srb1_timer_reordering) { - case 0: - rrc->srb1_timer_reordering = T_Reordering_ms0; - break; - - case 5: - rrc->srb1_timer_reordering = T_Reordering_ms5; - break; - - case 10: - rrc->srb1_timer_reordering = T_Reordering_ms10; - break; - - case 15: - rrc->srb1_timer_reordering = T_Reordering_ms15; - break; - - case 20: - rrc->srb1_timer_reordering = T_Reordering_ms20; - break; - - case 25: - rrc->srb1_timer_reordering = T_Reordering_ms25; - break; - - case 30: - rrc->srb1_timer_reordering = T_Reordering_ms30; - break; - - case 35: - rrc->srb1_timer_reordering = T_Reordering_ms35; - break; - - case 40: - rrc->srb1_timer_reordering = T_Reordering_ms40; - break; - - case 45: - rrc->srb1_timer_reordering = T_Reordering_ms45; - break; - - case 50: - rrc->srb1_timer_reordering = T_Reordering_ms50; - break; - - case 55: - rrc->srb1_timer_reordering = T_Reordering_ms55; - break; - - case 60: - rrc->srb1_timer_reordering = T_Reordering_ms60; - break; - - case 65: - rrc->srb1_timer_reordering = T_Reordering_ms65; - break; - - case 70: - rrc->srb1_timer_reordering = T_Reordering_ms70; - break; - - case 75: - rrc->srb1_timer_reordering = T_Reordering_ms75; - break; - - case 80: - rrc->srb1_timer_reordering = T_Reordering_ms80; - break; - - case 85: - rrc->srb1_timer_reordering = T_Reordering_ms85; - break; - - case 90: - rrc->srb1_timer_reordering = T_Reordering_ms90; - break; - - case 95: - rrc->srb1_timer_reordering = T_Reordering_ms95; - break; - - case 100: - rrc->srb1_timer_reordering = T_Reordering_ms100; - break; - - case 110: - rrc->srb1_timer_reordering = T_Reordering_ms110; - break; - - case 120: - rrc->srb1_timer_reordering = T_Reordering_ms120; - break; - - case 130: - rrc->srb1_timer_reordering = T_Reordering_ms130; - break; - - case 140: - rrc->srb1_timer_reordering = T_Reordering_ms140; - break; - - case 150: - rrc->srb1_timer_reordering = T_Reordering_ms150; - break; - - case 160: - rrc->srb1_timer_reordering = T_Reordering_ms160; - break; - - case 170: - rrc->srb1_timer_reordering = T_Reordering_ms170; - break; - - case 180: - rrc->srb1_timer_reordering = T_Reordering_ms180; - break; - - case 190: - rrc->srb1_timer_reordering = T_Reordering_ms190; - break; - - case 200: - rrc->srb1_timer_reordering = T_Reordering_ms200; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } - - break; } } } } } - int RCconfig_gtpu() { config_t cfg; config_setting_t *setting = NULL; From 9b174dd831f352e25355fd35338038f2c48c1678 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Sun, 13 Aug 2017 19:33:33 +0200 Subject: [PATCH 016/109] integration step 1, breaks in SIB2 generation in L1 (lte-segmentation.c) --- openair1/PHY/CODING/lte_rate_matching.c | 5 +- openair1/PHY/CODING/lte_segmentation.c | 3 + openair1/SCHED/phy_procedures_lte_eNb.c | 6 +- openair2/ENB_APP/enb_config.c | 19 +- openair2/LAYER2/MAC/config.c | 1 + openair2/LAYER2/MAC/eNB_scheduler_bch.c | 543 ++++++++++--------- openair2/RRC/LITE/L2_interface.c | 18 +- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 32 +- openair2/RRC/LITE/MESSAGES/asn1_msg.h | 6 +- openair2/RRC/LITE/rrc_eNB.c | 26 +- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 12 +- 11 files changed, 366 insertions(+), 305 deletions(-) diff --git a/openair1/PHY/CODING/lte_rate_matching.c b/openair1/PHY/CODING/lte_rate_matching.c index 41090757e8..a25dbe8b79 100644 --- a/openair1/PHY/CODING/lte_rate_matching.c +++ b/openair1/PHY/CODING/lte_rate_matching.c @@ -514,7 +514,8 @@ uint32_t lte_rate_matching_turbo(uint32_t RTC, if (Ncb>(3*(RTC<<5))) AssertFatal(1==0,"Exiting, RM condition (Ncb %d, RTC %d, Nir/C %d, Nsoft %d, Kw %d)\n",Ncb,RTC,Nir/C,Nsoft,3*(RTC<<5)); - + AssertFatal(Nl>0,"Nl is 0\n"); + AssertFatal(Qm>0,"Qm is 0\n"); Gp = G/Nl/Qm; GpmodC = Gp%C; @@ -720,6 +721,8 @@ int lte_rate_matching_turbo_rx(uint32_t RTC, Ncb = 3*(RTC<<5); } + AssertFatal(Nl>0,"Nl is 0\n"); + AssertFatal(Qm>0,"Qm is 0\n"); Gp = G/Nl/Qm; GpmodC = Gp%C; diff --git a/openair1/PHY/CODING/lte_segmentation.c b/openair1/PHY/CODING/lte_segmentation.c index f63d5ddb11..0941069067 100644 --- a/openair1/PHY/CODING/lte_segmentation.c +++ b/openair1/PHY/CODING/lte_segmentation.c @@ -123,6 +123,9 @@ int lte_segmentation(unsigned char *input_buffer, } + AssertFatal(Bprime <= (*Cplus)*(*Kplus) + (*Cminus)*(*Kminus), + "Bprime %d < (*Cplus %d)*(*Kplus %d) + (*Cminus %d)*(*Kminus %d)\n", + Bprime,*Cplus,*Kplus,*Cminus,*Kminus); *F = ((*Cplus)*(*Kplus) + (*Cminus)*(*Kminus) - (Bprime)); #ifdef DEBUG_SEGMENTATION diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index f44e4309d8..7c8b31997b 100644 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1018,7 +1018,7 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, else dlsch1_harq->pdu = sdu; #ifdef Rel14 - if ((rel13->pdsch_payload_type == 0) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR + if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR // configure PDSCH switch (eNB->frame_parms.N_RB_DL) { case 6: @@ -1048,8 +1048,8 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0_harq->nb_rb = 6; dlsch0_harq->vrb_type = LOCALIZED; - dlsch0_harq->rvidx = 0; - dlsch0_harq->Nl = 0; + dlsch0_harq->rvidx = rel8->redundancy_version; + dlsch0_harq->Nl = 1; dlsch0_harq->mimo_mode = (eNB->frame_parms.nb_antenna_ports_eNB == 1) ? SISO : ALAMOUTI; dlsch0_harq->dl_power_off = 1; dlsch0_harq->round = 0; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index f35b1b812c..a5996d8a9a 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -566,7 +566,8 @@ void RCconfig_RU() { if ( !( - config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RS_EPRE, &max_pdschReferenceSignalPower) + config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RS_EPRE, &max_pdschReferenceSignalPower) && + config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RXGAIN, &max_rxgain) ) ) { AssertFatal (0, @@ -575,8 +576,6 @@ void RCconfig_RU() { continue; } ->>>>>>> faa111ecc0815354979e075d5b83c5af107d404e - AssertFatal((setting_band = config_setting_get_member(setting_ru, CONFIG_STRING_RU_BAND_LIST))!=NULL,"No allowable LTE bands\n"); if (setting_band != NULL) num_bands = config_setting_length(setting_band); @@ -2568,12 +2567,13 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) { scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); - if (! config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) - ) - { - AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); - } + if (!( + config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) + && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) + ) + ){ + AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); + } RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; } @@ -3767,6 +3767,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { + printf("Enabling BR access SI scheduling parameters\n"); RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 0d9980ed10..14ca142c23 100644 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -527,6 +527,7 @@ int rrc_mac_config_req_eNB(module_id_t Mod_idP, } #ifdef Rel14 if (sib1_v13ext != NULL) { + LOG_I(MAC,"[CONFIG] Retrieved sib1_v13ext\n"); RC.mac[Mod_idP]->common_channels[CC_idP].sib1_v13ext = sib1_v13ext; } #endif diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 208a5c8fbb..994106066e 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -176,6 +176,7 @@ schedule_SIB1_BR( n_NB = Sj[((cc->physCellId % N_S_NB) + (i*N_S_NB/m))%N_S_NB]; + if ((frameP%1000) < 40) LOG_D(MAC,"[eNB %d] Frame %d, subframe %d : BCCH_BR->DLSCH (SIB1) CC_id %d\n",module_idP,frameP,subframeP,CC_id); bcch_sdu_length = mac_rrc_data_req(module_idP, CC_id, @@ -189,98 +190,98 @@ schedule_SIB1_BR( AssertFatal(cc->mib->message.schedulingInfoSIB1_BR_r13<19,"schedulingInfoSIB1_BR_r13 %d > 18\n", (int)cc->mib->message.schedulingInfoSIB1_BR_r13); + AssertFatal(bcch_sdu_length>0,"RRC returned 0 bytes for SIB1-BR\n"); + TBS = SIB1_BR_TBS_table[(cc->mib->message.schedulingInfoSIB1_BR_r13-1)/3]>>3; - AssertFatal(bcch_sdu_length <= TBS, "length returned by RRC is not compatible with the TBS %d from MIB\n",TBS); + AssertFatal(bcch_sdu_length <= TBS, "length returned by RRC %d is not compatible with the TBS %d from MIB\n",bcch_sdu_length,TBS); - if (bcch_sdu_length > 0) { - LOG_D(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,CC_id,bcch_sdu_length); - // allocate all 6 PRBs in narrowband for SIB1_BR - first_rb = n_NB*6; - vrb_map[first_rb] = 1; - vrb_map[first_rb+1] = 1; - vrb_map[first_rb+2] = 1; - vrb_map[first_rb+3] = 1; - vrb_map[first_rb+4] = 1; - vrb_map[first_rb+5] = 1; + if ((frameP%1000) < 40) LOG_D(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH (SIB1) CC_id %d, Received %d bytes for NB %d\n",module_idP,frameP,CC_id,bcch_sdu_length,n_NB); - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.length = TBS; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = 0xFFFF; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,6); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = rvidx; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // Rel13 fields - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = 1; // CEModeA UE - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 0; // SIB1-BR - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = 0xFFFF; // absolute SF - - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - dl_req->number_pdu++; - - // Program TX Request - TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; - TX_req->pdu_length = bcch_sdu_length; - TX_req->pdu_index = eNB->pdu_index[CC_id]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = bcch_sdu_length; - TX_req->segments[0].segment_data = cc->BCCH_BR_pdu[0].payload; - eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; - + // allocate all 6 PRBs in narrowband for SIB1_BR + first_rb = n_NB*6; + vrb_map[first_rb] = 1; + vrb_map[first_rb+1] = 1; + vrb_map[first_rb+2] = 1; + vrb_map[first_rb+3] = 1; + vrb_map[first_rb+4] = 1; + vrb_map[first_rb+5] = 1; - - if (opt_enabled == 1) { - trace_pdu(1, - &cc->BCCH_BR_pdu[0].payload[0], - bcch_sdu_length, - 0xffff, - 4, - 0xffff, - eNB->frame, - eNB->subframe, - 0, - 0); - LOG_D(OPT,"[eNB %d][BCH] Frame %d trace pdu for CC_id %d rnti %x with size %d\n", - module_idP, frameP, CC_id, 0xffff, bcch_sdu_length); - } - if (cc->tdd_Config!=NULL) { //TDD - LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH-BR 0->DLSCH (TDD) for CC_id %d SIB1-BR %d bytes\n", - frameP, - CC_id, - bcch_sdu_length); - } else { - LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH-BR 0->DLSCH (FDD) for CC_id %d SIB1-BR %d bytes\n", - frameP, - CC_id, - bcch_sdu_length); - } - } else { - - //LOG_D(MAC,"[eNB %d] Frame %d : BCCH not active \n",Mod_id,frame); + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.length = TBS; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = 0xFFFF; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = rvidx; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // Rel13 fields + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = 1; // CEModeA UE + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 0; // SIB1-BR + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = 0xFFFF; // absolute SF + + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + dl_req->number_pdu++; + + // Program TX Request + TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + TX_req->pdu_length = bcch_sdu_length; + TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = bcch_sdu_length; + TX_req->segments[0].segment_data = cc->BCCH_BR_pdu[0].payload; + eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + + + + if (opt_enabled == 1) { + trace_pdu(1, + &cc->BCCH_BR_pdu[0].payload[0], + bcch_sdu_length, + 0xffff, + 4, + 0xffff, + eNB->frame, + eNB->subframe, + 0, + 0); + LOG_D(OPT,"[eNB %d][BCH] Frame %d trace pdu for CC_id %d rnti %x with size %d\n", + module_idP, frameP, CC_id, 0xffff, bcch_sdu_length); } + if (cc->tdd_Config!=NULL) { //TDD + LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH-BR 0->DLSCH (TDD) for CC_id %d SIB1-BR %d bytes\n", + frameP, + CC_id, + bcch_sdu_length); + } else { + LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH-BR 0->DLSCH (FDD) for CC_id %d SIB1-BR %d bytes\n", + frameP, + CC_id, + bcch_sdu_length); + } + } + return; } @@ -360,7 +361,12 @@ schedule_SI_BR( int period_in_sf = 80<>1) + (sf_mod_period&1))&3; + + if ((frameP%1000) < 200) LOG_I(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH (SI) CC_id %d, rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d\n", + module_idP,frameP,CC_id,si_Narrowband_r13,rvidx, + sf_mod_period,si_WindowLength_BR_r13,si_RepetitionPattern_r13); if ((sf_mod_period < si_WindowLength_BR_r13) && ((frameP&(((1<0,"RRC returned 0 bytes for SI-BR %d\n",i); if (bcch_sdu_length > 0) { AssertFatal(bcch_sdu_length <= (si_TBS_r13>>3), - "RRC provided bcch with length %d > %d\n", - bcch_sdu_length,(int)(si_TBS_r13>>3)); + "RRC provided bcch with length %d > %d (si_TBS_r13 %d)n", + bcch_sdu_length,(int)(si_TBS_r13>>3),schedulingInfoList_BR_r13->list.array[i]->si_TBS_r13); LOG_D(MAC,"[eNB %d] Frame %d : BCCH_BR %d->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,i,CC_id,bcch_sdu_length); - + + if ((frameP%1000) < 200) LOG_I(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH (SI) CC_id %d, Received %d bytes for NB %d/rvidx %d\n",module_idP,frameP,CC_id,bcch_sdu_length,si_Narrowband_r13,rvidx); + // allocate all 6 PRBs in narrowband for SIB1_BR first_rb = si_Narrowband_r13*6; vrb_map[first_rb] = 1; @@ -504,6 +513,8 @@ void schedule_mib(module_id_t module_idP, LOG_D(MAC,"Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP,subframeP,dl_req->number_pdu,mib_sdu_length); + if ((frameP&1023) < 40) LOG_I(MAC,"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",module_idP,frameP,CC_id,mib_sdu_length,cc->mib->message.schedulingInfoSIB1_BR_r13); + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_BCH_PDU_TYPE, @@ -553,190 +564,196 @@ schedule_SI( start_meas(&eNB->schedule_si); - // Only schedule System Information in subframe 5 - if (subframeP != 5) return; - - for (CC_id=0; CC_idcommon_channels[CC_id]; - vrb_map = (void*)&cc->vrb_map; - N_RB_DL = to_prb(cc->mib->message.dl_Bandwidth); - dl_req = &eNB->DL_req[CC_id].dl_config_request_body; - - - bcch_sdu_length = mac_rrc_data_req(module_idP, - CC_id, - frameP, - BCCH,1, - &cc->BCCH_pdu.payload[0], - 1, - module_idP, - 0); // not used in this case - - if (bcch_sdu_length > 0) { - LOG_D(MAC,"[eNB %d] Frame %d : BCCH->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,CC_id,bcch_sdu_length); - - // Allocate 4 PRBs in a random location - /* - while (1) { - first_rb = (unsigned char)(taus()%(PHY_vars_eNB_g[module_idP][CC_id]->frame_parms.N_RB_DL-4)); - if ((vrb_map[first_rb] != 1) && - (vrb_map[first_rb+1] != 1) && - (vrb_map[first_rb+2] != 1) && - (vrb_map[first_rb+3] != 1)) - break; - } - */ - switch (N_RB_DL) { - case 6: - first_rb = 0; - break; - case 15: - first_rb = 6; - break; - case 25: - first_rb = 11; - break; - case 50: - first_rb = 23; - break; - case 100: - first_rb = 48; - break; - } - - vrb_map[first_rb] = 1; - vrb_map[first_rb+1] = 1; - vrb_map[first_rb+2] = 1; - vrb_map[first_rb+3] = 1; - - // Get MCS for length of SI, 3 PRBs - if (bcch_sdu_length <= 7) { - mcs=0; - } else if (bcch_sdu_length <= 11) { - mcs=1; - } else if (bcch_sdu_length <= 18) { - mcs=2; - } else if (bcch_sdu_length <= 22) { - mcs=3; - } else if (bcch_sdu_length <= 26) { - mcs=4; - } else if (bcch_sdu_length <= 28) { - mcs=5; - } else if (bcch_sdu_length <= 32) { - mcs=6; - } else if (bcch_sdu_length <= 41) { - mcs=7; - } else if (bcch_sdu_length <= 49) { - mcs=8; - } - - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dci_dl_pdu)); - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1A; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = 4; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = 0xFFFF; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 2; // S-RNTI : see Table 4-10 from SCF082 - nFAPI specifications - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + // Only schedule LTE System Information in subframe 5 + if (subframeP == 5) { + + for (CC_id=0; CC_iddci_dl_pdu.dci_dl_pdu_rel8.harq_process = 0; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // no TPC - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; - - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,4); - - if (!CCE_allocation_infeasible(module_idP,CC_id,1,subframeP,dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level,SI_RNTI)) { - LOG_D(MAC,"Frame %d: Subframe %d : Adding common DCI for S_RNTI\n", - frameP,subframeP); - dl_req->number_dci++; - dl_req->number_pdu++; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + cc = &eNB->common_channels[CC_id]; + vrb_map = (void*)&cc->vrb_map; + N_RB_DL = to_prb(cc->mib->message.dl_Bandwidth); + dl_req = &eNB->DL_req[CC_id].dl_config_request_body; + + + bcch_sdu_length = mac_rrc_data_req(module_idP, + CC_id, + frameP, + BCCH,1, + &cc->BCCH_pdu.payload[0], + 1, + module_idP, + 0); // not used in this case + + if (bcch_sdu_length > 0) { + LOG_D(MAC,"[eNB %d] Frame %d : BCCH->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,CC_id,bcch_sdu_length); + + // Allocate 4 PRBs in a random location + /* + while (1) { + first_rb = (unsigned char)(taus()%(PHY_vars_eNB_g[module_idP][CC_id]->frame_parms.N_RB_DL-4)); + if ((vrb_map[first_rb] != 1) && + (vrb_map[first_rb+1] != 1) && + (vrb_map[first_rb+2] != 1) && + (vrb_map[first_rb+3] != 1)) + break; + } + */ + switch (N_RB_DL) { + case 6: + first_rb = 0; + break; + case 15: + first_rb = 6; + break; + case 25: + first_rb = 11; + break; + case 50: + first_rb = 23; + break; + case 100: + first_rb = 48; + break; + } + + vrb_map[first_rb] = 1; + vrb_map[first_rb+1] = 1; + vrb_map[first_rb+2] = 1; + vrb_map[first_rb+3] = 1; + + // Get MCS for length of SI, 3 PRBs + if (bcch_sdu_length <= 7) { + mcs=0; + } else if (bcch_sdu_length <= 11) { + mcs=1; + } else if (bcch_sdu_length <= 18) { + mcs=2; + } else if (bcch_sdu_length <= 22) { + mcs=3; + } else if (bcch_sdu_length <= 26) { + mcs=4; + } else if (bcch_sdu_length <= 28) { + mcs=5; + } else if (bcch_sdu_length <= 32) { + mcs=6; + } else if (bcch_sdu_length <= 41) { + mcs=7; + } else if (bcch_sdu_length <= 49) { + mcs=8; + } + + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = 0xFFFF; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,4); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - dl_req->number_pdu++; - - // Program TX Request - TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; - TX_req->pdu_length = bcch_sdu_length; - TX_req->pdu_index = eNB->pdu_index[CC_id]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = bcch_sdu_length; - TX_req->segments[0].segment_data = cc->BCCH_pdu.payload; - eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; - - } - else { - LOG_E(MAC,"[eNB %d] CCid %d Frame %d, subframe %d : Cannot add DCI 1A for SI\n",module_idP, CC_id,frameP,subframeP); - } - - if (opt_enabled == 1) { - trace_pdu(1, - &cc->BCCH_pdu.payload[0], - bcch_sdu_length, - 0xffff, - 4, - 0xffff, - eNB->frame, - eNB->subframe, - 0, - 0); - LOG_D(OPT,"[eNB %d][BCH] Frame %d trace pdu for CC_id %d rnti %x with size %d\n", - module_idP, frameP, CC_id, 0xffff, bcch_sdu_length); - } - if (cc->tdd_Config!=NULL) { //TDD - LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH->DLSCH (TDD) for CC_id %d SI %d bytes (mcs %d, rb 3)\n", - frameP, - CC_id, - bcch_sdu_length, - mcs); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dci_dl_pdu)); + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1A; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = 4; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = 0xFFFF; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 2; // S-RNTI : see Table 4-10 from SCF082 - nFAPI specifications + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = 0; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // no TPC + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; + + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,4); + + if (!CCE_allocation_infeasible(module_idP,CC_id,1,subframeP,dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level,SI_RNTI)) { + LOG_D(MAC,"Frame %d: Subframe %d : Adding common DCI for S_RNTI\n", + frameP,subframeP); + dl_req->number_dci++; + dl_req->number_pdu++; + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = 0xFFFF; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,4); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + dl_req->number_pdu++; + + // Program TX Request + TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + TX_req->pdu_length = bcch_sdu_length; + TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = bcch_sdu_length; + TX_req->segments[0].segment_data = cc->BCCH_pdu.payload; + eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + + } + else { + LOG_E(MAC,"[eNB %d] CCid %d Frame %d, subframe %d : Cannot add DCI 1A for SI\n",module_idP, CC_id,frameP,subframeP); + } + + if (opt_enabled == 1) { + trace_pdu(1, + &cc->BCCH_pdu.payload[0], + bcch_sdu_length, + 0xffff, + 4, + 0xffff, + eNB->frame, + eNB->subframe, + 0, + 0); + LOG_D(OPT,"[eNB %d][BCH] Frame %d trace pdu for CC_id %d rnti %x with size %d\n", + module_idP, frameP, CC_id, 0xffff, bcch_sdu_length); + } + if (cc->tdd_Config!=NULL) { //TDD + LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH->DLSCH (TDD) for CC_id %d SI %d bytes (mcs %d, rb 3)\n", + frameP, + CC_id, + bcch_sdu_length, + mcs); + } else { + LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH->DLSCH (FDD) for CC_id %d SI %d bytes (mcs %d, rb 3)\n", + frameP, + CC_id, + bcch_sdu_length, + mcs); + } + + + eNB->eNB_stats[CC_id].total_num_bcch_pdu+=1; + eNB->eNB_stats[CC_id].bcch_buffer=bcch_sdu_length; + eNB->eNB_stats[CC_id].total_bcch_buffer+=bcch_sdu_length; + eNB->eNB_stats[CC_id].bcch_mcs=mcs; } else { - LOG_D(MAC,"[eNB] Frame %d : Scheduling BCCH->DLSCH (FDD) for CC_id %d SI %d bytes (mcs %d, rb 3)\n", - frameP, - CC_id, - bcch_sdu_length, - mcs); + + //LOG_D(MAC,"[eNB %d] Frame %d : BCCH not active \n",Mod_id,frame); } - - - eNB->eNB_stats[CC_id].total_num_bcch_pdu+=1; - eNB->eNB_stats[CC_id].bcch_buffer=bcch_sdu_length; - eNB->eNB_stats[CC_id].total_bcch_buffer+=bcch_sdu_length; - eNB->eNB_stats[CC_id].bcch_mcs=mcs; - } else { - - //LOG_D(MAC,"[eNB %d] Frame %d : BCCH not active \n",Mod_id,frame); } } - // this might be misleading when bcch is inactive +#ifdef Rel14 + schedule_SIB1_BR(module_idP,frameP,subframeP); + schedule_SI_BR(module_idP,frameP,subframeP); +#endif + + // this might be misleading when bcch is inactive stop_meas(&eNB->schedule_si); return; } diff --git a/openair2/RRC/LITE/L2_interface.c b/openair2/RRC/LITE/L2_interface.c index 1f47b77b39..2f67b9b03d 100644 --- a/openair2/RRC/LITE/L2_interface.c +++ b/openair2/RRC/LITE/L2_interface.c @@ -302,8 +302,24 @@ mac_rrc_data_req( //else //return(0); } +#endif -#endif //Rel10 || Rel14 +#ifdef Rel14 + if ((Srb_id & RAB_OFFSET) == BCCH_SIB1_BR){ + memcpy(&buffer_pP[0], + RC.rrc[Mod_idP]->carrier[CC_id].SIB1_BR, + RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB1_BR); + return (RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB1_BR); + } + + if ((Srb_id & RAB_OFFSET) == BCCH_SI_BR){ // First SI message with SIB2/3 + memcpy(&buffer_pP[0], + RC.rrc[Mod_idP]->carrier[CC_id].SIB23_BR, + RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23_BR); + return (RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23_BR); + } + +#endif } else { //This is an UE diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 8b7e72c3b1..f4ed3ca44d 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -192,7 +192,11 @@ uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId) return 0xFF; //error! } -uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame, uint32_t schedulingInfoSIB1) +uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame +#ifdef Rel14 +, uint32_t schedulingInfoSIB1 +#endif + ) { asn_enc_rval_t enc_rval; @@ -246,11 +250,13 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich #ifndef Rel14 mib->message.spare.size = 2; mib->message.spare.bits_unused = 6; // This makes a spare of 10 bits - mib->message.schedulingInfoSIB1_BR_r13 = schedulingInfoSIB1; // turn on eMTC #else mib->message.spare.size = 1; mib->message.spare.bits_unused = 3; // This makes a spare of 5 bits - mib->message.schedulingInfoSIB1_BR_r13 = 0; // turn off eMTC + mib->message.schedulingInfoSIB1_BR_r13 = schedulingInfoSIB1; // turn on/off eMTC + LOG_I(RRC,"[MIB] schedulingInfoSIB1 %d\n", + (uint32_t)mib->message.schedulingInfoSIB1_BR_r13); + #endif enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message, @@ -550,9 +556,13 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); + LOG_I(RRC,"Allocating memory for BR access of SI (%p)\n", + sib1_1310->bandwidthReducedAccessRelatedInfo_r13); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 = configuration->si_WindowLength_BR_r13[CC_id]; // 0 @@ -570,18 +580,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, for (index = 0; index < num_sched_info_br; ++index) { - if (configuration->si_Narrowband_r13[CC_id][index] && configuration->si_TBS_r13[CC_id][index]) - { - schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; - schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; - } - else - { - schedulinginfo_br_13->si_Narrowband_r13 = 1; - schedulinginfo_br_13->si_TBS_r13 = SchedulingInfo_BR_r13__si_TBS_r13_b152; - } - - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; + schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; + LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13); + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); } sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h index 0dcbeab7e1..2250b6815a 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h @@ -67,7 +67,11 @@ uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId); @param phich_duration PHICH duration parameter @param frame radio frame number @return size of encoded bit stream in bytes*/ -uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame, uint32_t schedulingInfoSIB1); +uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich_Resource, uint32_t phich_duration, uint32_t frame +#ifdef Rel14 + , uint32_t schedulingInfoSIB1 +#endif + ); /** \brief Generate configuration for SIB1 (eNB). diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index dc4c84384b..ffcb7c8178 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -150,16 +150,26 @@ init_SI( configuration->N_RB_DL[CC_id], (int)configuration->radioresourceconfig[CC_id].phich_resource, (int)configuration->radioresourceconfig[CC_id].phich_duration); +#ifdef Rel14 + LOG_I(RRC, "configuration->schedulingInfoSIB1_BR_r13[CC_id] %d\n",(int)configuration->schedulingInfoSIB1_BR_r13[CC_id]); +#endif do_MIB(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id], #ifdef ENABLE_ITTI configuration->N_RB_DL[CC_id], (int)configuration->radioresourceconfig[CC_id].phich_resource, (int)configuration->radioresourceconfig[CC_id].phich_duration, - configuration->schedulingInfoSIB1_BR_r13[CC_id] + 0 #else - 50, 0, 0, 1 + 50, 0, 0, 0 #endif - ,0); +#ifdef Rel14 +#ifdef ENABLE_ITTI + ,configuration->schedulingInfoSIB1_BR_r13[CC_id] +#else + ,0 +#endif +#endif + ); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = 0; @@ -311,14 +321,18 @@ init_SI( if ((RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib.message.schedulingInfoSIB1_BR_r13>0) && (RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR!=NULL)) { AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension!=NULL, - "sib2_br->nonCriticalExtension is null (v9.2)\n"); + "sib2_br->nonCriticalExtension is null (v8.9)\n"); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension!=NULL, - "sib2_br->nonCriticalExtension is null (v11.3)\n"); + "sib2_br->nonCriticalExtension is null (v9.2)\n"); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension!=NULL, + "sib2_br->nonCriticalExtension is null (v11.3)\n"); + AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension!=NULL, "sib2_br->nonCriticalExtension is null (v12.5)\n"); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension!=NULL, "sib2_br->nonCriticalExtension is null (v13.10)\n"); - sib1_v13ext = RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension; + + sib1_v13ext = RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension; + } #endif diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index df91796049..99d537293f 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -342,10 +342,10 @@ int trx_usrp_set_gains(openair0_device* device, usrp_state_t *s = (usrp_state_t*)device->priv; - s->usrp->set_tx_gain(openair0_cfg[0].tx_gain[0]); + s->usrp->set_tx_gain(89.0-openair0_cfg[0].tx_gain[0]); ::uhd::gain_range_t gain_range = s->usrp->get_rx_gain_range(0); // limit to maximum gain - if (openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] > gain_range.stop()) { + if (125.0-openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] > gain_range.stop()) { LOG_E(PHY,"RX Gain 0 too high, reduce by %f dB\n", openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] - gain_range.stop()); exit(-1); @@ -632,10 +632,10 @@ extern "C" { ::uhd::gain_range_t gain_range = s->usrp->get_rx_gain_range(i); // limit to maximum gain - AssertFatal( openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] <= gain_range.stop(), + AssertFatal( 125.0-openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] <= gain_range.stop(), "RX Gain too high, lower by %f dB\n", - openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] - gain_range.stop()); - s->usrp->set_rx_gain(openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i],i); + 125.0-openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] - gain_range.stop()); + s->usrp->set_rx_gain(125.0-openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i],i); LOG_I(PHY,"RX Gain %d %f (%f) => %f (max %f)\n",i, openair0_cfg[0].rx_gain[i],openair0_cfg[0].rx_gain_offset[i], openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i],gain_range.stop()); @@ -645,7 +645,7 @@ extern "C" { if (iusrp->set_tx_rate(openair0_cfg[0].sample_rate,i); s->usrp->set_tx_freq(openair0_cfg[0].tx_freq[i],i); - s->usrp->set_tx_gain(openair0_cfg[0].tx_gain[i],i); + s->usrp->set_tx_gain(89.0-openair0_cfg[0].tx_gain[i],i); } } From 5774b5b45246a885db19ad1708e5de2a6b8db9a0 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 13 Aug 2017 11:42:51 -0700 Subject: [PATCH 017/109] correction for TBS in NFAPI interface conversion (SIB1-BR and SI-BR) --- openair1/SCHED/phy_procedures_lte_eNb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 7c8b31997b..556a75fbf2 100644 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1018,7 +1018,7 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, else dlsch1_harq->pdu = sdu; #ifdef Rel14 - if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR + if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR // configure PDSCH switch (eNB->frame_parms.N_RB_DL) { case 6: @@ -1054,7 +1054,7 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0_harq->dl_power_off = 1; dlsch0_harq->round = 0; dlsch0_harq->status = ACTIVE; - dlsch0_harq->TBS = rel8->length; + dlsch0_harq->TBS = rel8->length<<3; From 50ebffea974596c4a31662045654e1e723927d67 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 13 Aug 2017 23:06:52 -0700 Subject: [PATCH 018/109] minor modifications before merge with upstream --- openair1/SCHED/phy_procedures_lte_eNb.c | 4 ++-- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 4 ++-- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 556a75fbf2..514e7894cc 100644 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1045,8 +1045,8 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, } dlsch0->active = 1; - - dlsch0_harq->nb_rb = 6; + + dlsch0_harq->nb_rb = 6; dlsch0_harq->vrb_type = LOCALIZED; dlsch0_harq->rvidx = rel8->redundancy_version; dlsch0_harq->Nl = 1; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 994106066e..08cb63c3c6 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -384,8 +384,8 @@ schedule_SI_BR( if (bcch_sdu_length > 0) { AssertFatal(bcch_sdu_length <= (si_TBS_r13>>3), - "RRC provided bcch with length %d > %d (si_TBS_r13 %d)n", - bcch_sdu_length,(int)(si_TBS_r13>>3),schedulingInfoList_BR_r13->list.array[i]->si_TBS_r13); + "RRC provided bcch with length %d > %d (si_TBS_r13 %d)\n", + bcch_sdu_length,(int)(si_TBS_r13>>3),(int)schedulingInfoList_BR_r13->list.array[i]->si_TBS_r13); LOG_D(MAC,"[eNB %d] Frame %d : BCCH_BR %d->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,i,CC_id,bcch_sdu_length); if ((frameP%1000) < 200) LOG_I(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH (SI) CC_id %d, Received %d bytes for NB %d/rvidx %d\n",module_idP,frameP,CC_id,bcch_sdu_length,si_Narrowband_r13,rvidx); diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 99d537293f..b658c1cd86 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -345,7 +345,7 @@ int trx_usrp_set_gains(openair0_device* device, s->usrp->set_tx_gain(89.0-openair0_cfg[0].tx_gain[0]); ::uhd::gain_range_t gain_range = s->usrp->get_rx_gain_range(0); // limit to maximum gain - if (125.0-openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] > gain_range.stop()) { + if (openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] > gain_range.stop()) { LOG_E(PHY,"RX Gain 0 too high, reduce by %f dB\n", openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] - gain_range.stop()); exit(-1); @@ -632,10 +632,10 @@ extern "C" { ::uhd::gain_range_t gain_range = s->usrp->get_rx_gain_range(i); // limit to maximum gain - AssertFatal( 125.0-openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] <= gain_range.stop(), + AssertFatal( openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] <= gain_range.stop(), "RX Gain too high, lower by %f dB\n", - 125.0-openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] - gain_range.stop()); - s->usrp->set_rx_gain(125.0-openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i],i); + openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i] - gain_range.stop()); + s->usrp->set_rx_gain(openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i],i); LOG_I(PHY,"RX Gain %d %f (%f) => %f (max %f)\n",i, openair0_cfg[0].rx_gain[i],openair0_cfg[0].rx_gain_offset[i], openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i],gain_range.stop()); From 319372b68ab9bc778a6adcc297419630d88d5b62 Mon Sep 17 00:00:00 2001 From: "Ahmed.Elias" Date: Mon, 14 Aug 2017 10:39:17 +0200 Subject: [PATCH 019/109] passin BR paraemeter to rrc --- openair2/COMMON/platform_types.h | 3 + openair2/LAYER2/MAC/config.c | 5 +- openair2/LAYER2/MAC/defs.h | 2 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 949 ++++++++++++++++++ openair2/LAYER2/MAC/ue_procedures.c | 24 +- .../L2_INTERFACE/openair_rrc_L2_interface.c | 4 +- .../L2_INTERFACE/openair_rrc_L2_interface.h | 4 +- openair2/RRC/LITE/L2_interface.c | 6 + openair2/RRC/LITE/MESSAGES/asn1_msg.c | 7 +- openair2/RRC/LITE/MESSAGES/asn1_msg.h | 13 + openair2/RRC/LITE/proto.h | 3 + openair2/RRC/LITE/rrc_eNB.c | 10 +- 12 files changed, 1016 insertions(+), 14 deletions(-) diff --git a/openair2/COMMON/platform_types.h b/openair2/COMMON/platform_types.h index 45d7774afa..cfc9860477 100644 --- a/openair2/COMMON/platform_types.h +++ b/openair2/COMMON/platform_types.h @@ -217,6 +217,9 @@ typedef struct protocol_ctxt_s { sub_frame_t subframe; /*!< \brief LTE sub frame number.*/ eNB_index_t eNB_index; /*!< \brief valid for UE indicating the index of connected eNB(s) */ boolean_t configured; /*!< \brief flag indicating whether the instance is configured or not */ +#ifdef Rel14 + boolean_t brOption; +#endif } protocol_ctxt_t; // warning time hardcoded #define PROTOCOL_CTXT_TIME_MILLI_SECONDS(CtXt_h) ((CtXt_h)->frame*10+(CtXt_h)->subframe) diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 14ca142c23..42c1efe12f 100644 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -417,7 +417,10 @@ void config_sib2(int Mod_idP, void config_dedicated(int Mod_idP, int CC_idP, uint16_t rnti, - struct PhysicalConfigDedicated *physicalConfigDedicated) { + struct PhysicalConfigDedicated *physicalConfigDedicated) +{ + int UE_id = find_UE_id(Mod_idP, rnti); + eNB->UE_list.UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; } diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 243215e5af..4fd8b61d2a 100644 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -756,7 +756,7 @@ typedef struct { #ifdef Rel14 uint8_t rach_resource_type; - + struct PhysicalConfigDedicated *physicalConfigDedicated; #endif } UE_TEMPLATE; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 825d0fa8b6..3fd9857568 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -411,6 +411,955 @@ set_ul_DAI( // changes to pre-processor for eMTC +//------------------------------------------------------------------------------ +void +schedule_ue_spec_br( + module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP, + int* mbsfn_flag +) +//------------------------------------------------------------------------------ +{ + + uint8_t CC_id; + int UE_id; + unsigned char aggregation; + mac_rlc_status_resp_t rlc_status; + unsigned char header_len_dcch = 0, header_len_dcch_tmp = 0; + unsigned char header_len_dtch = 0, header_len_dtch_tmp = 0, header_len_dtch_last = 0; + unsigned char ta_len = 0; + unsigned char sdu_lcids[NB_RB_MAX], lcid, offset, num_sdus = 0; + uint16_t nb_rb, nb_rb_temp, nb_available_rb; + uint16_t TBS, j, sdu_lengths[NB_RB_MAX], rnti, padding = 0, post_padding = 0; + unsigned char dlsch_buffer[MAX_DLSCH_PAYLOAD_BYTES]; + unsigned char round = 0; + unsigned char harq_pid = 0; + eNB_UE_STATS *eNB_UE_stats = NULL; + uint16_t sdu_length_total = 0; + + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + UE_list_t *UE_list = &eNB->UE_list; + int continue_flag = 0; + int32_t normalized_rx_power, target_rx_power; + int32_t tpc = 1; + static int32_t tpc_accumulated = 0; + UE_sched_ctrl *ue_sched_ctl; + int mcs; + int i; + int min_rb_unit[MAX_NUM_CCs]; + int N_RB_DL[MAX_NUM_CCs]; + int total_nb_available_rb[MAX_NUM_CCs]; + int N_RBG[MAX_NUM_CCs]; + nfapi_dl_config_request_body_t *dl_req; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_tx_request_pdu_t *TX_req; + int tdd_sfa; + +#if 0 + if (UE_list->head == -1) { + return; + } +#endif + + uint8_t *vrb_map; + int first_rb; + start_meas(&eNB->schedule_dlsch); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_IN); + + + // for TDD: check that we have to act here, otherwise return + //if (cc[0].tdd_Config) { + // tdd_sfa = cc[0].tdd_Config->subframeAssignment; + // switch (subframeP) { + // case 0: + // // always continue + // break; + // case 1: + // return; + // break; + // case 2: + // return; + // break; + // case 3: + // if ((tdd_sfa != 2) && (tdd_sfa != 5)) return; + // break; + // case 4: + // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 5: + // break; + // case 6: + // case 7: + // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 8: + // if ((tdd_sfa != 2) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 9: + // if ((tdd_sfa != 1) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 6)) return; + // break; + + // } + //} + //weight = get_ue_weight(module_idP,UE_id); + aggregation = 2; + for (CC_id = 0; CC_idmessage.dl_Bandwidth); + min_rb_unit[CC_id] = get_min_rb_unit(module_idP, CC_id); + // get number of PRBs less those used by common channels + total_nb_available_rb[CC_id] = N_RB_DL[CC_id]; + for (i = 0; imessage.dl_Bandwidth); + + // store the global enb stats: + eNB->eNB_stats[CC_id].num_dlactive_UEs = UE_list->num_UEs; + eNB->eNB_stats[CC_id].available_prbs = total_nb_available_rb[CC_id]; + eNB->eNB_stats[CC_id].total_available_prbs += total_nb_available_rb[CC_id]; + eNB->eNB_stats[CC_id].dlsch_bytes_tx = 0; + eNB->eNB_stats[CC_id].dlsch_pdus_tx = 0; + } + + /// CALLING Pre_Processor for downlink scheduling (Returns estimation of RBs required by each UE and the allocation on sub-band) + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_IN); + /*start_meas(&eNB->schedule_dlsch_preprocessor); + dlsch_scheduler_pre_processor(module_idP, + frameP, + subframeP, + N_RBG, + mbsfn_flag); + stop_meas(&eNB->schedule_dlsch_preprocessor);*/ + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_OUT); + + + for (CC_id = 0; CC_idDL_req[CC_id].dl_config_request_body; + + if (mbsfn_flag[CC_id]>0) + continue; + + for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) + { + first_rb = 0; + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + continue_flag = 0; // reset the flag to allow allocation for the remaining UEs + rnti = UE_RNTI(module_idP, UE_id); + eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; + ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; + + + if (rnti == NOT_A_RNTI) { + LOG_D(MAC, "Cannot find rnti for UE_id %d (num_UEs %d)\n", UE_id, UE_list->num_UEs); + continue_flag = 1; + } + + if (eNB_UE_stats == NULL) { + LOG_D(MAC, "[eNB] Cannot find eNB_UE_stats\n"); + continue_flag = 1; + } + + //if (continue_flag != 1) { + // switch (get_tmode(module_idP, CC_id, UE_id)) { + // case 1: + // case 2: + // case 7: + // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), + // eNB_UE_stats->dl_cqi, + // format1); + // break; + // case 3: + // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), + // eNB_UE_stats->dl_cqi, + // format2A); + // break; + // default: + // LOG_W(MAC, "Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); + // aggregation = 2; + // } + //} /* if (continue_flag != 1 */ + + if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || // no RBs allocated + CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, aggregation, rnti) + ) { + LOG_D(MAC, "[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", + module_idP, frameP, UE_id, CC_id); + continue_flag = 1; //to next user (there might be rbs availiable for other UEs in TM5 + } + + //if (cc[CC_id].tdd_Config != NULL) { //TDD + // set_ue_dai(subframeP, + // UE_id, + // CC_id, + // cc[CC_id].tdd_Config->subframeAssignment, + // UE_list); + // // update UL DAI after DLSCH scheduling + // set_ul_DAI(module_idP, UE_id, CC_id, frameP, subframeP); + //} + + /*if (continue_flag == 1) { + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_NONE); + continue; + }*/ + + nb_available_rb = 6; // to be checked + harq_pid = ue_sched_ctl->harq_pid[CC_id]; + round = ue_sched_ctl->round[CC_id]; + UE_list->eNB_UE_stats[CC_id][UE_id].crnti = rnti; + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); + UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid; + UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; + + sdu_length_total = 0; + num_sdus = 0; + + /* + DevCheck(((eNB_UE_stats->dl_cqi < MIN_CQI_VALUE) || (eNB_UE_stats->dl_cqi > MAX_CQI_VALUE)), + eNB_UE_stats->dl_cqi, MIN_CQI_VALUE, MAX_CQI_VALUE); + */ + eNB_UE_stats->dlsch_mcs1 = cqi_to_mcs[eNB_UE_stats->dl_cqi]; //to be checked + eNB_UE_stats->dlsch_mcs1 = cmin(eNB_UE_stats->dlsch_mcs1, 15); + + + // store stats + UE_list->eNB_UE_stats[CC_id][UE_id].dl_cqi = eNB_UE_stats->dl_cqi; + + // initializing the rb allocation indicator for each UE + //to be checked + for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0; + } + + LOG_D(MAC, "[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, rb %d, cqi %d, mcs %d, rrc %d)\n", + module_idP, frameP, UE_id, CC_id, rnti, harq_pid, round, nb_available_rb, + eNB_UE_stats->dl_cqi, eNB_UE_stats->dlsch_mcs1, + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status); + + + + /* process retransmission */ + + if (round > 0) { + // get freq_allocation + nb_rb = UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid]; + + if (nb_rb <= nb_available_rb) { + if (cc[CC_id].tdd_Config != NULL) { + UE_list->UE_template[CC_id][UE_id].DAI++; + update_ul_dci(module_idP, CC_id, rnti, UE_list->UE_template[CC_id][UE_id].DAI); + LOG_D(MAC, "DAI update: CC_id %d subframeP %d: UE %d, DAI %d\n", CC_id, subframeP, UE_id, UE_list->UE_template[CC_id][UE_id].DAI); + } + + if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { + for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + } + } + else { + nb_rb_temp = nb_rb; + j = 0; + + while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + + if ((j == N_RBG[CC_id] - 1) && + ((N_RB_DL[CC_id] == 25) || + (N_RB_DL[CC_id] == 50))) { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; + } + else { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; + } + } + + j = j + 1; + } + } + + nb_available_rb -= nb_rb; + /* + eNB->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; + eNB->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; + + for(j=0; jmu_mimo_mode[UE_id].rballoc_sub[j] = UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j]; + } + */ + + switch (get_tmode(module_idP, CC_id, UE_id)) { + case 1: + case 2: + case 7: + default: + { + + // rmax from SIB2 information + rmax = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->mpdcch_NumRepetition_RA_r13; + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + // get narrowband according to higher-layer config + num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; + RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; + first_rb = RA_template->msg2_narrowband * 6; + + if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPE2)>0)) { + // MPDCCH configuration for RAR + + + + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + RA_template->msg2_mpdcch_repetition_cnt++; + dl_req->number_pdu++; + + } //repetition_count==0 && SF condition met + else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions + RA_template->msg2_mpdcch_repetition_cnt++; + if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; + else RA_template->Msg2_frame = frameP; + RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + } + else { + AssertFatal(1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { + // Program PDSCH + RA_template->generate_rar = 0; + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // Program UL processing for Msg3, same as regular LTE + get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + + + fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = 7; + TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + } + } + + } + + /*dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3;*/ + + + if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, + rnti)) { + dl_req->number_dci++; + dl_req->number_pdu++; + + } + else { + // No TX request for retransmission (check if null request for FAPI) + } + } + + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_SCHEDULED); + + //eNB_UE_stats->dlsch_trials[round]++; + UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx = nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx += nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = eNB_UE_stats->dlsch_mcs1; + } + else { + LOG_D(MAC, "[eNB %d] Frame %d CC_id %d : don't schedule UE %d, its retransmission takes more resources than we have\n", + module_idP, frameP, CC_id, UE_id); + } + } + else { /* This is a potentially new SDU opportunity */ + + rlc_status.bytes_in_buffer = 0; + // Now check RLC information to compute number of required RBs + // get maximum TBS size for RLC request + //to be checked + TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); + // check first for RLC data on DCCH + // add the length for all the control elements (timing adv, drx, etc) : header + payload + + ta_len = (ue_sched_ctl->ta_update != 0) ? 2 : 0; + + header_len_dcch = 2; // 2 bytes DCCH SDU subheader + + if (TBS - ta_len - header_len_dcch > 0) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + (TBS - ta_len - header_len_dcch)); // transport block set size + + sdu_lengths[0] = 0; + + if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit + LOG_D(MAC, "[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP, frameP, CC_id, TBS - header_len_dcch); + sdu_lengths[0] = mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + TBS, //not used + (char *)&dlsch_buffer[0]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); + + LOG_D(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes from RLC\n", module_idP, CC_id, sdu_lengths[0]); + sdu_length_total = sdu_lengths[0]; + sdu_lcids[0] = DCCH; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH] += sdu_lengths[0]; + num_sdus = 1; +#ifdef DEBUG_eNB_SCHEDULER + LOG_T(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[0]); + + for (j = 0; j 0) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH + 1, + (TBS - ta_len - header_len_dcch - sdu_length_total)); // transport block set size less allocations for timing advance and + // DCCH SDU + sdu_lengths[num_sdus] = 0; + + if (rlc_status.bytes_in_buffer > 0) { + LOG_I(MAC, "[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP, frameP, CC_id, TBS - header_len_dcch - sdu_length_total); + sdu_lengths[num_sdus] += mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH + 1, + TBS, //not used + (char *)&dlsch_buffer[sdu_length_total]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH + 1), T_INT(sdu_lengths[num_sdus])); + + sdu_lcids[num_sdus] = DCCH1; + sdu_length_total += sdu_lengths[num_sdus]; + header_len_dcch += 2; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH1] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH1] += sdu_lengths[num_sdus]; + num_sdus++; +#ifdef DEBUG_eNB_SCHEDULER + LOG_T(MAC, "[eNB %d][DCCH1] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[num_sdus]); + + for (j = 0; j= DTCH; lcid--) { + // TBD: check if the lcid is active + + header_len_dtch += 3; + header_len_dtch_last = 3; + LOG_D(MAC, "[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)\n", + module_idP, frameP, lcid, TBS, + TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); + + if (TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch > 0) { // NN: > 2 ? + rlc_status = mac_rlc_status_ind(module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); + + + if (rlc_status.bytes_in_buffer > 0) { + + LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)\n", + module_idP, frameP, TBS - header_len_dcch - sdu_length_total - header_len_dtch, lcid, header_len_dtch); + sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS, //not used + (char*)&dlsch_buffer[sdu_length_total]); + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); + + LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d \n", module_idP, sdu_lengths[num_sdus], lcid); + sdu_lcids[num_sdus] = lcid; + sdu_length_total += sdu_lengths[num_sdus]; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[lcid] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[lcid] += sdu_lengths[num_sdus]; + if (sdu_lengths[num_sdus] < 128) { + header_len_dtch--; + header_len_dtch_last--; + } + num_sdus++; + } // no data for this LCID + else { + header_len_dtch -= 3; + } + } // no TBS left + else { + header_len_dtch -= 3; + break; + } + } + if (header_len_dtch == 0) + header_len_dtch_last = 0; + // there is at least one SDU + // if (num_sdus > 0 ){ + if ((sdu_length_total + header_len_dcch + header_len_dtch)> 0) { + + // Now compute number of required RBs for total sdu length + // Assume RAH format 2 + // adjust header lengths + header_len_dcch_tmp = header_len_dcch; + header_len_dtch_tmp = header_len_dtch; + if (header_len_dtch == 0) { + header_len_dcch = (header_len_dcch >0) ? 1 : 0;//header_len_dcch; // remove length field + } + else { + header_len_dtch_last -= 1; // now use it to find how many bytes has to be removed for the last MAC SDU + header_len_dtch = (header_len_dtch > 0) ? header_len_dtch - header_len_dtch_last : header_len_dtch; // remove length field for the last SDU + } + + mcs = eNB_UE_stats->dlsch_mcs1; + + if (mcs == 0) { + nb_rb = 4; // don't let the TBS get too small + } + else { + nb_rb = min_rb_unit[CC_id]; + } + + TBS = get_TBS_DL(mcs, nb_rb); + + while (TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) { + nb_rb += min_rb_unit[CC_id]; // + + if (nb_rb>nb_available_rb) { // if we've gone beyond the maximum number of RBs + // (can happen if N_RB_DL is odd) + TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); + nb_rb = nb_available_rb; + break; + } + + TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_rb); + } + ///////////////////////////////////////////////////////////// + // alter the allocation of the emtc UE here + ////////////////////////////////////////////////////////////// + if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { + for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + } + } + else { + nb_rb_temp = nb_rb; + j = 0; + + while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + + if ((j == N_RBG[CC_id] - 1) && + ((N_RB_DL[CC_id] == 25) || + (N_RB_DL[CC_id] == 50))) { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; + } + else { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; + } + } + + j = j + 1; + } + } + /////////////////////////////////// + + + // decrease mcs until TBS falls below required length + while ((TBS > (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (mcs>0)) { + mcs--; + TBS = get_TBS_DL(mcs, nb_rb); + } + + // if we have decreased too much or we don't have enough RBs, increase MCS + while ((TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (((ue_sched_ctl->dl_pow_off[CC_id]>0) && (mcs<28)) + || ((ue_sched_ctl->dl_pow_off[CC_id] == 0) && (mcs <= 15)))) { + mcs++; + TBS = get_TBS_DL(mcs, nb_rb); + } + + LOG_D(MAC, "dlsch_mcs before and after the rate matching = (%d, %d)\n", eNB_UE_stats->dlsch_mcs1, mcs); + +#ifdef DEBUG_eNB_SCHEDULER + LOG_D(MAC, "[eNB %d] CC_id %d Generated DLSCH header (mcs %d, TBS %d, nb_rb %d)\n", + module_idP, CC_id, mcs, TBS, nb_rb); + // msg("[MAC][eNB ] Reminder of DLSCH with random data %d %d %d %d \n", + // TBS, sdu_length_total, offset, TBS-sdu_length_total-offset); +#endif + + if ((TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len) <= 2) { + padding = (TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len); + post_padding = 0; + } + else { + padding = 0; + + // adjust the header len + if (header_len_dtch == 0) { + header_len_dcch = header_len_dcch_tmp; + } + else { //if (( header_len_dcch==0)&&((header_len_dtch==1)||(header_len_dtch==2))) + header_len_dtch = header_len_dtch_tmp; + } + + post_padding = TBS - sdu_length_total - header_len_dcch - header_len_dtch - ta_len; // 1 is for the postpadding header + } + + + offset = generate_dlsch_header((unsigned char*)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + num_sdus, //num_sdus + sdu_lengths, // + sdu_lcids, + 255, // no drx + ue_sched_ctl->ta_update, // timing advance + NULL, // contention res id + padding, + post_padding); + + //#ifdef DEBUG_eNB_SCHEDULER + if (ue_sched_ctl->ta_update) { + LOG_I(MAC, + "[eNB %d][DLSCH] Frame %d Generate header for UE_id %d on CC_id %d: sdu_length_total %d, num_sdus %d, sdu_lengths[0] %d, sdu_lcids[0] %d => payload offset %d,timing advance value : %d, padding %d,post_padding %d,(mcs %d, TBS %d, nb_rb %d),header_dcch %d, header_dtch %d\n", + module_idP, frameP, UE_id, CC_id, sdu_length_total, num_sdus, sdu_lengths[0], sdu_lcids[0], offset, + ue_sched_ctl->ta_update, padding, post_padding, mcs, TBS, nb_rb, header_len_dcch, header_len_dtch); + } + //#endif +#ifdef DEBUG_eNB_SCHEDULER + LOG_T(MAC, "[eNB %d] First 16 bytes of DLSCH : \n"); + + for (i = 0; i<16; i++) { + LOG_T(MAC, "%x.", dlsch_buffer[i]); + } + + LOG_T(MAC, "\n"); +#endif + // cycle through SDUs and place in dlsch_buffer + memcpy(&UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset], dlsch_buffer, sdu_length_total); + // memcpy(RC.mac[0].DLSCH_pdu[0][0].payload[0][offset],dcch_buffer,sdu_lengths[0]); + + // fill remainder of DLSCH with random data + for (j = 0; j<(TBS - sdu_length_total - offset); j++) { + UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset + sdu_length_total + j] = (char)(taus() & 0xff); + } + + + if (opt_enabled == 1) { + trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + TBS, module_idP, 3, UE_RNTI(module_idP, UE_id), + eNB->frame, eNB->subframe, 0, 0); + LOG_D(OPT, "[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", + module_idP, CC_id, frameP, UE_RNTI(module_idP, UE_id), TBS); + } + + T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_BUFFER(UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS)); + + UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb; + + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_SCHEDULED); + // store stats + eNB->eNB_stats[CC_id].dlsch_bytes_tx += sdu_length_total; + eNB->eNB_stats[CC_id].dlsch_pdus_tx += 1; + + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used += nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = mcs; + UE_list->eNB_UE_stats[CC_id][UE_id].TBS = TBS; + + UE_list->eNB_UE_stats[CC_id][UE_id].overhead_bytes = TBS - sdu_length_total; + UE_list->eNB_UE_stats[CC_id][UE_id].total_sdu_bytes += sdu_length_total; + UE_list->eNB_UE_stats[CC_id][UE_id].total_pdu_bytes += TBS; + UE_list->eNB_UE_stats[CC_id][UE_id].total_num_pdus += 1; + + + + // do PUCCH power control + // this is the normalized RX power + eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; + normalized_rx_power = eNB_UE_stats->Po_PUCCH_dBm; + target_rx_power = get_target_pucch_rx_power(module_idP, CC_id) + 20; + + // this assumes accumulated tpc + // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out + int32_t framex10psubframe = UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame * 10 + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe; + if (((framex10psubframe + 10) <= (frameP * 10 + subframeP)) || //normal case + ((framex10psubframe>(frameP * 10 + subframeP)) && (((10240 - framex10psubframe + frameP * 10 + subframeP) >= 10)))) //frame wrap-around + if (eNB_UE_stats->Po_PUCCH_update == 1) { + eNB_UE_stats->Po_PUCCH_update = 0; + + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; + + if (normalized_rx_power>(target_rx_power + 1)) { + tpc = 0; //-1 + tpc_accumulated--; + } + else if (normalized_rx_power<(target_rx_power - 1)) { + tpc = 2; //+1 + tpc_accumulated++; + } + else { + tpc = 1; //0 + } + /* + LOG_I(MAC,"[eNB %d] DLSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", + module_idP,frameP, subframeP,harq_pid,tpc, + tpc_accumulated,normalized_rx_power,target_rx_power);*/ + + } // Po_PUCCH has been updated + else { + tpc = 1; //0 + } // time to do TPC update + else { + tpc = 1; //0 + } + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = tpc; // dont adjust power when retransmitting + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; + ////deactivate second codeword + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_2 = 0; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_2 = 1; + // + dl_req->number_dci++; + dl_req->number_pdu++; + + // Toggle NDI for next time + LOG_D(MAC, "CC_id %d Frame %d, subframeP %d: Toggling Format1 NDI for UE %d (rnti %x/%d) oldNDI %d\n", + CC_id, frameP, subframeP, UE_id, + UE_list->UE_template[CC_id][UE_id].rnti, harq_pid, UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]); + + UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid] = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid] = mcs; + UE_list->UE_template[CC_id][UE_id].oldmcs2[harq_pid] = 0; + + eNB->TX_req[CC_id].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + TX_req->pdu_length = TBS; + TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = TBS; + TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char)UE_id].payload[harq_pid]; + eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + + } + else { // There is no data from RLC or MAC header, so don't schedule + + } + } + + + } // UE_id loop + } // CC_id loop + + + fill_DLSCH_dci(module_idP, frameP, subframeP, mbsfn_flag); + + stop_meas(&eNB->schedule_dlsch); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); + +} //------------------------------------------------------------------------------ void diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c index 3d9cc64f24..e761873095 100644 --- a/openair2/LAYER2/MAC/ue_procedures.c +++ b/openair2/LAYER2/MAC/ue_procedures.c @@ -455,7 +455,11 @@ ue_send_sdu( rx_lengths[i], ENB_FLAG_NO, eNB_index, - 0); + 0 + #ifdef Rel14 + ,0 + #endif + ); } else if ((rx_lcids[i] == DCCH) || (rx_lcids[i] == DCCH1)) { LOG_D(MAC,"[UE %d] Frame %d : DLSCH -> DL-DCCH%d, RRC message (eNB %d, %d bytes)\n", module_idP, frameP, rx_lcids[i],eNB_index,rx_lengths[i]); @@ -520,7 +524,11 @@ void ue_decode_si(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_i len, ENB_FLAG_NO, eNB_index, - 0); + 0 + #ifdef Rel14 + ,0 + #endif + ); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_SI, VCD_FUNCTION_OUT); stop_meas(&UE_mac_inst[module_idP].rx_si); if (opt_enabled == 1) { @@ -556,7 +564,11 @@ void ue_decode_p(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_in len, ENB_FLAG_NO, eNB_index, - 0); + 0 + #ifdef Rel14 + ,0 + #endif + ); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_PCCH, VCD_FUNCTION_OUT); stop_meas(&UE_mac_inst[module_idP].rx_p); if (opt_enabled == 1) { @@ -659,7 +671,11 @@ void ue_send_mch_sdu(module_id_t module_idP, uint8_t CC_id, frame_t frameP, uint frameP,0, // unknown subframe M_RNTI, MCCH, - payload_ptr, rx_lengths[i], 0, eNB_index, sync_area); + payload_ptr, rx_lengths[i], 0, eNB_index, sync_area + #ifdef Rel14 + ,0 + #endif + ); } else if (rx_lcids[i] == MTCH) { if (UE_mac_inst[module_idP].msi_status==1) { LOG_I(MAC,"[UE %d] Frame %d : MCH->MTCH for sync area %d (eNB %d, %d bytes)\n",module_idP,frameP, sync_area, eNB_index, rx_lengths[i]); diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c index 222b9f7b41..48351355eb 100644 --- a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c +++ b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c @@ -107,7 +107,7 @@ mac_rrc_data_req( } //------------------------------------------------------------------------------ -int8_t +/*int8_t mac_rrc_data_ind( const module_id_t module_idP, const int CC_idP, @@ -135,7 +135,7 @@ mac_rrc_data_ind( eNB_indexP, mbsfn_sync_area) ); -} +}*/ //------------------------------------------------------------------------------ void diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h index c2325f99bd..720eba88e7 100644 --- a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h +++ b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h @@ -46,7 +46,7 @@ mac_rrc_data_req( const uint8_t mbsfn_sync_areaP ); -int8_t +/*int8_t mac_rrc_data_ind( const module_id_t module_idP, const int CC_idP, @@ -59,7 +59,7 @@ mac_rrc_data_ind( const eNB_flag_t eNB_flagP, const mac_enb_index_t eNB_indexP, const uint8_t mbsfn_sync_area -); +);*/ void mac_lite_sync_ind( const module_id_t module_idP, diff --git a/openair2/RRC/LITE/L2_interface.c b/openair2/RRC/LITE/L2_interface.c index a67e86f808..9188e858c1 100644 --- a/openair2/RRC/LITE/L2_interface.c +++ b/openair2/RRC/LITE/L2_interface.c @@ -382,6 +382,9 @@ mac_rrc_data_ind( const eNB_flag_t eNB_flagP, const mac_enb_index_t eNB_indexP, const uint8_t mbsfn_sync_areaP +#ifdef Rel14 + , const boolean_t brOption +#endif ) //-------------------------------------------------------------------------- { @@ -396,6 +399,9 @@ mac_rrc_data_ind( int si_window; */ PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, eNB_flagP, rntiP, frameP, sub_frameP,eNB_indexP); +#ifdef Rel14 + ctxt.brOption = brOption; +#endif if(eNB_flagP == ENB_FLAG_NO) { if(srb_idP == BCCH) { diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index f4ed3ca44d..9f70de708e 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1917,6 +1917,7 @@ do_RRCConnectionReconfigurationComplete( return((enc_rval.encoded+7)/8); } +#ifdef Rel14 uint8_t do_RRCConnectionSetup_BR( const protocol_ctxt_t* const ctxt_pP, @@ -2245,7 +2246,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); // memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) - EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(1, sizeof(EPDCCH_SetConfig_r11_t)); epdcch_setconfig_r11->setConfigId_r11 = 0; epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; @@ -2258,7 +2259,10 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; + + epdcch_setconfig_r11->ext2 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11_ext2)); epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; + epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11_ext2_mpdcch_config_r13)); epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; @@ -2352,6 +2356,7 @@ do_RRCConnectionSetup_BR( return((enc_rval.encoded+7)/8); } +#endif //------------------------------------------------------------------------------ diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h index 2250b6815a..d16c53f7cc 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h @@ -162,6 +162,19 @@ do_RRCConnectionSetup( SRB_ToAddModList_t** SRB_configList, struct PhysicalConfigDedicated** physicalConfigDedicated ); +#ifdef Rel14 +uint8_t +do_RRCConnectionSetup_BR( + const protocol_ctxt_t* const ctxt_pP, + rrc_eNB_ue_context_t* const ue_context_pP, + int CC_id, + uint8_t* const buffer, + const uint8_t transmission_mode, + const uint8_t Transaction_id, + SRB_ToAddModList_t** SRB_configList, + struct PhysicalConfigDedicated** physicalConfigDedicated +); +#endif /** \brief Generate an RRCConnectionReconfiguration DL-DCCH-Message (eNB). This routine configures SRBToAddMod (SRB2) and one DRBToAddMod diff --git a/openair2/RRC/LITE/proto.h b/openair2/RRC/LITE/proto.h index b0179bad8e..fb92b24a1c 100644 --- a/openair2/RRC/LITE/proto.h +++ b/openair2/RRC/LITE/proto.h @@ -314,6 +314,9 @@ mac_rrc_data_ind( const eNB_flag_t eNB_flagP, const mac_enb_index_t eNB_indexP, const uint8_t mbsfn_sync_areaP +#ifdef Rel14 + , const boolean_t brOption +#endif ); void mac_sync_ind( module_id_t Mod_instP, uint8_t status); diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index ffcb7c8178..29c2967004 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -3784,8 +3784,9 @@ rrc_eNB_generate_RRCConnectionSetup( ) //----------------------------------------------------------------------------- { - - bool is_mtc = false; +#ifdef Rel14 + boolean_t is_mtc = ctxt_pP->brOption; +#endif LogicalChannelConfig_t *SRB1_logicalChannelConfig; //,*SRB2_logicalChannelConfig; SRB_ToAddModList_t **SRB_configList; SRB_ToAddMod_t *SRB1_config; @@ -3795,6 +3796,7 @@ rrc_eNB_generate_RRCConnectionSetup( T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti)); SRB_configList = &ue_context_pP->ue_context.SRB_configList; +#ifdef Rel14 if (is_mtc) { do_RRCConnectionSetup_BR(ctxt_pP, ue_context_pP, @@ -3804,7 +3806,9 @@ rrc_eNB_generate_RRCConnectionSetup( rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id), SRB_configList, &ue_context_pP->ue_context.physicalConfigDedicated); - } else { + } else +#endif + { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size = do_RRCConnectionSetup(ctxt_pP, ue_context_pP, From d847f3cad536b88ef9ddae457b49dd4289144ee3 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Mon, 14 Aug 2017 11:04:50 +0200 Subject: [PATCH 020/109] solving some errors --- .gitlab-ci.yml | 0 LICENSE | 0 NOTICE.txt | 0 README.txt | 0 cmake_targets/CMakeLists.txt | 0 cmake_targets/autotests/README.txt | 0 cmake_targets/autotests/core.py | 0 cmake_targets/autotests/log.py | 0 cmake_targets/autotests/openair.py | 0 cmake_targets/autotests/templates/index.html | 0 .../autotests/templates/testcase_report.html | 0 cmake_targets/autotests/test_case_list.xml | 0 cmake_targets/autotests/testsuite_ue_noS1.xml | 0 .../autotests/testsuite_ue_noS1_TCL.xml | 0 cmake_targets/autotests/tools/lib_autotest.py | 0 .../autotests/tools/lib_autotest_analyser.py | 0 .../autotests/tools/wdial.bandrich.conf | 0 .../autotests/v2/actions/alu_epc.bash | 0 .../autotests/v2/actions/alu_epc_stop.bash | 0 .../autotests/v2/actions/alu_hss.bash | 0 .../autotests/v2/actions/bandrich.txt | 0 .../autotests/v2/actions/client_tcp.bash | 0 .../autotests/v2/actions/client_udp.bash | 0 .../v2/actions/clone_repository.bash | 0 .../autotests/v2/actions/compilation.bash | 0 .../autotests/v2/actions/execution.bash | 0 .../v2/actions/execution_compile.bash | 0 cmake_targets/autotests/v2/actions/modem.py | 0 .../autotests/v2/actions/run_enb.bash | 0 .../autotests/v2/actions/server_tcp.bash | 0 .../autotests/v2/actions/server_udp.bash | 0 .../autotests/v2/actions/start_3276.bash | 0 .../autotests/v2/actions/start_3276.py | 0 .../autotests/v2/actions/start_bandrich.bash | 0 .../autotests/v2/actions/start_bandrich.py | 0 .../autotests/v2/actions/stop_3276.py | 0 .../autotests/v2/actions/stop_bandrich.py | 0 .../autotests/v2/actions/wvdial.3276.conf | 0 .../autotests/v2/actions/wvdial.bandrich.conf | 0 cmake_targets/autotests/v2/alu_test.py | 0 .../enb.band38.tm1.usrpb210.tdd.10MHz.conf | 0 .../enb.band38.tm1.usrpb210.tdd.20MHz.conf | 0 .../enb.band38.tm1.usrpb210.tdd.5MHz.conf | 0 .../enb.band7.tm1.usrpb210.fdd.10MHz.conf | 0 .../enb.band7.tm1.usrpb210.fdd.20MHz.conf | 0 .../enb.band7.tm1.usrpb210.fdd.5MHz.conf | 0 .../v2/config/rcc.band7.tm1.if4p5.10MHz.conf | 0 .../v2/config/rcc.band7.tm1.if4p5.20MHz.conf | 0 .../v2/config/rcc.band7.tm1.if4p5.5MHz.conf | 0 ...ru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf | 0 ...ru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf | 0 ...rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf | 0 cmake_targets/autotests/v2/connection.py | 0 cmake_targets/autotests/v2/machine_list.py | 0 cmake_targets/autotests/v2/main.py | 0 cmake_targets/autotests/v2/task.py | 0 cmake_targets/autotests/v2/utils.py | 0 cmake_targets/build_ue | 0 cmake_targets/doxygen/CMakeLists.txt | 0 cmake_targets/epc_test/CMakeLists.template | 0 cmake_targets/lte-simulators/CMakeLists.txt | 0 .../lte_noS1_build_oai/CMakeLists.template | 0 cmake_targets/nas_sim_tools/CMakeLists.txt | 0 .../oaisim_build_oai/CMakeLists.template | 0 .../oaisim_mme_build_oai/CMakeLists.template | 0 .../oaisim_noS1_build_oai/CMakeLists.template | 0 .../s1c_mme_test/CMakeLists.template | 0 cmake_targets/tools/Kbuild.cmake | 0 .../tools/MODULES/CMakeParseArguments.cmake | 0 .../tools/MODULES/CMakeUserFindMySQL.cmake | 0 .../tools/MODULES/CMakeUserUseBison.cmake | 0 .../tools/MODULES/CMakeUserUseFlex.cmake | 0 .../tools/MODULES/FindFreeDiameter.cmake | 0 cmake_targets/tools/MODULES/FindGCCXML.cmake | 0 cmake_targets/tools/MODULES/FindGcrypt.cmake | 0 cmake_targets/tools/MODULES/FindGnuTLS.cmake | 0 cmake_targets/tools/MODULES/FindKbuild.cmake | 0 cmake_targets/tools/MODULES/FindLibXml2.cmake | 0 cmake_targets/tools/MODULES/FindMySQL.cmake | 0 cmake_targets/tools/MODULES/FindNettle.cmake | 0 .../tools/MODULES/FindPostgreSQL.cmake | 0 cmake_targets/tools/MODULES/FindSCTP.cmake | 0 cmake_targets/tools/MODULES/Kbuild.cmake | 0 .../tools/MODULES/cmake_useful.cmake | 0 .../tools/MODULES/kbuild_system.cmake | 0 cmake_targets/tools/MODULES/kmodule.cmake | 0 .../tools/MODULES/path_prefixes.cmake | 0 cmake_targets/tools/asn1tostruct.py | 0 .../tools/example_enb_exmimo_mme_hss.txt | 0 .../example_oaisim_enb_ue_mme_virtual.txt | 0 cmake_targets/tools/exmimo2_2arxg.lime | 0 cmake_targets/tools/exmimo_stop_octave.m | 0 .../RRC.rel10/SystemInformation-r8-IEs.h.diff | 0 .../RRC.rel14/SystemInformation-r8-IEs.h.diff | 0 ...X2ap-CriticalityDiagnostics-IE-List.h.diff | 0 cmake_targets/tools/init_nas_s1 | 0 cmake_targets/tools/run_ue_s1 | 0 cmake_targets/tools/test_helper | 0 common/ran_context.h | 0 common/utils/T/.gitignore | 0 common/utils/T/Makefile | 0 common/utils/T/README | 0 common/utils/T/T.c | 0 common/utils/T/T.h | 0 common/utils/T/T_defs.h | 0 common/utils/T/T_messages.txt | 0 common/utils/T/defs.h | 0 common/utils/T/generate_Txx.c | 0 common/utils/T/genids.c | 0 common/utils/T/local_tracer.c | 0 common/utils/T/plot.c | 0 common/utils/T/tracee/Makefile | 0 common/utils/T/tracee/README | 0 common/utils/T/tracee/tracee.c | 0 common/utils/T/tracer/Makefile | 0 common/utils/T/tracer/config.c | 0 common/utils/T/tracer/config.h | 0 common/utils/T/tracer/database.c | 0 common/utils/T/tracer/database.h | 0 common/utils/T/tracer/defs.h | 0 common/utils/T/tracer/enb.c | 0 common/utils/T/tracer/event.c | 0 common/utils/T/tracer/event.h | 0 common/utils/T/tracer/event_selector.c | 0 common/utils/T/tracer/event_selector.h | 0 common/utils/T/tracer/extract_config.c | 0 common/utils/T/tracer/filter/Makefile | 0 common/utils/T/tracer/filter/filter.c | 0 common/utils/T/tracer/filter/filter.h | 0 common/utils/T/tracer/gui.c | 0 common/utils/T/tracer/gui/Makefile | 0 common/utils/T/tracer/gui/container.c | 0 common/utils/T/tracer/gui/event.c | 0 common/utils/T/tracer/gui/gui.c | 0 common/utils/T/tracer/gui/gui.h | 0 common/utils/T/tracer/gui/gui_defs.h | 0 common/utils/T/tracer/gui/image.c | 0 common/utils/T/tracer/gui/init.c | 0 common/utils/T/tracer/gui/label.c | 0 common/utils/T/tracer/gui/loop.c | 0 common/utils/T/tracer/gui/notify.c | 0 common/utils/T/tracer/gui/positioner.c | 0 common/utils/T/tracer/gui/space.c | 0 common/utils/T/tracer/gui/test.c | 0 common/utils/T/tracer/gui/textarea.c | 0 common/utils/T/tracer/gui/textlist.c | 0 common/utils/T/tracer/gui/timeline.c | 0 common/utils/T/tracer/gui/toplevel_window.c | 0 common/utils/T/tracer/gui/widget.c | 0 common/utils/T/tracer/gui/x.c | 0 common/utils/T/tracer/gui/x.h | 0 common/utils/T/tracer/gui/x_defs.h | 0 common/utils/T/tracer/gui/xy_plot.c | 0 common/utils/T/tracer/hacks/Makefile | 0 .../utils/T/tracer/hacks/dump_nack_signal.c | 0 common/utils/T/tracer/hacks/time_meas.c | 0 common/utils/T/tracer/hacks/timeplot.c | 0 common/utils/T/tracer/handler.c | 0 common/utils/T/tracer/handler.h | 0 common/utils/T/tracer/logger/Makefile | 0 common/utils/T/tracer/logger/framelog.c | 0 common/utils/T/tracer/logger/iqdotlog.c | 0 common/utils/T/tracer/logger/iqlog.c | 0 common/utils/T/tracer/logger/logger.c | 0 common/utils/T/tracer/logger/logger.h | 0 common/utils/T/tracer/logger/logger_defs.h | 0 common/utils/T/tracer/logger/textlog.c | 0 common/utils/T/tracer/logger/throughputlog.c | 0 common/utils/T/tracer/logger/ticked_ttilog.c | 0 common/utils/T/tracer/logger/ticklog.c | 0 common/utils/T/tracer/logger/timelog.c | 0 common/utils/T/tracer/logger/ttilog.c | 0 common/utils/T/tracer/macpdu2wireshark.c | 0 common/utils/T/tracer/openair_logo.h | 0 common/utils/T/tracer/openair_logo.png | Bin common/utils/T/tracer/packet-mac-lte.h | 0 common/utils/T/tracer/plot.c | 0 common/utils/T/tracer/record.c | 0 common/utils/T/tracer/replay.c | 0 common/utils/T/tracer/textlog.c | 0 common/utils/T/tracer/ue.c | 0 common/utils/T/tracer/utils.c | 0 common/utils/T/tracer/utils.h | 0 common/utils/T/tracer/vcd.c | 0 common/utils/T/tracer/view/Makefile | 0 common/utils/T/tracer/view/scrolltti.c | 0 common/utils/T/tracer/view/stdout.c | 0 common/utils/T/tracer/view/textlist.c | 0 common/utils/T/tracer/view/ticktime.c | 0 common/utils/T/tracer/view/time.c | 0 common/utils/T/tracer/view/tti.c | 0 common/utils/T/tracer/view/view.h | 0 common/utils/T/tracer/view/xy.c | 0 common/utils/asn1_conversions.h | 0 common/utils/assertions.h | 0 common/utils/hashtable/hashtable.c | 0 common/utils/hashtable/hashtable.h | 0 common/utils/hashtable/obj_hashtable.c | 0 common/utils/hashtable/obj_hashtable.h | 0 common/utils/itti/Makefile.am | 0 common/utils/itti/assertions.h | 0 common/utils/itti/backtrace.c | 0 common/utils/itti/backtrace.h | 0 common/utils/itti/intertask_interface.c | 0 common/utils/itti/intertask_interface.h | 0 common/utils/itti/intertask_interface_dump.c | 0 common/utils/itti/intertask_interface_dump.h | 0 common/utils/itti/intertask_interface_init.h | 0 common/utils/itti/intertask_interface_types.h | 0 common/utils/itti/intertask_messages_def.h | 0 common/utils/itti/intertask_messages_types.h | 0 common/utils/itti/itti_types.h | 0 common/utils/itti/memory_pools.c | 0 common/utils/itti/memory_pools.h | 0 common/utils/itti/messages_def.h | 0 common/utils/itti/messages_types.h | 0 common/utils/itti/signals.c | 0 common/utils/itti/signals.h | 0 common/utils/itti/tasks_def.h | 0 common/utils/itti/timer.c | 0 common/utils/itti/timer.h | 0 common/utils/itti/timer_messages_def.h | 0 common/utils/itti/timer_messages_types.h | 0 common/utils/itti_analyzer/AUTHORS | 0 common/utils/itti_analyzer/ChangeLog | 0 common/utils/itti_analyzer/INSTALL | 0 common/utils/itti_analyzer/Makefile.am | 0 common/utils/itti_analyzer/NEWS | 0 common/utils/itti_analyzer/README | 0 .../utils/itti_analyzer/common/itti_types.h | 0 common/utils/itti_analyzer/common/logs.h | 0 common/utils/itti_analyzer/common/queue.h | 0 common/utils/itti_analyzer/common/rc.h | 0 common/utils/itti_analyzer/configure.ac | 0 common/utils/itti_analyzer/filters.xml | 0 common/utils/itti_analyzer/filters_mme.xml | 0 common/utils/itti_analyzer/filters_ue_enb.xml | 0 common/utils/itti_analyzer/itti_analyzer.c | 0 .../itti_analyzer/libbuffers/Makefile.am | 0 .../utils/itti_analyzer/libbuffers/buffers.c | 0 .../utils/itti_analyzer/libbuffers/buffers.h | 0 common/utils/itti_analyzer/libbuffers/file.c | 0 common/utils/itti_analyzer/libbuffers/file.h | 0 .../utils/itti_analyzer/libbuffers/socket.c | 0 .../utils/itti_analyzer/libbuffers/socket.h | 0 .../utils/itti_analyzer/libparser/Makefile.am | 0 .../itti_analyzer/libparser/array_type.c | 0 .../itti_analyzer/libparser/array_type.h | 0 .../utils/itti_analyzer/libparser/enum_type.c | 0 .../utils/itti_analyzer/libparser/enum_type.h | 0 .../itti_analyzer/libparser/enum_value_type.c | 0 .../itti_analyzer/libparser/enum_value_type.h | 0 .../itti_analyzer/libparser/field_type.c | 0 .../itti_analyzer/libparser/field_type.h | 0 .../utils/itti_analyzer/libparser/file_type.c | 0 .../utils/itti_analyzer/libparser/file_type.h | 0 .../libparser/fundamental_type.c | 0 .../libparser/fundamental_type.h | 0 .../libparser/intertask_contexts.h | 0 .../itti_analyzer/libparser/pointer_type.c | 0 .../itti_analyzer/libparser/pointer_type.h | 0 .../itti_analyzer/libparser/reference_type.c | 0 .../itti_analyzer/libparser/reference_type.h | 0 .../itti_analyzer/libparser/struct_type.c | 0 .../itti_analyzer/libparser/struct_type.h | 0 .../itti_analyzer/libparser/typedef_type.c | 0 .../itti_analyzer/libparser/typedef_type.h | 0 common/utils/itti_analyzer/libparser/types.c | 0 common/utils/itti_analyzer/libparser/types.h | 0 .../itti_analyzer/libparser/union_type.c | 0 .../itti_analyzer/libparser/union_type.h | 0 .../utils/itti_analyzer/libparser/xml_parse.c | 0 .../utils/itti_analyzer/libparser/xml_parse.h | 0 .../itti_analyzer/libresolver/Makefile.am | 0 .../itti_analyzer/libresolver/locate_root.c | 0 .../itti_analyzer/libresolver/locate_root.h | 0 .../itti_analyzer/libresolver/resolvers.c | 0 .../itti_analyzer/libresolver/resolvers.h | 0 common/utils/itti_analyzer/libui/Makefile.am | 0 .../utils/itti_analyzer/libui/ui_callbacks.c | 0 .../utils/itti_analyzer/libui/ui_callbacks.h | 0 common/utils/itti_analyzer/libui/ui_filters.c | 0 common/utils/itti_analyzer/libui/ui_filters.h | 0 .../utils/itti_analyzer/libui/ui_interface.c | 0 .../utils/itti_analyzer/libui/ui_interface.h | 0 .../itti_analyzer/libui/ui_main_screen.c | 0 .../itti_analyzer/libui/ui_main_screen.h | 0 .../utils/itti_analyzer/libui/ui_menu_bar.c | 0 .../utils/itti_analyzer/libui/ui_menu_bar.h | 0 .../utils/itti_analyzer/libui/ui_notebook.c | 0 .../utils/itti_analyzer/libui/ui_notebook.h | 0 .../utils/itti_analyzer/libui/ui_notif_dlg.c | 0 .../utils/itti_analyzer/libui/ui_notif_dlg.h | 0 .../itti_analyzer/libui/ui_notifications.c | 0 .../itti_analyzer/libui/ui_notifications.h | 0 .../libui/ui_signal_dissect_view.c | 0 .../libui/ui_signal_dissect_view.h | 0 .../utils/itti_analyzer/libui/ui_tree_view.c | 0 .../utils/itti_analyzer/libui/ui_tree_view.h | 0 common/utils/msc/msc.c | 0 common/utils/msc/msc.h | 0 common/utils/system.c | 0 common/utils/system.h | 0 common/utils/time_utils.h | 0 common/utils/utils.c | 0 common/utils/utils.h | 0 enb_dev.config | 2 + enb_dev.creator | 1 + enb_dev.files | 7877 +++++++++++++++++ enb_dev.includes | 143 + oai5g_development.config | 0 oai5g_development.creator | 0 oai5g_development.files | 0 oai5g_development.includes | 0 oaienv | 0 openair1/Makefile | 0 openair1/PHY/CODING/3gpplte.c | 0 openair1/PHY/CODING/3gpplte_sse.c | 0 openair1/PHY/CODING/3gpplte_turbo_decoder.c | 0 .../CODING/3gpplte_turbo_decoder_avx2_16bit.c | 0 .../PHY/CODING/3gpplte_turbo_decoder_sse.c | 0 .../CODING/3gpplte_turbo_decoder_sse_16bit.c | 0 .../CODING/3gpplte_turbo_decoder_sse_8bit.c | 0 openair1/PHY/CODING/Makefile | 0 openair1/PHY/CODING/Makefile.arm | 0 openair1/PHY/CODING/README.txt | 0 openair1/PHY/CODING/TESTBENCH/Makefile | 0 openair1/PHY/CODING/TESTBENCH/README.txt | 0 openair1/PHY/CODING/TESTBENCH/ltetest.c | 0 openair1/PHY/CODING/TESTBENCH/pdcch_test.c | 0 openair1/PHY/CODING/TESTBENCH/viterbi_test.c | 0 openair1/PHY/CODING/ccoding_byte.c | 0 openair1/PHY/CODING/ccoding_byte_lte.c | 0 openair1/PHY/CODING/crc_byte.c | 0 openair1/PHY/CODING/defs.h | 0 openair1/PHY/CODING/extern.h | 0 openair1/PHY/CODING/extern_3GPPinterleaver.h | 0 openair1/PHY/CODING/lte_interleaver.h | 0 openair1/PHY/CODING/lte_interleaver2.h | 0 openair1/PHY/CODING/lte_interleaver_inline.h | 0 openair1/PHY/CODING/lte_rate_matching.c | 0 openair1/PHY/CODING/lte_segmentation.c | 0 openair1/PHY/CODING/lte_tf.m | 0 openair1/PHY/CODING/scrambler.h | 0 openair1/PHY/CODING/vars.h | 0 openair1/PHY/CODING/viterbi.c | 0 openair1/PHY/CODING/viterbi_lte.c | 0 openair1/PHY/INIT/README.txt | 0 openair1/PHY/INIT/defs.h | 0 openair1/PHY/INIT/extern.h | 0 openair1/PHY/INIT/init_top.c | 0 openair1/PHY/INIT/lte_init.c | 0 openair1/PHY/INIT/lte_param_init.c | 0 openair1/PHY/INIT/lte_parms.c | 0 openair1/PHY/INIT/vars.h | 0 openair1/PHY/LTE_ESTIMATION/README.txt | 0 openair1/PHY/LTE_ESTIMATION/adjust_gain.c | 0 .../LTE_ESTIMATION/bf_freq_domain_filters.m | 0 openair1/PHY/LTE_ESTIMATION/defs.h | 0 openair1/PHY/LTE_ESTIMATION/extern.h | 0 openair1/PHY/LTE_ESTIMATION/filt16_32.h | 0 openair1/PHY/LTE_ESTIMATION/filt96_32.h | 0 .../PHY/LTE_ESTIMATION/freq_domain_filters.m | 0 .../PHY/LTE_ESTIMATION/freq_equalization.c | 0 openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c | 0 .../lte_dl_bf_channel_estimation.c | 0 .../lte_dl_channel_estimation.c | 0 .../lte_dl_channel_estimation_emos.c | 0 .../lte_dl_mbsfn_channel_estimation.c | 0 .../PHY/LTE_ESTIMATION/lte_eNB_measurements.c | 0 .../PHY/LTE_ESTIMATION/lte_est_freq_offset.c | 0 openair1/PHY/LTE_ESTIMATION/lte_sync_time.c | 0 .../PHY/LTE_ESTIMATION/lte_sync_timefreq.c | 0 .../PHY/LTE_ESTIMATION/lte_sync_timefreq.m | 0 .../PHY/LTE_ESTIMATION/lte_ue_measurements.c | 0 .../lte_ul_channel_estimation.c | 0 openair1/PHY/LTE_ESTIMATION/pss6144.h | 0 openair1/PHY/LTE_ESTIMATION/vars.h | 0 openair1/PHY/LTE_REFSIG/README.txt | 0 openair1/PHY/LTE_REFSIG/defs.h | 0 openair1/PHY/LTE_REFSIG/gen_mod_table.m | 0 openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c | 0 openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c | 0 openair1/PHY/LTE_REFSIG/lte_dl_uespec.c | 0 openair1/PHY/LTE_REFSIG/lte_gold.c | 0 openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c | 0 openair1/PHY/LTE_REFSIG/lte_ul.m | 0 openair1/PHY/LTE_REFSIG/lte_ul_ref.c | 0 openair1/PHY/LTE_REFSIG/mod_table.h | 0 openair1/PHY/LTE_REFSIG/primary_synch.h | 0 openair1/PHY/LTE_REFSIG/primary_synch.m | 0 openair1/PHY/LTE_TRANSPORT/README.txt | 0 openair1/PHY/LTE_TRANSPORT/dci.h | 0 openair1/PHY/LTE_TRANSPORT/dci_tools.c | 0 openair1/PHY/LTE_TRANSPORT/defs.h | 0 openair1/PHY/LTE_TRANSPORT/dlsch_coding.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c | 0 .../PHY/LTE_TRANSPORT/dlsch_demodulation.c | 0 .../PHY/LTE_TRANSPORT/dlsch_llr_computation.c | 0 .../dlsch_llr_computation_avx2.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h | 0 openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h | 0 openair1/PHY/LTE_TRANSPORT/drs_modulation.c | 0 openair1/PHY/LTE_TRANSPORT/extern.h | 0 openair1/PHY/LTE_TRANSPORT/group_hopping.c | 0 openair1/PHY/LTE_TRANSPORT/if4_tools.c | 0 openair1/PHY/LTE_TRANSPORT/if4_tools.h | 0 openair1/PHY/LTE_TRANSPORT/if5_tools.c | 0 openair1/PHY/LTE_TRANSPORT/if5_tools.h | 0 openair1/PHY/LTE_TRANSPORT/initial_sync.c | 0 openair1/PHY/LTE_TRANSPORT/lte_mcs.c | 0 openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h | 0 openair1/PHY/LTE_TRANSPORT/mdci.h | 0 openair1/PHY/LTE_TRANSPORT/pbch.c | 0 openair1/PHY/LTE_TRANSPORT/pcfich.c | 0 openair1/PHY/LTE_TRANSPORT/pch.c | 0 openair1/PHY/LTE_TRANSPORT/phich.c | 0 openair1/PHY/LTE_TRANSPORT/pilots.c | 0 openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c | 0 openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c | 0 openair1/PHY/LTE_TRANSPORT/pmch.c | 0 openair1/PHY/LTE_TRANSPORT/power_control.c | 0 openair1/PHY/LTE_TRANSPORT/prach.c | 0 openair1/PHY/LTE_TRANSPORT/prach.h | 0 openair1/PHY/LTE_TRANSPORT/print_stats.c | 0 openair1/PHY/LTE_TRANSPORT/proto.h | 0 openair1/PHY/LTE_TRANSPORT/pss.c | 0 openair1/PHY/LTE_TRANSPORT/pucch.c | 0 openair1/PHY/LTE_TRANSPORT/rar_tools.c | 0 openair1/PHY/LTE_TRANSPORT/srs_modulation.c | 0 openair1/PHY/LTE_TRANSPORT/sss.c | 0 openair1/PHY/LTE_TRANSPORT/sss.h | 0 openair1/PHY/LTE_TRANSPORT/sss_gen.m | 0 openair1/PHY/LTE_TRANSPORT/uci.h | 0 openair1/PHY/LTE_TRANSPORT/uci_tools.c | 0 openair1/PHY/LTE_TRANSPORT/ulsch_coding.c | 0 openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c | 0 .../PHY/LTE_TRANSPORT/ulsch_demodulation.c | 0 openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c | 0 openair1/PHY/LTE_TRANSPORT/vars.h | 0 openair1/PHY/LTE_TRANSPORT/vrb_maps.m | 0 openair1/PHY/MODULATION/beamforming.c | 0 openair1/PHY/MODULATION/compute_bf_weights.c | 0 openair1/PHY/MODULATION/defs.h | 0 openair1/PHY/MODULATION/extern.h | 0 openair1/PHY/MODULATION/gen_7_5_kHz.m | 0 openair1/PHY/MODULATION/kHz_7_5.h | 0 openair1/PHY/MODULATION/ofdm_mod.c | 0 openair1/PHY/MODULATION/prach625Hz.h | 0 openair1/PHY/MODULATION/slot_fep.c | 0 openair1/PHY/MODULATION/slot_fep_mbsfn.c | 0 openair1/PHY/MODULATION/slot_fep_ul.c | 0 openair1/PHY/MODULATION/ul_7_5_kHz.c | 0 openair1/PHY/MODULATION/vars.h | 0 openair1/PHY/Makefile.inc | 0 openair1/PHY/TOOLS/8bit_rxdemux.c | 0 openair1/PHY/TOOLS/8bit_txmux.c | 0 openair1/PHY/TOOLS/Makefile | 0 openair1/PHY/TOOLS/alaw_lut.h | 0 openair1/PHY/TOOLS/angle.c | 0 openair1/PHY/TOOLS/cadd_sv.c | 0 openair1/PHY/TOOLS/cadd_vv.c | 0 openair1/PHY/TOOLS/cdot_prod.c | 0 openair1/PHY/TOOLS/cmult_sv.c | 0 openair1/PHY/TOOLS/cmult_vv.c | 0 openair1/PHY/TOOLS/costable.h | 0 openair1/PHY/TOOLS/dB_routines.c | 0 openair1/PHY/TOOLS/dB_routines.h | 0 openair1/PHY/TOOLS/defs.h | 0 openair1/PHY/TOOLS/extern.h | 0 openair1/PHY/TOOLS/file_output.c | 0 openair1/PHY/TOOLS/invSqrt.c | 0 openair1/PHY/TOOLS/log2_approx.c | 0 openair1/PHY/TOOLS/lte_dfts.c | 0 openair1/PHY/TOOLS/lte_phy_scope.c | 0 openair1/PHY/TOOLS/lte_phy_scope.h | 0 openair1/PHY/TOOLS/lte_phy_scope_tm4.c | 0 openair1/PHY/TOOLS/lut.c | 0 openair1/PHY/TOOLS/memory_routines.c | 0 openair1/PHY/TOOLS/read_F.c | 0 openair1/PHY/TOOLS/signal_energy.c | 0 openair1/PHY/TOOLS/smbv.c | 0 openair1/PHY/TOOLS/smbv.h | 0 openair1/PHY/TOOLS/sqrt.c | 0 openair1/PHY/TOOLS/time_meas.c | 0 openair1/PHY/TOOLS/time_meas.h | 0 openair1/PHY/TOOLS/twiddle12288.h | 0 openair1/PHY/TOOLS/twiddle1536.h | 0 openair1/PHY/TOOLS/twiddle18432.h | 0 openair1/PHY/TOOLS/twiddle24576.h | 0 openair1/PHY/TOOLS/twiddle6144.h | 0 openair1/PHY/TOOLS/twiddles4096.h | 0 openair1/PHY/TOOLS/twiddles8192.h | 0 openair1/PHY/TOOLS/vars.h | 0 openair1/PHY/defs.h | 0 openair1/PHY/extern.h | 0 openair1/PHY/impl_defs_lte.h | 0 openair1/PHY/impl_defs_top.h | 0 openair1/PHY/sse_intrin.h | 0 openair1/PHY/types.h | 0 openair1/PHY/vars.h | 0 openair1/README.TXT | 0 openair1/SCHED/Makefile.inc | 0 openair1/SCHED/defs.h | 0 openair1/SCHED/extern.h | 0 openair1/SCHED/phy_mac_stub.c | 0 openair1/SCHED/phy_procedures_emos.h | 0 openair1/SCHED/phy_procedures_lte_common.c | 0 openair1/SCHED/phy_procedures_lte_eNb.c | 0 openair1/SCHED/phy_procedures_lte_ue.c | 0 openair1/SCHED/pucch_pc.c | 0 openair1/SCHED/pusch_pc.c | 0 openair1/SCHED/rt_compat.h | 0 openair1/SCHED/ru_procedures.c | 0 openair1/SCHED/srs_pc.c | 0 openair1/SCHED/vars.h | 0 .../SIMULATION/ETH_TRANSPORT/Makefile.inc | 0 openair1/SIMULATION/ETH_TRANSPORT/README.txt | 0 .../ETH_TRANSPORT/bypass_session_layer.c | 0 openair1/SIMULATION/ETH_TRANSPORT/defs.h | 0 .../SIMULATION/ETH_TRANSPORT/emu_transport.c | 0 openair1/SIMULATION/ETH_TRANSPORT/extern.h | 0 .../SIMULATION/ETH_TRANSPORT/multicast_link.c | 0 .../SIMULATION/ETH_TRANSPORT/multicast_link.h | 0 .../SIMULATION/ETH_TRANSPORT/netlink_init.c | 0 openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c | 0 openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h | 0 openair1/SIMULATION/ETH_TRANSPORT/proto.h | 0 openair1/SIMULATION/ETH_TRANSPORT/socket.c | 0 openair1/SIMULATION/ETH_TRANSPORT/socket.h | 0 openair1/SIMULATION/ETH_TRANSPORT/vars.h | 0 .../Abstraction/Training/create_plots.m | 0 .../Abstraction/Training/delta_BLER_1.m | 0 .../Training/polyfit_beta_training.m | 0 .../Abstraction/Training/polyfit_delta_BLER.m | 0 .../Abstraction/Training/sinr_Eff_Calc.m | 0 .../Training/training_abstraction.m | 0 .../Training/training_top_script.m | 0 .../LTE_PHY/Abstraction/beta_training_EESM.m | 0 .../Abstraction/data_collection_mode5.m | 0 .../LTE_PHY/Abstraction/data_extraction.m | 0 .../LTE_PHY/Abstraction/delta_BLER.m | 0 .../LTE_PHY/Abstraction/delta_BLER_1.m | 0 .../SIMULATION/LTE_PHY/Abstraction/demap_q.m | 0 .../matFiles/16_16_noMF_lte_Mode5_1.mat | Bin .../matFiles/16_16_noMF_lte_Mode5_2.mat | Bin .../matFiles/16_16_noMF_lte_Mode5_3.mat | Bin .../matFiles/16_16_noMF_lte_Mode5_4.mat | Bin .../matFiles/16_16_noMF_lte_Mode5_5.mat | Bin .../matFiles/16_4_noMF_lte_Mode5_1.mat | Bin .../matFiles/16_4_noMF_lte_Mode5_2.mat | Bin .../matFiles/16_4_noMF_lte_Mode5_3.mat | Bin .../matFiles/16_4_noMF_lte_Mode5_4.mat | Bin .../matFiles/16_4_noMF_lte_Mode5_5.mat | Bin .../matFiles/4_16_noMF_lte_Mode5_1.mat | Bin .../matFiles/4_16_noMF_lte_Mode5_2.mat | Bin .../matFiles/4_16_noMF_lte_Mode5_3.mat | Bin .../matFiles/4_16_noMF_lte_Mode5_4.mat | Bin .../matFiles/4_16_noMF_lte_Mode5_5.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat | Bin .../Abstraction/matFiles/data_mode5_16_16.mat | Bin .../data_mode5_4_4_morerealizations.mat | Bin .../matFiles/siso_MI_abs_16Qam.mat | Bin .../Abstraction/matFiles/siso_MI_abs_4Qam.mat | Bin .../matFiles/siso_MI_abs_64Qam.mat | Bin .../LTE_PHY/Abstraction/opposite_q.m | 0 .../bler_tx1_chan18_nrx1_mcs0.csv | 0 .../bler_tx1_chan18_nrx1_mcs1.csv | 0 .../bler_tx1_chan18_nrx1_mcs10.csv | 0 .../bler_tx1_chan18_nrx1_mcs11.csv | 0 .../bler_tx1_chan18_nrx1_mcs12.csv | 0 .../bler_tx1_chan18_nrx1_mcs13.csv | 0 .../bler_tx1_chan18_nrx1_mcs14.csv | 0 .../bler_tx1_chan18_nrx1_mcs15.csv | 0 .../bler_tx1_chan18_nrx1_mcs16.csv | 0 .../bler_tx1_chan18_nrx1_mcs17.csv | 0 .../bler_tx1_chan18_nrx1_mcs18.csv | 0 .../bler_tx1_chan18_nrx1_mcs19.csv | 0 .../bler_tx1_chan18_nrx1_mcs2.csv | 0 .../bler_tx1_chan18_nrx1_mcs20.csv | 0 .../bler_tx1_chan18_nrx1_mcs21.csv | 0 .../bler_tx1_chan18_nrx1_mcs22.csv | 0 .../bler_tx1_chan18_nrx1_mcs23.csv | 0 .../bler_tx1_chan18_nrx1_mcs24.csv | 0 .../bler_tx1_chan18_nrx1_mcs25.csv | 0 .../bler_tx1_chan18_nrx1_mcs26.csv | 0 .../bler_tx1_chan18_nrx1_mcs27.csv | 0 .../bler_tx1_chan18_nrx1_mcs3.csv | 0 .../bler_tx1_chan18_nrx1_mcs4.csv | 0 .../bler_tx1_chan18_nrx1_mcs5.csv | 0 .../bler_tx1_chan18_nrx1_mcs6.csv | 0 .../bler_tx1_chan18_nrx1_mcs7.csv | 0 .../bler_tx1_chan18_nrx1_mcs8.csv | 0 .../bler_tx1_chan18_nrx1_mcs9.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv | 0 .../Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_0.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_100.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_119.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_150.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_200.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_250.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_300.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_350.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_400.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_450.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_500.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_550.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_66.m | 0 .../LTE_PHY/BLER_SIMULATIONS/bler_80.m | 0 .../LTE_PHY/BLER_SIMULATIONS/eval_results.m | 0 .../SIMULATION/LTE_PHY/LTE_Configuration.c | 0 .../SIMULATION/LTE_PHY/LTE_Configuration.h | 0 openair1/SIMULATION/LTE_PHY/Makefile | 0 openair1/SIMULATION/LTE_PHY/README.txt | 0 .../SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m | 0 .../LTE_PHY/REFERENCE_DATA/embms_20_25.m | 0 .../REFERENCE_DATA/oai_embms_r39-1.png | Bin .../LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m | 0 .../LTE_PHY/REFERENCE_DATA/pdsch.txt | 0 .../SIMULATION/LTE_PHY/blerCurvesTemplate.tex | 0 openair1/SIMULATION/LTE_PHY/blerSimus.zip | Bin openair1/SIMULATION/LTE_PHY/dlsim.c | 0 openair1/SIMULATION/LTE_PHY/dlsim_tm4.c | 0 openair1/SIMULATION/LTE_PHY/dlsim_tm7.c | 0 openair1/SIMULATION/LTE_PHY/fancyheadings.sty | 0 openair1/SIMULATION/LTE_PHY/framegen.c | 0 openair1/SIMULATION/LTE_PHY/gpib_send.c | 0 openair1/SIMULATION/LTE_PHY/gpib_send.h | 0 openair1/SIMULATION/LTE_PHY/launch_sim.sh | 0 openair1/SIMULATION/LTE_PHY/mbmssim.c | 0 openair1/SIMULATION/LTE_PHY/pbch_awgn.txt | 0 .../SIMULATION/LTE_PHY/pbch_awgn_interp.txt | 0 openair1/SIMULATION/LTE_PHY/pbchsim.c | 0 openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh | 0 .../SIMULATION/LTE_PHY/pdcch_eval_results.m | 0 openair1/SIMULATION/LTE_PHY/pdcchsim.c | 0 openair1/SIMULATION/LTE_PHY/plotTools/p | 0 .../SIMULATION/LTE_PHY/plotTools/plotTool.m | 0 .../LTE_PHY/plotTools/plot_channel_PePu.m | 0 .../LTE_PHY/plotTools/plot_channel_SePu.m | 0 .../LTE_PHY/plotTools/plot_channels.m | 0 .../LTE_PHY/plotTools/plot_constellations.m | 0 .../LTE_PHY/plotTools/plot_dl_ce_prec_ul.m | 0 .../LTE_PHY/plotTools/plot_dl_ch_est.m | 0 .../plotTools/plot_floating_point_signals.m | 0 .../LTE_PHY/plotTools/plot_srs_ce.m | 0 .../LTE_PHY/plotTools/plot_srs_ce_.m | 0 .../LTE_PHY/plotTools/plot_srs_prec_dl.m | 0 .../LTE_PHY/plotTools/plot_srs_rxF.m | 0 .../SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m | 0 .../LTE_PHY/plotTools/plot_txdata.m | 0 openair1/SIMULATION/LTE_PHY/prachsim.c | 0 .../SIMULATION/LTE_PHY/pucchsignalgegerator.h | 0 .../SIMULATION/LTE_PHY/pucchsignalgenerator.c | 0 openair1/SIMULATION/LTE_PHY/pucchsim.c | 0 openair1/SIMULATION/LTE_PHY/scansim.c | 0 openair1/SIMULATION/LTE_PHY/signalanalyzer.c | 0 openair1/SIMULATION/LTE_PHY/signalanalyzer.h | 0 openair1/SIMULATION/LTE_PHY/syncsim.c | 0 openair1/SIMULATION/LTE_PHY/test.c | 0 .../SIMULATION/LTE_PHY/ulsignalgenerator.c | 0 .../SIMULATION/LTE_PHY/ulsignalgenerator.h | 0 openair1/SIMULATION/LTE_PHY/ulsim.c | 0 openair1/SIMULATION/LTE_PHY/ulsim2.c | 0 openair1/SIMULATION/LTE_PHY/unitary_defs.h | 0 openair1/SIMULATION/Makefile.inc | 0 openair1/SIMULATION/RF/Makefile | 0 openair1/SIMULATION/RF/README.txt | 0 openair1/SIMULATION/RF/adc.c | 0 openair1/SIMULATION/RF/dac.c | 0 openair1/SIMULATION/RF/defs.h | 0 openair1/SIMULATION/RF/rf.c | 0 openair1/SIMULATION/TOOLS/abstraction.c | 0 openair1/SIMULATION/TOOLS/ch_desc_proto.c | 0 openair1/SIMULATION/TOOLS/corr_mat.m | 0 openair1/SIMULATION/TOOLS/defs.h | 0 openair1/SIMULATION/TOOLS/gauss.c | 0 openair1/SIMULATION/TOOLS/llr_quantization.c | 0 openair1/SIMULATION/TOOLS/multipath_channel.c | 0 .../SIMULATION/TOOLS/multipath_tv_channel.c | 0 openair1/SIMULATION/TOOLS/random_channel.c | 0 openair1/SIMULATION/TOOLS/rangen_double.c | 0 openair1/SIMULATION/TOOLS/scm_corrmat.h | 0 openair1/SIMULATION/TOOLS/taus.c | 0 openair2/COMMON/as_message.h | 0 openair2/COMMON/commonDef.h | 0 openair2/COMMON/gtpv1_u_messages_def.h | 0 openair2/COMMON/gtpv1_u_messages_types.h | 0 openair2/COMMON/intertask_interface_conf.h | 0 openair2/COMMON/mac_messages_def.h | 0 openair2/COMMON/mac_messages_types.h | 0 openair2/COMMON/mac_primitives.h | 0 openair2/COMMON/mac_rlc_primitives.h | 0 openair2/COMMON/mac_rrc_primitives.h | 0 openair2/COMMON/messages_def.h | 0 openair2/COMMON/messages_types.h | 0 openair2/COMMON/nas_messages_def.h | 0 openair2/COMMON/nas_messages_types.h | 0 openair2/COMMON/networkDef.h | 0 openair2/COMMON/openair_defs.h | 0 openair2/COMMON/openair_types.h | 0 openair2/COMMON/pdcp_messages_def.h | 0 openair2/COMMON/pdcp_messages_types.h | 0 openair2/COMMON/phy_messages_def.h | 0 openair2/COMMON/phy_messages_types.h | 0 openair2/COMMON/platform_constants.h | 0 openair2/COMMON/platform_types.h | 0 openair2/COMMON/ral_messages_def.h | 0 openair2/COMMON/ral_messages_types.h | 0 openair2/COMMON/rlc_messages_def.h | 0 openair2/COMMON/rlc_messages_types.h | 0 openair2/COMMON/rrc_messages_def.h | 0 openair2/COMMON/rrc_messages_types.h | 0 openair2/COMMON/rrm_config_structs.h | 0 openair2/COMMON/rrm_constants.h | 0 openair2/COMMON/rtos_header.h | 0 openair2/COMMON/s1ap_messages_def.h | 0 openair2/COMMON/s1ap_messages_types.h | 0 openair2/COMMON/sctp_messages_def.h | 0 openair2/COMMON/sctp_messages_types.h | 0 openair2/COMMON/tasks_def.h | 0 openair2/COMMON/udp_messages_def.h | 0 openair2/COMMON/udp_messages_types.h | 0 openair2/COMMON/x2ap_messages_def.h | 0 openair2/COMMON/x2ap_messages_types.h | 0 openair2/DOCS/DOXYGEN/images/Transmission.png | Bin openair2/DOCS/DOXYGEN/images/Transmission.ps | 0 openair2/DOCS/Documentation/flow.txt | 0 openair2/DOCS/TEMPLATES/CODE/Doxyfile | 0 openair2/DOCS/TEMPLATES/CODE/example_doxy.h | 0 openair2/DOCS/TEMPLATES/CODE/images/arch.eps | 0 openair2/DOCS/TEMPLATES/CODE/images/arch.png | Bin openair2/DOCS/TEMPLATES/README/Readme.doxy | 0 openair2/DOCS/TEMPLATES/README/readme.txt | 0 .../CONTROL_MODULES/MAC/flexran_agent_mac.c | 0 .../CONTROL_MODULES/MAC/flexran_agent_mac.h | 0 .../MAC/flexran_agent_mac_defs.h | 0 .../MAC/flexran_agent_mac_internal.c | 0 .../MAC/flexran_agent_mac_internal.h | 0 .../ENB_APP/MESSAGES/V2/config_common.proto | 0 .../ENB_APP/MESSAGES/V2/config_messages.proto | 0 .../MESSAGES/V2/control_delegation.proto | 0 .../MESSAGES/V2/controller_commands.proto | 0 openair2/ENB_APP/MESSAGES/V2/flexran.proto | 0 openair2/ENB_APP/MESSAGES/V2/header.proto | 0 .../ENB_APP/MESSAGES/V2/mac_primitives.proto | 0 .../ENB_APP/MESSAGES/V2/stats_common.proto | 0 .../ENB_APP/MESSAGES/V2/stats_messages.proto | 0 .../ENB_APP/MESSAGES/V2/time_common.proto | 0 openair2/ENB_APP/Makefile.inc | 0 openair2/ENB_APP/enb_app.c | 0 openair2/ENB_APP/enb_app.h | 0 openair2/ENB_APP/enb_config.c | 0 openair2/ENB_APP/enb_config.h | 0 openair2/ENB_APP/flexran_agent.c | 0 openair2/ENB_APP/flexran_agent.h | 0 openair2/ENB_APP/flexran_agent_async.c | 0 openair2/ENB_APP/flexran_agent_async.h | 0 openair2/ENB_APP/flexran_agent_common.c | 0 openair2/ENB_APP/flexran_agent_common.h | 0 .../ENB_APP/flexran_agent_common_internal.c | 0 .../ENB_APP/flexran_agent_common_internal.h | 0 openair2/ENB_APP/flexran_agent_defs.h | 0 openair2/ENB_APP/flexran_agent_extern.h | 0 openair2/ENB_APP/flexran_agent_handler.c | 0 openair2/ENB_APP/flexran_agent_net_comm.c | 0 openair2/ENB_APP/flexran_agent_net_comm.h | 0 openair2/ENB_APP/flexran_agent_task_manager.c | 0 openair2/ENB_APP/flexran_agent_task_manager.h | 0 openair2/LAYER2/MAC/config.c | 4 +- openair2/LAYER2/MAC/defs.h | 0 openair2/LAYER2/MAC/eNB_scheduler.c | 0 openair2/LAYER2/MAC/eNB_scheduler_RA.c | 0 openair2/LAYER2/MAC/eNB_scheduler_bch.c | 0 openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 948 -- openair2/LAYER2/MAC/eNB_scheduler_mch.c | 0 .../LAYER2/MAC/eNB_scheduler_primitives.c | 0 openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 6 +- openair2/LAYER2/MAC/extern.h | 0 openair2/LAYER2/MAC/flexran_agent_mac_proto.h | 0 .../MAC/flexran_agent_scheduler_dataplane.c | 0 .../MAC/flexran_agent_scheduler_dlsch_ue.c | 0 .../flexran_agent_scheduler_dlsch_ue_remote.c | 0 .../flexran_agent_scheduler_dlsch_ue_remote.h | 0 openair2/LAYER2/MAC/flexran_dci_conversions.h | 0 openair2/LAYER2/MAC/l1_helpers.c | 0 openair2/LAYER2/MAC/lte_transport_init.c | 0 openair2/LAYER2/MAC/main.c | 0 openair2/LAYER2/MAC/openair2_proc.c | 0 openair2/LAYER2/MAC/pre_processor.c | 0 openair2/LAYER2/MAC/proto.h | 0 openair2/LAYER2/MAC/ra_procedures.c | 0 openair2/LAYER2/MAC/rar_tools.c | 0 openair2/LAYER2/MAC/ue_procedures.c | 0 openair2/LAYER2/MAC/vars.h | 0 openair2/LAYER2/Makefile.inc | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp.h | 0 .../PDCP_v10.1.0/pdcp_control_primitive.c | 0 .../pdcp_control_primitives_proto_extern.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c | 0 .../LAYER2/PDCP_v10.1.0/pdcp_primitives.c | 0 .../LAYER2/PDCP_v10.1.0/pdcp_primitives.h | 0 .../LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c | 0 .../PDCP_v10.1.0/pdcp_sequence_manager.c | 0 .../PDCP_v10.1.0/pdcp_sequence_manager.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h | 0 .../RLC/AM_v9.3.0/rlc_am_proto_extern.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h | 0 .../RLC/AM_v9.3.0/rlc_am_segments_holes.c | 0 .../RLC/AM_v9.3.0/rlc_am_segments_holes.h | 0 .../RLC/AM_v9.3.0/rlc_am_status_report.c | 0 .../RLC/AM_v9.3.0/rlc_am_status_report.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h | 0 .../AM_v9.3.0/rlc_am_timer_poll_retransmit.c | 0 .../AM_v9.3.0/rlc_am_timer_poll_retransmit.h | 0 .../RLC/AM_v9.3.0/rlc_am_timer_reordering.c | 0 .../RLC/AM_v9.3.0/rlc_am_timer_reordering.h | 0 .../AM_v9.3.0/rlc_am_timer_status_prohibit.c | 0 .../AM_v9.3.0/rlc_am_timer_status_prohibit.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h | 0 .../LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/Makefile | 0 openair2/LAYER2/RLC/UM_v9.3.0/README | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h | 0 .../RLC/UM_v9.3.0/rlc_um_control_primitives.c | 0 .../RLC/UM_v9.3.0/rlc_um_control_primitives.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h | 0 .../RLC/UM_v9.3.0/rlc_um_very_simple_test.c | 0 .../RLC/UM_v9.3.0/rlc_um_very_simple_test.h | 0 openair2/LAYER2/RLC/mac_primitives.h | 0 openair2/LAYER2/RLC/rlc.c | 0 openair2/LAYER2/RLC/rlc.h | 0 openair2/LAYER2/RLC/rlc_def.h | 0 openair2/LAYER2/RLC/rlc_def_lte.h | 0 openair2/LAYER2/RLC/rlc_mac.c | 0 openair2/LAYER2/RLC/rlc_mpls.c | 0 openair2/LAYER2/RLC/rlc_primitives.h | 0 openair2/LAYER2/RLC/rlc_rrc.c | 0 openair2/LAYER2/openair2_proc.c | 0 openair2/LAYER2/register.c | 0 openair2/LAYER2/register.h | 0 .../DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c | 0 .../DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h | 0 .../DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c | 0 .../DRIVER/CELLULAR/NASMT/nasmt_classifier.c | 0 .../NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c | 0 .../DRIVER/CELLULAR/NASMT/nasmt_constant.h | 0 .../NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c | 0 .../DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c | 0 .../DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h | 0 .../NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c | 0 .../NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h | 0 .../NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h | 0 .../NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c | 0 .../DRIVER/CELLULAR/NASMT/nasmt_variables.h | 0 .../DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c | 0 .../DRIVER/CELLULAR/NASRG/nasrg_classifier.c | 0 .../NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c | 0 .../DRIVER/CELLULAR/NASRG/nasrg_constant.h | 0 .../NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c | 0 .../DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c | 0 .../DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h | 0 .../NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c | 0 .../NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h | 0 .../NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h | 0 .../NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c | 0 .../DRIVER/CELLULAR/NASRG/nasrg_variables.h | 0 .../NAS/DRIVER/CELLULAR/NETLTEST/netltest.c | 0 .../DRIVER/CELLULAR/NETLTEST/nettestPDCP.c | 0 openair2/NAS/Makefile.inc | 0 openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h | 0 openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c | 0 .../NAS/SIMU_CELLULAR/rrm_fifo_standalone.c | 0 .../NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c | 0 openair2/NETWORK_DRIVER/LITE/classifier.c | 0 openair2/NETWORK_DRIVER/LITE/common.c | 0 openair2/NETWORK_DRIVER/LITE/constant.h | 0 openair2/NETWORK_DRIVER/LITE/device.c | 0 openair2/NETWORK_DRIVER/LITE/ioctl.c | 0 openair2/NETWORK_DRIVER/LITE/ioctl.h | 0 openair2/NETWORK_DRIVER/LITE/local.h | 0 openair2/NETWORK_DRIVER/LITE/netlink.c | 0 openair2/NETWORK_DRIVER/LITE/proto_extern.h | 0 openair2/NETWORK_DRIVER/LITE/sap.h | 0 openair2/NETWORK_DRIVER/LITE/tool.c | 0 openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile | 0 .../NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c | 0 .../NETWORK_DRIVER/MESH/TESTBENCH/testbench.c | 0 openair2/NETWORK_DRIVER/MESH/classifier.c | 0 openair2/NETWORK_DRIVER/MESH/common.c | 0 openair2/NETWORK_DRIVER/MESH/constant.h | 0 openair2/NETWORK_DRIVER/MESH/device.c | 0 openair2/NETWORK_DRIVER/MESH/ioctl.c | 0 openair2/NETWORK_DRIVER/MESH/ioctl.h | 0 openair2/NETWORK_DRIVER/MESH/local.h | 0 openair2/NETWORK_DRIVER/MESH/mesh.c | 0 openair2/NETWORK_DRIVER/MESH/netlink.c | 0 openair2/NETWORK_DRIVER/MESH/proto_extern.h | 0 .../NETWORK_DRIVER/MESH/rrc_nas_primitives.h | 0 openair2/NETWORK_DRIVER/MESH/sap.h | 0 openair2/NETWORK_DRIVER/MESH/tool.c | 0 openair2/NETWORK_DRIVER/UE_IP/common.c | 0 openair2/NETWORK_DRIVER/UE_IP/constant.h | 0 openair2/NETWORK_DRIVER/UE_IP/device.c | 0 openair2/NETWORK_DRIVER/UE_IP/local.h | 0 openair2/NETWORK_DRIVER/UE_IP/netlink.c | 0 openair2/NETWORK_DRIVER/UE_IP/proto_extern.h | 0 openair2/NETWORK_DRIVER/UE_IP/sap.h | 0 openair2/PHY_INTERFACE/IF_Module.c | 0 openair2/PHY_INTERFACE/IF_Module.h | 0 openair2/PHY_INTERFACE/defs.h | 0 openair2/PHY_INTERFACE/extern.h | 0 openair2/PHY_INTERFACE/mac_phy_primitives.c | 0 openair2/PHY_INTERFACE/mac_phy_primitives.h | 0 openair2/PHY_INTERFACE/vars.h | 0 .../L2_INTERFACE/openair_rrc_L2_interface.c | 0 .../L2_INTERFACE/openair_rrc_L2_interface.h | 0 openair2/RRC/LITE/L2_interface.c | 0 openair2/RRC/LITE/MESSAGES/Makefile | 0 openair2/RRC/LITE/MESSAGES/Makefile.inc | 0 openair2/RRC/LITE/MESSAGES/README.txt | 0 openair2/RRC/LITE/MESSAGES/asn1_msg.c | 4 +- openair2/RRC/LITE/MESSAGES/asn1_msg.h | 0 openair2/RRC/LITE/MESSAGES/asn1_patch | 0 .../EUTRA-InterNodeDefinitions-ah0.asn | 0 .../EUTRA-InterNodeDefinitions-c60.asn | 0 .../ASN1_files/EUTRA-RRC-Definitions-86.asn | 0 .../ASN1_files/EUTRA-RRC-Definitions-ah0.asn | 0 .../ASN1_files/EUTRA-RRC-Definitions-c60.asn | 0 .../ASN1_files/EUTRA-UE-Variables-ah0.asn | 0 .../ASN1_files/EUTRA-UE-Variables-c60.asn | 0 .../MESSAGES/asn1c/ASN1_files/RRC-e10.asn | 0 .../ASN1_files/extract_asn1_from_spec.pl | 0 openair2/RRC/LITE/MESSAGES/rtai_mem.c | 0 openair2/RRC/LITE/MESSAGES/rtai_mem.h | 0 openair2/RRC/LITE/defs.h | 0 openair2/RRC/LITE/extern.h | 0 openair2/RRC/LITE/mesh_top.c | 0 openair2/RRC/LITE/plmn_data.h | 0 openair2/RRC/LITE/proto.h | 0 openair2/RRC/LITE/rrc_2_rrm_msg.c | 0 openair2/RRC/LITE/rrc_UE.c | 0 openair2/RRC/LITE/rrc_UE_ral.c | 0 openair2/RRC/LITE/rrc_UE_ral.h | 0 openair2/RRC/LITE/rrc_common.c | 0 openair2/RRC/LITE/rrc_eNB.c | 0 openair2/RRC/LITE/rrc_eNB_GTPV1U.c | 0 openair2/RRC/LITE/rrc_eNB_GTPV1U.h | 0 openair2/RRC/LITE/rrc_eNB_S1AP.c | 0 openair2/RRC/LITE/rrc_eNB_S1AP.h | 0 openair2/RRC/LITE/rrc_eNB_UE_context.c | 0 openair2/RRC/LITE/rrc_eNB_UE_context.h | 0 openair2/RRC/LITE/rrc_eNB_ral.c | 0 openair2/RRC/LITE/rrc_eNB_ral.h | 0 openair2/RRC/LITE/rrc_rrm_interface.c | 0 openair2/RRC/LITE/rrc_rrm_interface.h | 0 openair2/RRC/LITE/rrc_types.h | 0 openair2/RRC/LITE/rrm_2_rrc_msg.c | 0 openair2/RRC/LITE/utils.c | 0 openair2/RRC/LITE/vars.h | 0 openair2/RRC/NAS/Makefile.inc | 0 openair2/RRC/NAS/nas_config.c | 0 openair2/RRC/NAS/nas_config.h | 0 openair2/RRC/NAS/rb_config.c | 0 openair2/RRC/NAS/rb_config.h | 0 openair2/UTIL/ASYNC_IF/link_manager.c | 0 openair2/UTIL/ASYNC_IF/link_manager.h | 0 openair2/UTIL/ASYNC_IF/message_queue.c | 0 openair2/UTIL/ASYNC_IF/message_queue.h | 0 openair2/UTIL/ASYNC_IF/ringbuffer_queue.c | 0 openair2/UTIL/ASYNC_IF/ringbuffer_queue.h | 0 openair2/UTIL/ASYNC_IF/socket_link.c | 0 openair2/UTIL/ASYNC_IF/socket_link.h | 0 openair2/UTIL/BIGPHYS/bigphys.c | 0 openair2/UTIL/BIGPHYS/defs.h | 0 openair2/UTIL/CLI/cli.c | 0 openair2/UTIL/CLI/cli.h | 0 openair2/UTIL/CLI/cli_cmd.c | 0 openair2/UTIL/CLI/cli_if.h | 0 openair2/UTIL/CLI/cli_server.c | 0 openair2/UTIL/FIFO/pad_list.c | 0 openair2/UTIL/FIFO/pad_list.h | 0 openair2/UTIL/FIFO/types.h | 0 .../LFDS/liblfds6.1.1/liblfds611/building.txt | 0 .../UTIL/LFDS/liblfds6.1.1/liblfds611/dirs | 0 .../liblfds6.1.1/liblfds611/inc/liblfds611.h | 0 .../liblfds6.1.1/liblfds611/liblfds611.def | 0 .../liblfds6.1.1/liblfds611/liblfds611.sln | 0 .../liblfds6.1.1/liblfds611/liblfds611.vcproj | 0 .../liblfds6.1.1/liblfds611/makefile.linux | 0 .../liblfds6.1.1/liblfds611/makefile.windows | 0 .../LFDS/liblfds6.1.1/liblfds611/readme.txt | 0 .../runme_before_win_kernel_build_readme.txt | 0 ...me_before_win_kernel_dynamic_lib_build.bat | 0 ...nme_before_win_kernel_static_lib_build.bat | 0 .../liblfds6.1.1/liblfds611/sources.dynamic | 0 .../liblfds6.1.1/liblfds611/sources.static | 0 .../LFDS/liblfds6.1.1/liblfds611/src/dirs | 0 .../liblfds611/src/driver_entry.c | 0 .../liblfds611/src/driver_entry_readme.txt | 0 .../lfds611_abstraction_cas.c | 0 .../lfds611_abstraction_dcas.c | 0 .../lfds611_abstraction_free.c | 0 .../lfds611_abstraction_increment.c | 0 .../lfds611_abstraction_internal_body.h | 0 .../lfds611_abstraction_internal_wrapper.h | 0 .../lfds611_abstraction_malloc.c | 0 .../lfds611_freelist_delete.c | 0 .../lfds611_freelist_get_and_set.c | 0 .../lfds611_freelist_internal.h | 0 .../lfds611_freelist/lfds611_freelist_new.c | 0 .../lfds611_freelist_pop_push.c | 0 .../lfds611_freelist/lfds611_freelist_query.c | 0 ...lfds611_liblfds_abstraction_test_helpers.c | 0 .../lfds611_liblfds_aligned_free.c | 0 .../lfds611_liblfds_aligned_malloc.c | 0 .../lfds611_liblfds_internal.h | 0 .../lfds611_liblfds_readme.txt | 0 .../src/lfds611_queue/lfds611_queue_delete.c | 0 .../lfds611_queue/lfds611_queue_internal.h | 0 .../src/lfds611_queue/lfds611_queue_new.c | 0 .../src/lfds611_queue/lfds611_queue_query.c | 0 .../src/lfds611_queue/lfds611_queue_queue.c | 0 .../lfds611_ringbuffer_delete.c | 0 .../lfds611_ringbuffer_get_and_put.c | 0 .../lfds611_ringbuffer_internal.h | 0 .../lfds611_ringbuffer_new.c | 0 .../lfds611_ringbuffer_query.c | 0 .../src/lfds611_slist/lfds611_slist_delete.c | 0 .../lfds611_slist/lfds611_slist_get_and_set.c | 0 .../lfds611_slist/lfds611_slist_internal.h | 0 .../src/lfds611_slist/lfds611_slist_link.c | 0 .../src/lfds611_slist/lfds611_slist_new.c | 0 .../src/lfds611_stack/lfds611_stack_delete.c | 0 .../lfds611_stack/lfds611_stack_internal.h | 0 .../src/lfds611_stack/lfds611_stack_new.c | 0 .../lfds611_stack/lfds611_stack_push_pop.c | 0 .../src/lfds611_stack/lfds611_stack_query.c | 0 .../liblfds611/src/liblfds611_internal.h | 0 .../UTIL/LFDS/liblfds6.1.1/test/building.txt | 0 .../LFDS/liblfds6.1.1/test/makefile.linux | 0 .../LFDS/liblfds6.1.1/test/makefile.windows | 0 .../LFDS/liblfds6.1.1/test/src/abstraction.h | 0 .../test/src/abstraction_cpu_count.c | 0 .../test/src/abstraction_thread_start.c | 0 .../test/src/abstraction_thread_wait.c | 0 .../test/src/benchmark_freelist.c | 0 .../liblfds6.1.1/test/src/benchmark_queue.c | 0 .../test/src/benchmark_ringbuffer.c | 0 .../liblfds6.1.1/test/src/benchmark_stack.c | 0 .../LFDS/liblfds6.1.1/test/src/internal.h | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/main.c | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/misc.c | 0 .../LFDS/liblfds6.1.1/test/src/structures.h | 0 .../liblfds6.1.1/test/src/test_abstraction.c | 0 .../liblfds6.1.1/test/src/test_freelist.c | 0 .../LFDS/liblfds6.1.1/test/src/test_queue.c | 0 .../liblfds6.1.1/test/src/test_ringbuffer.c | 0 .../LFDS/liblfds6.1.1/test/src/test_slist.c | 0 .../LFDS/liblfds6.1.1/test/src/test_stack.c | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln | 0 .../UTIL/LFDS/liblfds6.1.1/test/test.vcproj | 0 .../liblfds700/build/gcc_and_gnumake/Makefile | 0 .../build/gcc_kbuild_and_gnumake/Kbuild | 0 .../build/gcc_kbuild_and_gnumake/Makefile | 0 .../liblfds700.def | 0 .../sdk_for_windows_7_and_gnumake/makefile | 0 .../liblfds700.def | 0 .../liblfds700.sln | 0 .../liblfds700.vcxproj | 0 .../liblfds700.vcxproj.filters | 0 .../liblfds700.vcxproj.user | 0 .../driver_entry.c | 0 .../liblfds700.def | 0 .../liblfds700.sln | 0 .../liblfds700.vcxproj | 0 .../liblfds700.vcxproj.filters | 0 .../liblfds700.vcxproj.user | 0 .../driver_entry.c | 0 .../liblfds700.def | 0 .../liblfds700.sln | 0 .../liblfds700.vcxproj | 0 .../liblfds700.vcxproj.filters | 0 .../liblfds700.vcxproj.user | 0 .../liblfds700/build/wdk_7.1/dirs | 0 ..._entry_renamed_to_avoid_compiler_warning.c | 0 .../liblfds700/build/wdk_7.1/liblfds700.def | 0 .../readme_before_win_kernel_build.txt | 0 ...me_before_win_kernel_dynamic_lib_build.bat | 0 ...nme_before_win_kernel_static_lib_build.bat | 0 .../liblfds700/build/wdk_7.1/sources.dynamic | 0 .../liblfds700/build/wdk_7.1/sources.static | 0 .../liblfds7.0.0/liblfds700/inc/liblfds700.h | 0 .../lfds700_btree_addonly_unbalanced.h | 0 .../inc/liblfds700/lfds700_freelist.h | 0 .../inc/liblfds700/lfds700_hash_addonly.h | 0 ...fds700_list_addonly_ordered_singlylinked.h | 0 ...s700_list_addonly_singlylinked_unordered.h | 0 .../liblfds700/inc/liblfds700/lfds700_misc.h | 0 ...ds700_porting_abstraction_layer_compiler.h | 0 ...rting_abstraction_layer_operating_system.h | 0 ...s700_porting_abstraction_layer_processor.h | 0 .../liblfds700/inc/liblfds700/lfds700_queue.h | 0 ...ue_bounded_singleconsumer_singleproducer.h | 0 .../inc/liblfds700/lfds700_ringbuffer.h | 0 .../liblfds700/inc/liblfds700/lfds700_stack.h | 0 ...lfds700_btree_addonly_unbalanced_cleanup.c | 0 .../lfds700_btree_addonly_unbalanced_get.c | 0 .../lfds700_btree_addonly_unbalanced_init.c | 0 .../lfds700_btree_addonly_unbalanced_insert.c | 0 ...fds700_btree_addonly_unbalanced_internal.h | 0 .../lfds700_btree_addonly_unbalanced_query.c | 0 .../lfds700_freelist_cleanup.c | 0 .../lfds700_freelist/lfds700_freelist_init.c | 0 .../lfds700_freelist_internal.h | 0 .../lfds700_freelist/lfds700_freelist_pop.c | 0 .../lfds700_freelist/lfds700_freelist_push.c | 0 .../lfds700_freelist/lfds700_freelist_query.c | 0 .../lfds700_hash_addonly_cleanup.c | 0 .../lfds700_hash_addonly_get.c | 0 .../lfds700_hash_addonly_init.c | 0 .../lfds700_hash_addonly_insert.c | 0 .../lfds700_hash_addonly_internal.h | 0 .../lfds700_hash_addonly_iterate.c | 0 .../lfds700_hash_addonly_query.c | 0 ...ist_addonly_ordered_singlylinked_cleanup.c | 0 ...00_list_addonly_ordered_singlylinked_get.c | 0 ...0_list_addonly_ordered_singlylinked_init.c | 0 ...list_addonly_ordered_singlylinked_insert.c | 0 ...st_addonly_ordered_singlylinked_internal.h | 0 ..._list_addonly_ordered_singlylinked_query.c | 0 ...t_addonly_singlylinked_unordered_cleanup.c | 0 ..._list_addonly_singlylinked_unordered_get.c | 0 ...list_addonly_singlylinked_unordered_init.c | 0 ...st_addonly_singlylinked_unordered_insert.c | 0 ..._addonly_singlylinked_unordered_internal.h | 0 ...ist_addonly_singlylinked_unordered_query.c | 0 .../src/lfds700_misc/lfds700_misc_cleanup.c | 0 .../src/lfds700_misc/lfds700_misc_globals.c | 0 .../src/lfds700_misc/lfds700_misc_init.c | 0 .../src/lfds700_misc/lfds700_misc_internal.h | 0 .../src/lfds700_misc/lfds700_misc_prng.c | 0 .../src/lfds700_misc/lfds700_misc_query.c | 0 .../src/lfds700_queue/lfds700_queue_cleanup.c | 0 .../src/lfds700_queue/lfds700_queue_dequeue.c | 0 .../src/lfds700_queue/lfds700_queue_enqueue.c | 0 .../src/lfds700_queue/lfds700_queue_init.c | 0 .../lfds700_queue/lfds700_queue_internal.h | 0 .../src/lfds700_queue/lfds700_queue_query.c | 0 ...ed_singleconsumer_singleproducer_cleanup.c | 0 ...ed_singleconsumer_singleproducer_dequeue.c | 0 ...ed_singleconsumer_singleproducer_enqueue.c | 0 ...unded_singleconsumer_singleproducer_init.c | 0 ...d_singleconsumer_singleproducer_internal.h | 0 ...nded_singleconsumer_singleproducer_query.c | 0 .../lfds700_ringbuffer_cleanup.c | 0 .../lfds700_ringbuffer_init.c | 0 .../lfds700_ringbuffer_internal.h | 0 .../lfds700_ringbuffer_query.c | 0 .../lfds700_ringbuffer_read.c | 0 .../lfds700_ringbuffer_write.c | 0 .../src/lfds700_stack/lfds700_stack_cleanup.c | 0 .../src/lfds700_stack/lfds700_stack_init.c | 0 .../lfds700_stack/lfds700_stack_internal.h | 0 .../src/lfds700_stack/lfds700_stack_pop.c | 0 .../src/lfds700_stack/lfds700_stack_push.c | 0 .../src/lfds700_stack/lfds700_stack_query.c | 0 .../liblfds700/src/liblfds700_internal.h | 0 .../test/build/gcc_and_gnumake/Makefile | 0 .../sdk_for_windows_7_and_gnumake/makefile | 0 .../visual_studio_professional_2012/test.sln | 0 .../test.vcxproj | 0 .../test.vcxproj.filters | 0 .../test.vcxproj.user | 0 .../LFDS/liblfds7.0.0/test/src/internal.h | 0 .../UTIL/LFDS/liblfds7.0.0/test/src/main.c | 0 .../UTIL/LFDS/liblfds7.0.0/test/src/misc.c | 0 .../test_lfds700_btree_addonly_unbalanced.c | 0 ...ds700_btree_addonly_unbalanced_alignment.c | 0 ...tree_addonly_unbalanced_random_adds_fail.c | 0 ...nbalanced_random_adds_fail_and_overwrite.c | 0 ...addonly_unbalanced_random_adds_overwrite.c | 0 .../test/src/test_lfds700_freelist.c | 0 .../src/test_lfds700_freelist_alignment.c | 0 .../test/src/test_lfds700_freelist_popping.c | 0 ...est_lfds700_freelist_popping_and_pushing.c | 0 .../test/src/test_lfds700_freelist_pushing.c | 0 ...ds700_freelist_rapid_popping_and_pushing.c | 0 .../test/src/test_lfds700_hash_addonly.c | 0 .../src/test_lfds700_hash_addonly_alignment.c | 0 .../src/test_lfds700_hash_addonly_iterate.c | 0 ...st_lfds700_hash_addonly_random_adds_fail.c | 0 ...h_addonly_random_adds_fail_and_overwrite.c | 0 ...ds700_hash_addonly_random_adds_overwrite.c | 0 ...fds700_list_addonly_ordered_singlylinked.c | 0 ...t_addonly_ordered_singlylinked_alignment.c | 0 ...addonly_ordered_singlylinked_new_ordered.c | 0 ...red_singlylinked_new_ordered_with_cursor.c | 0 ...s700_list_addonly_singlylinked_unordered.c | 0 ...addonly_singlylinked_unordered_alignment.c | 0 ...addonly_singlylinked_unordered_new_after.c | 0 ...t_addonly_singlylinked_unordered_new_end.c | 0 ...addonly_singlylinked_unordered_new_start.c | 0 ...lfds700_porting_abstraction_layer_atomic.c | 0 ...700_porting_abstraction_layer_atomic_cas.c | 0 ...00_porting_abstraction_layer_atomic_dcas.c | 0 ...orting_abstraction_layer_atomic_exchange.c | 0 .../test/src/test_lfds700_queue.c | 0 .../test/src/test_lfds700_queue_alignment.c | 0 ...ue_bounded_singleconsumer_singleproducer.c | 0 ..._singleconsumer_singleproducer_dequeuing.c | 0 ..._singleconsumer_singleproducer_enqueuing.c | 0 ...r_singleproducer_enqueuing_and_dequeuing.c | 0 .../test/src/test_lfds700_queue_dequeuing.c | 0 .../test/src/test_lfds700_queue_enqueuing.c | 0 ...st_lfds700_queue_enqueuing_and_dequeuing.c | 0 ..._queue_enqueuing_and_dequeuing_with_free.c | 0 ...uing_with_malloc_and_dequeuing_with_free.c | 0 ...s700_queue_rapid_enqueuing_and_dequeuing.c | 0 .../test/src/test_lfds700_ringbuffer.c | 0 .../src/test_lfds700_ringbuffer_reading.c | 0 ...t_lfds700_ringbuffer_reading_and_writing.c | 0 .../src/test_lfds700_ringbuffer_writing.c | 0 .../test/src/test_lfds700_stack.c | 0 .../test/src/test_lfds700_stack_alignment.c | 0 .../test/src/test_lfds700_stack_popping.c | 0 .../test_lfds700_stack_popping_and_pushing.c | 0 .../test/src/test_lfds700_stack_pushing.c | 0 ..._lfds700_stack_rapid_popping_and_pushing.c | 0 ...g_abstraction_layer_get_logical_core_ids.c | 0 ...rting_abstraction_layer_operating_system.h | 0 ...t_porting_abstraction_layer_thread_start.c | 0 ...st_porting_abstraction_layer_thread_wait.c | 0 .../LFDS/liblfds7.0.0/test/src/util_cmdline.c | 0 .../LFDS/liblfds7.0.0/test/src/util_cmdline.h | 0 .../test/src/util_memory_helpers.c | 0 .../test/src/util_memory_helpers.h | 0 .../test/src/util_thread_starter.c | 0 .../test/src/util_thread_starter.h | 0 openair2/UTIL/LISTS/list.c | 0 openair2/UTIL/LISTS/list.h | 0 openair2/UTIL/LISTS/list2.c | 0 openair2/UTIL/LOG/README.txt | 0 openair2/UTIL/LOG/log.c | 0 openair2/UTIL/LOG/log.h | 0 openair2/UTIL/LOG/log_extern.h | 0 openair2/UTIL/LOG/log_if.h | 0 openair2/UTIL/LOG/vcd_signal_dumper.c | 0 openair2/UTIL/LOG/vcd_signal_dumper.h | 0 openair2/UTIL/MATH/crc_byte.c | 0 openair2/UTIL/MATH/oml.c | 0 openair2/UTIL/MATH/oml.h | 0 openair2/UTIL/MATH/random.c | 0 openair2/UTIL/MATH/random_proto_extern.h | 0 openair2/UTIL/MATH/taus.c | 0 openair2/UTIL/MEM/mem_block.c | 0 openair2/UTIL/MEM/mem_block.h | 0 openair2/UTIL/MEM/mem_mngt.c | 0 openair2/UTIL/MEM/mem_mngt_proto_extern.h | 0 openair2/UTIL/MEM/mem_pool.h | 0 openair2/UTIL/Makefile.inc | 0 openair2/UTIL/OCG/.directory | 0 openair2/UTIL/OCG/Doxyfile | 0 openair2/UTIL/OCG/OCG.c | 0 openair2/UTIL/OCG/OCG.h | 0 openair2/UTIL/OCG/OCG_call_emu.c | 0 openair2/UTIL/OCG/OCG_call_emu.h | 0 openair2/UTIL/OCG/OCG_config_mobi.c | 0 openair2/UTIL/OCG/OCG_config_mobi.h | 0 openair2/UTIL/OCG/OCG_create_dir.c | 0 openair2/UTIL/OCG/OCG_create_dir.h | 0 openair2/UTIL/OCG/OCG_detect_file.c | 0 openair2/UTIL/OCG/OCG_detect_file.h | 0 openair2/UTIL/OCG/OCG_extern.h | 0 openair2/UTIL/OCG/OCG_generate_report.c | 0 openair2/UTIL/OCG/OCG_generate_report.h | 0 openair2/UTIL/OCG/OCG_get_opt.c | 0 openair2/UTIL/OCG/OCG_get_opt.h | 0 openair2/UTIL/OCG/OCG_if.h | 0 openair2/UTIL/OCG/OCG_parse_XML.c | 0 openair2/UTIL/OCG/OCG_parse_XML.h | 0 openair2/UTIL/OCG/OCG_parse_filename.c | 0 openair2/UTIL/OCG/OCG_parse_filename.h | 0 openair2/UTIL/OCG/OCG_save_XML.c | 0 openair2/UTIL/OCG/OCG_save_XML.h | 0 openair2/UTIL/OCG/OCG_vars.h | 0 .../UTIL/OCG/XML_to_mobigen/RWMEmulator.xml | 0 openair2/UTIL/OCG/eurecom_20110208110244.xml | 0 .../OCG/local_XML/Lusheng.20110208110244.xml | 0 openair2/UTIL/OCG/makefile | 0 openair2/UTIL/OCG/readme.txt | 0 openair2/UTIL/OCG/temp_output/OCG_report.xml | 0 openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf | Bin openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf | Bin openair2/UTIL/OMG/TRACE/README.TXT | 0 openair2/UTIL/OMG/TRACE/example_trace.tr | 0 openair2/UTIL/OMG/TRACE/handover.tr | 0 openair2/UTIL/OMG/TRACE/handover_1ue.tr | 0 openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr | 0 openair2/UTIL/OMG/TRACE/mobility_2ues.tr | 0 openair2/UTIL/OMG/TRACE/mobility_3ues.tr | 0 openair2/UTIL/OMG/TRACE/regular.tr | 0 openair2/UTIL/OMG/TRACE/static_1enb.tr | 0 openair2/UTIL/OMG/TRACE/static_2ues.tr | 0 openair2/UTIL/OMG/TRACE/zero_speed.tr | 0 openair2/UTIL/OMG/common.c | 0 openair2/UTIL/OMG/defs.h | 0 openair2/UTIL/OMG/grid.c | 0 openair2/UTIL/OMG/grid.h | 0 openair2/UTIL/OMG/job.c | 0 openair2/UTIL/OMG/makefile | 0 openair2/UTIL/OMG/makefile_old | 0 openair2/UTIL/OMG/makefile_standalone | 0 openair2/UTIL/OMG/mobility.txt | 0 openair2/UTIL/OMG/mobility_parser.c | 0 openair2/UTIL/OMG/mobility_parser.h | 0 openair2/UTIL/OMG/omg.c | 0 openair2/UTIL/OMG/omg.h | 0 openair2/UTIL/OMG/omg_constants.h | 0 openair2/UTIL/OMG/omg_hashtable.c | 0 openair2/UTIL/OMG/omg_hashtable.h | 0 openair2/UTIL/OMG/omg_vars.h | 0 openair2/UTIL/OMG/rwalk.c | 0 openair2/UTIL/OMG/rwalk.h | 0 openair2/UTIL/OMG/rwp.c | 0 openair2/UTIL/OMG/rwp.h | 0 openair2/UTIL/OMG/static.c | 0 openair2/UTIL/OMG/static.h | 0 openair2/UTIL/OMG/steadystaterwp.c | 0 openair2/UTIL/OMG/steadystaterwp.h | 0 openair2/UTIL/OMG/trace.c | 0 openair2/UTIL/OMG/trace.h | 0 openair2/UTIL/OMG/trace_hashtable.c | 0 openair2/UTIL/OMG/trace_hashtable.h | 0 openair2/UTIL/OMV/README.txt | 0 openair2/UTIL/OMV/blue.png | Bin openair2/UTIL/OMV/communicationthread.cpp | 0 openair2/UTIL/OMV/communicationthread.h | 0 openair2/UTIL/OMV/green.png | Bin openair2/UTIL/OMV/jpg.jpeg | Bin openair2/UTIL/OMV/mus.png | Bin openair2/UTIL/OMV/mywindow.cpp | 0 openair2/UTIL/OMV/mywindow.h | 0 openair2/UTIL/OMV/new.jpg | Bin openair2/UTIL/OMV/new2.jpg | Bin openair2/UTIL/OMV/omv.cpp | 0 openair2/UTIL/OMV/openglwidget.cpp | 0 openair2/UTIL/OMV/openglwidget.h | 0 openair2/UTIL/OMV/red.png | Bin openair2/UTIL/OMV/structures.h | 0 openair2/UTIL/OMV/white.png | Bin openair2/UTIL/OMV/wow.png | Bin openair2/UTIL/OPT/README.txt | 0 openair2/UTIL/OPT/mac_pcap.h | 0 openair2/UTIL/OPT/opt.h | 0 openair2/UTIL/OPT/packet-mac-lte.h | 0 openair2/UTIL/OPT/probe.c | 0 openair2/UTIL/OPT/vars.h | 0 openair2/UTIL/OSA/README | 0 openair2/UTIL/OSA/osa_defs.h | 0 openair2/UTIL/OSA/osa_internal.h | 0 openair2/UTIL/OSA/osa_key_deriver.c | 0 openair2/UTIL/OSA/osa_rijndael.c | 0 openair2/UTIL/OSA/osa_rijndael.h | 0 openair2/UTIL/OSA/osa_snow3g.c | 0 openair2/UTIL/OSA/osa_snow3g.h | 0 openair2/UTIL/OSA/osa_stream_eea.c | 0 openair2/UTIL/OSA/osa_stream_eia.c | 0 openair2/UTIL/OSD/OCG.pid | 0 openair2/UTIL/OSD/OpenAirEmu.conf | 0 openair2/UTIL/OSD/Platform_is_running.php | 0 openair2/UTIL/OSD/README.txt | 0 openair2/UTIL/OSD/css/blueprint.css | 0 openair2/UTIL/OSD/css/fix-ie-rtl.css | 0 openair2/UTIL/OSD/css/fix-ie.css | 0 openair2/UTIL/OSD/css/ie.css | 0 openair2/UTIL/OSD/css/ie6.css | 0 openair2/UTIL/OSD/css/images/false.png | Bin openair2/UTIL/OSD/css/images/false2.png | Bin openair2/UTIL/OSD/css/images/lquote.png | Bin openair2/UTIL/OSD/css/images/true.png | Bin openair2/UTIL/OSD/css/images/warning.png | Bin openair2/UTIL/OSD/css/print.css | 0 openair2/UTIL/OSD/css/screen.css | 0 openair2/UTIL/OSD/css/style.css | 0 openair2/UTIL/OSD/form.php | 0 openair2/UTIL/OSD/header.php | 0 openair2/UTIL/OSD/httpd-result.conf | 0 openair2/UTIL/OSD/index.php | 0 openair2/UTIL/OSD/jquery/jquery.js | 0 openair2/UTIL/OSD/recep.php | 0 openair2/UTIL/OSD/toto.php | 0 openair2/UTIL/OTG/Doxyfile | 0 openair2/UTIL/OTG/help_OTGplot.txt | 0 openair2/UTIL/OTG/main.c | 0 openair2/UTIL/OTG/makefile | 0 openair2/UTIL/OTG/otg.c | 0 openair2/UTIL/OTG/otg.h | 0 openair2/UTIL/OTG/otg_config.h | 0 openair2/UTIL/OTG/otg_defs.h | 0 openair2/UTIL/OTG/otg_externs.h | 0 openair2/UTIL/OTG/otg_form.c | 0 openair2/UTIL/OTG/otg_form.h | 0 openair2/UTIL/OTG/otg_kpi.c | 0 openair2/UTIL/OTG/otg_kpi.h | 0 openair2/UTIL/OTG/otg_models.c | 0 openair2/UTIL/OTG/otg_models.h | 0 openair2/UTIL/OTG/otg_rx.c | 0 openair2/UTIL/OTG/otg_rx.h | 0 openair2/UTIL/OTG/otg_rx_socket.c | 0 openair2/UTIL/OTG/otg_rx_socket.h | 0 openair2/UTIL/OTG/otg_tx.c | 0 openair2/UTIL/OTG/otg_tx.h | 0 openair2/UTIL/OTG/otg_tx_socket.c | 0 openair2/UTIL/OTG/otg_tx_socket.h | 0 openair2/UTIL/OTG/otg_vars.h | 0 openair2/UTIL/OTG/traffic_config.h | 0 openair2/UTIL/TIMER/umts_timer.c | 0 openair2/UTIL/TIMER/umts_timer.h | 0 openair2/UTIL/TIMER/umts_timer_proto_extern.h | 0 openair2/UTIL/TIMER/umts_timer_struct.h | 0 openair2/UTIL/TRACE/fifo_printf.c | 0 openair2/UTIL/TRACE/fifo_printf.h | 0 .../UTIL/TRACE/fifo_printf_proto_extern.h | 0 openair2/UTIL/TRACE/print.h | 0 .../X2AP/MESSAGES/ASN1/R.UNKNOWN/Makefile.inc | 0 .../ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn | 0 .../ASN1/R.UNKNOWN/X2AP-Constants.asn | 0 .../ASN1/R.UNKNOWN/X2AP-Containers.asn | 0 .../X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn | 0 .../ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn | 0 .../ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn | 0 .../X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn | 0 openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py | 0 openair2/X2AP/x2ap.c | 0 openair2/X2AP/x2ap.h | 0 openair2/X2AP/x2ap_common.c | 0 openair2/X2AP/x2ap_common.h | 0 openair3/COMMON/as_message.h | 0 openair3/COMMON/common_types.h | 0 openair3/COMMON/gtpv1_u_messages_def.h | 0 openair3/COMMON/gtpv1_u_messages_types.h | 0 openair3/COMMON/intertask_interface_conf.h | 0 openair3/COMMON/messages_def.h | 0 openair3/COMMON/messages_types.h | 0 openair3/COMMON/nas_messages_def.h | 0 openair3/COMMON/nas_messages_types.h | 0 openair3/COMMON/s1ap_messages_def.h | 0 openair3/COMMON/s1ap_messages_types.h | 0 openair3/COMMON/sctp_messages_def.h | 0 openair3/COMMON/sctp_messages_types.h | 0 openair3/COMMON/security_types.h | 0 openair3/COMMON/tasks_def.h | 0 openair3/COMMON/udp_messages_def.h | 0 openair3/COMMON/udp_messages_types.h | 0 openair3/DOCS/DOXYGEN/Doxyfile.in | 0 openair3/DOCS/DOXYGEN/Makefile.am | 0 .../Latex/DefaultBearer/DefaultBearer.pdf | Bin .../Latex/DefaultBearer/DefaultBearer.tex | 0 openair3/DOCS/Latex/EPC/EPC.pdf | Bin openair3/DOCS/Latex/EPC/EPC.tex | 0 openair3/DOCS/Latex/EPC/Makefile | 0 openair3/DOCS/Makefile.am | 0 openair3/GTPV1-U/Makefile.am | 0 openair3/GTPV1-U/Makefile.eNB | 0 openair3/GTPV1-U/gtpv1u.h | 0 openair3/GTPV1-U/gtpv1u_eNB.c | 0 openair3/GTPV1-U/gtpv1u_eNB_defs.h | 0 openair3/GTPV1-U/gtpv1u_eNB_task.h | 0 openair3/GTPV1-U/gtpv1u_sgw_defs.h | 0 openair3/GTPV1-U/gtpv1u_task.c | 0 openair3/GTPV1-U/gtpv1u_teid_pool.c | 0 openair3/GTPV1-U/nw-gtpv1u/AUTHORS | 0 openair3/GTPV1-U/nw-gtpv1u/COPYING | 0 openair3/GTPV1-U/nw-gtpv1u/ChangeLog | 0 openair3/GTPV1-U/nw-gtpv1u/NEWS | 0 openair3/GTPV1-U/nw-gtpv1u/README | 0 .../GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h | 0 .../nw-gtpv1u/include/NwGtpv1uPrivate.h | 0 .../GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h | 0 .../include/NwGtpv1uTunnelEndPoint.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h | 0 .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h | 0 .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h | 0 .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h | 0 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c | 0 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c | 0 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c | 0 .../nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c | 0 .../GTPV1-U/nw-gtpv1u/test-app/Makefile.am | 0 .../GTPV1-U/nw-gtpv1u/test-app/Makefile.in | 0 .../test-app/nw-helloworld/Makefile.am | 0 .../test-app/nw-helloworld/Makefile.in | 0 .../nw-gtpv1u/test-app/nw-helloworld/NwEvt.h | 0 .../nw-helloworld/NwMiniLogMgrEntity.c | 0 .../nw-helloworld/NwMiniLogMgrEntity.h | 0 .../nw-helloworld/NwMiniTmrMgrEntity.c | 0 .../nw-helloworld/NwMiniTmrMgrEntity.h | 0 .../test-app/nw-helloworld/NwMiniUdpEntity.c | 0 .../test-app/nw-helloworld/NwMiniUdpEntity.h | 0 .../test-app/nw-helloworld/NwMiniUlpEntity.c | 0 .../test-app/nw-helloworld/NwMiniUlpEntity.h | 0 .../test-app/nw-helloworld/helloworld.c | 0 openair3/NAS/COMMON/API/NETWORK/Makefile | 0 openair3/NAS/COMMON/API/NETWORK/as_message.c | 0 openair3/NAS/COMMON/API/NETWORK/as_message.h | 0 openair3/NAS/COMMON/API/NETWORK/l2_message.h | 0 openair3/NAS/COMMON/API/NETWORK/nas_message.c | 0 openair3/NAS/COMMON/API/NETWORK/nas_message.h | 0 openair3/NAS/COMMON/API/NETWORK/network_api.c | 0 openair3/NAS/COMMON/API/NETWORK/network_api.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachAccept.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachAccept.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachComplete.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachComplete.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachReject.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachReject.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachRequest.h | 0 .../COMMON/EMM/MSG/AuthenticationFailure.c | 0 .../COMMON/EMM/MSG/AuthenticationFailure.h | 0 .../NAS/COMMON/EMM/MSG/AuthenticationReject.c | 0 .../NAS/COMMON/EMM/MSG/AuthenticationReject.h | 0 .../COMMON/EMM/MSG/AuthenticationRequest.c | 0 .../COMMON/EMM/MSG/AuthenticationRequest.h | 0 .../COMMON/EMM/MSG/AuthenticationResponse.c | 0 .../COMMON/EMM/MSG/AuthenticationResponse.h | 0 .../COMMON/EMM/MSG/CsServiceNotification.c | 0 .../COMMON/EMM/MSG/CsServiceNotification.h | 0 openair3/NAS/COMMON/EMM/MSG/DetachAccept.c | 0 openair3/NAS/COMMON/EMM/MSG/DetachAccept.h | 0 openair3/NAS/COMMON/EMM/MSG/DetachRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/DetachRequest.h | 0 .../NAS/COMMON/EMM/MSG/DownlinkNasTransport.c | 0 .../NAS/COMMON/EMM/MSG/DownlinkNasTransport.h | 0 openair3/NAS/COMMON/EMM/MSG/EmmInformation.c | 0 openair3/NAS/COMMON/EMM/MSG/EmmInformation.h | 0 openair3/NAS/COMMON/EMM/MSG/EmmStatus.c | 0 openair3/NAS/COMMON/EMM/MSG/EmmStatus.h | 0 .../COMMON/EMM/MSG/ExtendedServiceRequest.c | 0 .../COMMON/EMM/MSG/ExtendedServiceRequest.h | 0 .../COMMON/EMM/MSG/GutiReallocationCommand.c | 0 .../COMMON/EMM/MSG/GutiReallocationCommand.h | 0 .../COMMON/EMM/MSG/GutiReallocationComplete.c | 0 .../COMMON/EMM/MSG/GutiReallocationComplete.h | 0 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h | 0 .../NAS/COMMON/EMM/MSG/IdentityResponse.c | 0 .../NAS/COMMON/EMM/MSG/IdentityResponse.h | 0 openair3/NAS/COMMON/EMM/MSG/Makefile | 0 .../COMMON/EMM/MSG/NASSecurityModeCommand.h | 0 .../COMMON/EMM/MSG/NASSecurityModeComplete.h | 0 .../NAS/COMMON/EMM/MSG/SecurityModeCommand.c | 0 .../NAS/COMMON/EMM/MSG/SecurityModeComplete.c | 0 .../NAS/COMMON/EMM/MSG/SecurityModeReject.c | 0 .../NAS/COMMON/EMM/MSG/SecurityModeReject.h | 0 openair3/NAS/COMMON/EMM/MSG/ServiceReject.c | 0 openair3/NAS/COMMON/EMM/MSG/ServiceReject.h | 0 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h | 0 .../COMMON/EMM/MSG/TrackingAreaUpdateAccept.c | 0 .../COMMON/EMM/MSG/TrackingAreaUpdateAccept.h | 0 .../EMM/MSG/TrackingAreaUpdateComplete.c | 0 .../EMM/MSG/TrackingAreaUpdateComplete.h | 0 .../COMMON/EMM/MSG/TrackingAreaUpdateReject.c | 0 .../COMMON/EMM/MSG/TrackingAreaUpdateReject.h | 0 .../EMM/MSG/TrackingAreaUpdateRequest.c | 0 .../EMM/MSG/TrackingAreaUpdateRequest.h | 0 .../NAS/COMMON/EMM/MSG/UplinkNasTransport.c | 0 .../NAS/COMMON/EMM/MSG/UplinkNasTransport.h | 0 openair3/NAS/COMMON/EMM/MSG/emm_cause.h | 0 openair3/NAS/COMMON/EMM/MSG/emm_msg.c | 0 openair3/NAS/COMMON/EMM/MSG/emm_msg.h | 0 openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h | 0 .../ActivateDedicatedEpsBearerContextAccept.c | 0 .../ActivateDedicatedEpsBearerContextAccept.h | 0 .../ActivateDedicatedEpsBearerContextReject.c | 0 .../ActivateDedicatedEpsBearerContextReject.h | 0 ...ActivateDedicatedEpsBearerContextRequest.c | 0 ...ActivateDedicatedEpsBearerContextRequest.h | 0 .../ActivateDefaultEpsBearerContextAccept.c | 0 .../ActivateDefaultEpsBearerContextAccept.h | 0 .../ActivateDefaultEpsBearerContextReject.c | 0 .../ActivateDefaultEpsBearerContextReject.h | 0 .../ActivateDefaultEpsBearerContextRequest.c | 0 .../ActivateDefaultEpsBearerContextRequest.h | 0 .../ESM/MSG/BearerResourceAllocationReject.c | 0 .../ESM/MSG/BearerResourceAllocationReject.h | 0 .../ESM/MSG/BearerResourceAllocationRequest.c | 0 .../ESM/MSG/BearerResourceAllocationRequest.h | 0 .../MSG/BearerResourceModificationReject.c | 0 .../MSG/BearerResourceModificationReject.h | 0 .../MSG/BearerResourceModificationRequest.c | 0 .../MSG/BearerResourceModificationRequest.h | 0 .../MSG/DeactivateEpsBearerContextAccept.c | 0 .../MSG/DeactivateEpsBearerContextAccept.h | 0 .../MSG/DeactivateEpsBearerContextRequest.c | 0 .../MSG/DeactivateEpsBearerContextRequest.h | 0 .../COMMON/ESM/MSG/EsmInformationRequest.c | 0 .../COMMON/ESM/MSG/EsmInformationRequest.h | 0 .../COMMON/ESM/MSG/EsmInformationResponse.c | 0 .../COMMON/ESM/MSG/EsmInformationResponse.h | 0 openair3/NAS/COMMON/ESM/MSG/EsmStatus.c | 0 openair3/NAS/COMMON/ESM/MSG/EsmStatus.h | 0 openair3/NAS/COMMON/ESM/MSG/Makefile | 0 .../ESM/MSG/ModifyEpsBearerContextAccept.c | 0 .../ESM/MSG/ModifyEpsBearerContextAccept.h | 0 .../ESM/MSG/ModifyEpsBearerContextReject.c | 0 .../ESM/MSG/ModifyEpsBearerContextReject.h | 0 .../ESM/MSG/ModifyEpsBearerContextRequest.c | 0 .../ESM/MSG/ModifyEpsBearerContextRequest.h | 0 .../COMMON/ESM/MSG/PdnConnectivityReject.c | 0 .../COMMON/ESM/MSG/PdnConnectivityReject.h | 0 .../COMMON/ESM/MSG/PdnConnectivityRequest.c | 0 .../COMMON/ESM/MSG/PdnConnectivityRequest.h | 0 .../NAS/COMMON/ESM/MSG/PdnDisconnectReject.c | 0 .../NAS/COMMON/ESM/MSG/PdnDisconnectReject.h | 0 .../NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c | 0 .../NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h | 0 openair3/NAS/COMMON/ESM/MSG/esm_cause.h | 0 openair3/NAS/COMMON/ESM/MSG/esm_msg.c | 0 openair3/NAS/COMMON/ESM/MSG/esm_msg.h | 0 openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h | 0 openair3/NAS/COMMON/IES/AccessPointName.c | 0 openair3/NAS/COMMON/IES/AccessPointName.h | 0 .../NAS/COMMON/IES/AdditionalUpdateResult.c | 0 .../NAS/COMMON/IES/AdditionalUpdateResult.h | 0 .../NAS/COMMON/IES/AdditionalUpdateType.c | 0 .../NAS/COMMON/IES/AdditionalUpdateType.h | 0 .../COMMON/IES/ApnAggregateMaximumBitRate.c | 0 .../COMMON/IES/ApnAggregateMaximumBitRate.h | 0 .../IES/AuthenticationFailureParameter.c | 0 .../IES/AuthenticationFailureParameter.h | 0 .../COMMON/IES/AuthenticationParameterAutn.c | 0 .../COMMON/IES/AuthenticationParameterAutn.h | 0 .../COMMON/IES/AuthenticationParameterRand.c | 0 .../COMMON/IES/AuthenticationParameterRand.h | 0 .../IES/AuthenticationResponseParameter.c | 0 .../IES/AuthenticationResponseParameter.h | 0 .../COMMON/IES/CipheringKeySequenceNumber.c | 0 .../COMMON/IES/CipheringKeySequenceNumber.h | 0 openair3/NAS/COMMON/IES/Cli.c | 0 openair3/NAS/COMMON/IES/Cli.h | 0 openair3/NAS/COMMON/IES/CsfbResponse.c | 0 openair3/NAS/COMMON/IES/CsfbResponse.h | 0 openair3/NAS/COMMON/IES/DaylightSavingTime.c | 0 openair3/NAS/COMMON/IES/DaylightSavingTime.h | 0 openair3/NAS/COMMON/IES/DetachType.c | 0 openair3/NAS/COMMON/IES/DetachType.h | 0 openair3/NAS/COMMON/IES/DrxParameter.c | 0 openair3/NAS/COMMON/IES/DrxParameter.h | 0 openair3/NAS/COMMON/IES/EmergencyNumberList.c | 0 openair3/NAS/COMMON/IES/EmergencyNumberList.h | 0 openair3/NAS/COMMON/IES/EmmCause.c | 0 openair3/NAS/COMMON/IES/EmmCause.h | 0 openair3/NAS/COMMON/IES/EpsAttachResult.c | 0 openair3/NAS/COMMON/IES/EpsAttachResult.h | 0 openair3/NAS/COMMON/IES/EpsAttachType.c | 0 openair3/NAS/COMMON/IES/EpsAttachType.h | 0 .../NAS/COMMON/IES/EpsBearerContextStatus.c | 0 .../NAS/COMMON/IES/EpsBearerContextStatus.h | 0 openair3/NAS/COMMON/IES/EpsBearerIdentity.c | 0 openair3/NAS/COMMON/IES/EpsBearerIdentity.h | 0 openair3/NAS/COMMON/IES/EpsMobileIdentity.c | 0 openair3/NAS/COMMON/IES/EpsMobileIdentity.h | 0 .../NAS/COMMON/IES/EpsNetworkFeatureSupport.c | 0 .../NAS/COMMON/IES/EpsNetworkFeatureSupport.h | 0 openair3/NAS/COMMON/IES/EpsQualityOfService.c | 0 openair3/NAS/COMMON/IES/EpsQualityOfService.h | 0 openair3/NAS/COMMON/IES/EpsUpdateResult.c | 0 openair3/NAS/COMMON/IES/EpsUpdateResult.h | 0 openair3/NAS/COMMON/IES/EpsUpdateType.c | 0 openair3/NAS/COMMON/IES/EpsUpdateType.h | 0 openair3/NAS/COMMON/IES/EsmCause.c | 0 openair3/NAS/COMMON/IES/EsmCause.h | 0 .../COMMON/IES/EsmInformationTransferFlag.c | 0 .../COMMON/IES/EsmInformationTransferFlag.h | 0 openair3/NAS/COMMON/IES/EsmMessageContainer.c | 0 openair3/NAS/COMMON/IES/EsmMessageContainer.h | 0 openair3/NAS/COMMON/IES/GprsTimer.c | 0 openair3/NAS/COMMON/IES/GprsTimer.h | 0 openair3/NAS/COMMON/IES/GutiType.c | 0 openair3/NAS/COMMON/IES/GutiType.h | 0 openair3/NAS/COMMON/IES/IdentityType2.c | 0 openair3/NAS/COMMON/IES/IdentityType2.h | 0 openair3/NAS/COMMON/IES/ImeisvRequest.c | 0 openair3/NAS/COMMON/IES/ImeisvRequest.h | 0 .../NAS/COMMON/IES/KsiAndSequenceNumber.c | 0 .../NAS/COMMON/IES/KsiAndSequenceNumber.h | 0 openair3/NAS/COMMON/IES/LcsClientIdentity.c | 0 openair3/NAS/COMMON/IES/LcsClientIdentity.h | 0 openair3/NAS/COMMON/IES/LcsIndicator.c | 0 openair3/NAS/COMMON/IES/LcsIndicator.h | 0 .../NAS/COMMON/IES/LinkedEpsBearerIdentity.c | 0 .../NAS/COMMON/IES/LinkedEpsBearerIdentity.h | 0 .../IES/LlcServiceAccessPointIdentifier.c | 0 .../IES/LlcServiceAccessPointIdentifier.h | 0 .../COMMON/IES/LocationAreaIdentification.c | 0 .../COMMON/IES/LocationAreaIdentification.h | 0 openair3/NAS/COMMON/IES/Makefile | 0 openair3/NAS/COMMON/IES/MessageType.c | 0 openair3/NAS/COMMON/IES/MessageType.h | 0 openair3/NAS/COMMON/IES/MobileIdentity.c | 0 openair3/NAS/COMMON/IES/MobileIdentity.h | 0 .../NAS/COMMON/IES/MobileStationClassmark2.c | 0 .../NAS/COMMON/IES/MobileStationClassmark2.h | 0 .../NAS/COMMON/IES/MobileStationClassmark3.c | 0 .../NAS/COMMON/IES/MobileStationClassmark3.h | 0 openair3/NAS/COMMON/IES/MsNetworkCapability.c | 0 openair3/NAS/COMMON/IES/MsNetworkCapability.h | 0 .../NAS/COMMON/IES/MsNetworkFeatureSupport.c | 0 .../NAS/COMMON/IES/MsNetworkFeatureSupport.h | 0 openair3/NAS/COMMON/IES/NasKeySetIdentifier.c | 0 openair3/NAS/COMMON/IES/NasKeySetIdentifier.h | 0 openair3/NAS/COMMON/IES/NasMessageContainer.c | 0 openair3/NAS/COMMON/IES/NasMessageContainer.h | 0 openair3/NAS/COMMON/IES/NasRequestType.c | 0 openair3/NAS/COMMON/IES/NasRequestType.h | 0 .../NAS/COMMON/IES/NasSecurityAlgorithms.c | 0 .../NAS/COMMON/IES/NasSecurityAlgorithms.h | 0 openair3/NAS/COMMON/IES/NetworkName.c | 0 openair3/NAS/COMMON/IES/NetworkName.h | 0 openair3/NAS/COMMON/IES/Nonce.c | 0 openair3/NAS/COMMON/IES/Nonce.h | 0 openair3/NAS/COMMON/IES/PTmsiSignature.c | 0 openair3/NAS/COMMON/IES/PTmsiSignature.h | 0 .../NAS/COMMON/IES/PacketFlowIdentifier.c | 0 .../NAS/COMMON/IES/PacketFlowIdentifier.h | 0 openair3/NAS/COMMON/IES/PagingIdentity.c | 0 openair3/NAS/COMMON/IES/PagingIdentity.h | 0 openair3/NAS/COMMON/IES/PdnAddress.c | 0 openair3/NAS/COMMON/IES/PdnAddress.h | 0 openair3/NAS/COMMON/IES/PdnType.c | 0 openair3/NAS/COMMON/IES/PdnType.h | 0 openair3/NAS/COMMON/IES/PlmnList.c | 0 openair3/NAS/COMMON/IES/PlmnList.h | 0 .../COMMON/IES/ProcedureTransactionIdentity.c | 0 .../COMMON/IES/ProcedureTransactionIdentity.h | 0 .../COMMON/IES/ProtocolConfigurationOptions.c | 0 .../COMMON/IES/ProtocolConfigurationOptions.h | 0 .../NAS/COMMON/IES/ProtocolDiscriminator.c | 0 .../NAS/COMMON/IES/ProtocolDiscriminator.h | 0 openair3/NAS/COMMON/IES/QualityOfService.c | 0 openair3/NAS/COMMON/IES/QualityOfService.h | 0 openair3/NAS/COMMON/IES/RadioPriority.c | 0 openair3/NAS/COMMON/IES/RadioPriority.h | 0 openair3/NAS/COMMON/IES/SecurityHeaderType.c | 0 openair3/NAS/COMMON/IES/SecurityHeaderType.h | 0 openair3/NAS/COMMON/IES/ServiceType.c | 0 openair3/NAS/COMMON/IES/ServiceType.h | 0 openair3/NAS/COMMON/IES/ShortMac.c | 0 openair3/NAS/COMMON/IES/ShortMac.h | 0 openair3/NAS/COMMON/IES/SsCode.c | 0 openair3/NAS/COMMON/IES/SsCode.h | 0 openair3/NAS/COMMON/IES/SupportedCodecList.c | 0 openair3/NAS/COMMON/IES/SupportedCodecList.h | 0 openair3/NAS/COMMON/IES/TimeZone.c | 0 openair3/NAS/COMMON/IES/TimeZone.h | 0 openair3/NAS/COMMON/IES/TimeZoneAndTime.c | 0 openair3/NAS/COMMON/IES/TimeZoneAndTime.h | 0 openair3/NAS/COMMON/IES/TmsiStatus.c | 0 openair3/NAS/COMMON/IES/TmsiStatus.h | 0 .../NAS/COMMON/IES/TrackingAreaIdentity.c | 0 .../NAS/COMMON/IES/TrackingAreaIdentity.h | 0 .../NAS/COMMON/IES/TrackingAreaIdentityList.c | 0 .../NAS/COMMON/IES/TrackingAreaIdentityList.h | 0 .../IES/TrafficFlowAggregateDescription.c | 0 .../IES/TrafficFlowAggregateDescription.h | 0 openair3/NAS/COMMON/IES/TrafficFlowTemplate.c | 0 openair3/NAS/COMMON/IES/TrafficFlowTemplate.h | 0 .../NAS/COMMON/IES/TransactionIdentifier.c | 0 .../NAS/COMMON/IES/TransactionIdentifier.h | 0 openair3/NAS/COMMON/IES/UeNetworkCapability.c | 0 openair3/NAS/COMMON/IES/UeNetworkCapability.h | 0 ...UeRadioCapabilityInformationUpdateNeeded.c | 0 ...UeRadioCapabilityInformationUpdateNeeded.h | 0 .../NAS/COMMON/IES/UeSecurityCapability.c | 0 .../NAS/COMMON/IES/UeSecurityCapability.h | 0 .../VoiceDomainPreferenceAndUeUsageSetting.c | 0 .../VoiceDomainPreferenceAndUeUsageSetting.h | 0 openair3/NAS/COMMON/UTIL/Makefile | 0 openair3/NAS/COMMON/UTIL/OctetString.c | 0 openair3/NAS/COMMON/UTIL/OctetString.h | 0 openair3/NAS/COMMON/UTIL/TLVDecoder.c | 0 openair3/NAS/COMMON/UTIL/TLVDecoder.h | 0 openair3/NAS/COMMON/UTIL/TLVEncoder.c | 0 openair3/NAS/COMMON/UTIL/TLVEncoder.h | 0 openair3/NAS/COMMON/UTIL/device.c | 0 openair3/NAS/COMMON/UTIL/device.h | 0 openair3/NAS/COMMON/UTIL/memory.c | 0 openair3/NAS/COMMON/UTIL/memory.h | 0 openair3/NAS/COMMON/UTIL/nas_log.c | 0 openair3/NAS/COMMON/UTIL/nas_log.h | 0 openair3/NAS/COMMON/UTIL/nas_timer.c | 0 openair3/NAS/COMMON/UTIL/nas_timer.h | 0 openair3/NAS/COMMON/UTIL/parser.c | 0 openair3/NAS/COMMON/UTIL/parser.h | 0 openair3/NAS/COMMON/UTIL/socket.c | 0 openair3/NAS/COMMON/UTIL/socket.h | 0 openair3/NAS/COMMON/UTIL/stty.c | 0 openair3/NAS/COMMON/UTIL/tst/Makefile | 0 openair3/NAS/COMMON/UTIL/tst/timer.c | 0 openair3/NAS/COMMON/UTIL/tst/timer_debug.txt | 0 openair3/NAS/COMMON/commonDef.h | 0 openair3/NAS/COMMON/networkDef.h | 0 openair3/NAS/COMMON/securityDef.h | 0 openair3/NAS/COMMON/userDef.h | 0 openair3/NAS/TEST/AS_SIMULATOR/Makefile | 0 openair3/NAS/TEST/AS_SIMULATOR/as_data.c | 0 openair3/NAS/TEST/AS_SIMULATOR/as_data.h | 0 openair3/NAS/TEST/AS_SIMULATOR/as_process.c | 0 openair3/NAS/TEST/AS_SIMULATOR/as_process.h | 0 openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c | 0 .../TEST/AS_SIMULATOR/as_simulator_parser.c | 0 .../TEST/AS_SIMULATOR/as_simulator_parser.h | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_data.c | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_data.h | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_process.c | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_process.h | 0 openair3/NAS/TEST/MSC/ActivatePDN.png | Bin .../NAS/TEST/MSC/AuthenticationReject.png | Bin openair3/NAS/TEST/MSC/DeactivatePDN.png | Bin openair3/NAS/TEST/MSC/InitialAttach.png | Bin openair3/NAS/TEST/MSC/InitialAttachReject.png | Bin openair3/NAS/TEST/MSC/NomalDetach.png | Bin openair3/NAS/TEST/MSC/README | 0 openair3/NAS/TEST/MSC/SwitchOffDetach.png | Bin openair3/NAS/TEST/NETWORK/Makefile | 0 openair3/NAS/TEST/NETWORK/README | 0 openair3/NAS/TEST/NETWORK/network_parser.c | 0 openair3/NAS/TEST/NETWORK/network_parser.h | 0 openair3/NAS/TEST/NETWORK/network_simulator.c | 0 openair3/NAS/TEST/USER/Makefile | 0 openair3/NAS/TEST/USER/user_parser.c | 0 openair3/NAS/TEST/USER/user_parser.h | 0 openair3/NAS/TEST/USER/user_simulator.c | 0 openair3/NAS/TOOLS/conf2uedata.c | 0 openair3/NAS/TOOLS/conf2uedata.h | 0 openair3/NAS/TOOLS/conf_emm.c | 0 openair3/NAS/TOOLS/conf_emm.h | 0 openair3/NAS/TOOLS/conf_network.c | 0 openair3/NAS/TOOLS/conf_network.h | 0 openair3/NAS/TOOLS/conf_parser.c | 0 openair3/NAS/TOOLS/conf_parser.h | 0 openair3/NAS/TOOLS/conf_user_data.c | 0 openair3/NAS/TOOLS/conf_user_data.h | 0 openair3/NAS/TOOLS/conf_user_plmn.c | 0 openair3/NAS/TOOLS/conf_user_plmn.h | 0 openair3/NAS/TOOLS/conf_usim.c | 0 openair3/NAS/TOOLS/conf_usim.h | 0 openair3/NAS/TOOLS/display.c | 0 openair3/NAS/TOOLS/display.h | 0 openair3/NAS/TOOLS/fs.c | 0 openair3/NAS/TOOLS/fs.h | 0 openair3/NAS/TOOLS/network.h | 0 openair3/NAS/TOOLS/nvram.c | 0 openair3/NAS/TOOLS/ue_bcom_test.conf | 0 openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf | 0 openair3/NAS/TOOLS/ue_tcl_test.conf | 0 openair3/NAS/TOOLS/usim.c | 0 openair3/NAS/UE/API/USER/at_command.c | 0 openair3/NAS/UE/API/USER/at_command.h | 0 openair3/NAS/UE/API/USER/at_error.c | 0 openair3/NAS/UE/API/USER/at_error.h | 0 openair3/NAS/UE/API/USER/at_response.c | 0 openair3/NAS/UE/API/USER/at_response.h | 0 openair3/NAS/UE/API/USER/tst/at_parser.c | 0 openair3/NAS/UE/API/USER/tst/at_parser.in | 0 openair3/NAS/UE/API/USER/tst/at_parser.in.bis | 0 openair3/NAS/UE/API/USER/tst/at_parser.out | 0 .../NAS/UE/API/USER/tst/at_parser.out.bis | 0 openair3/NAS/UE/API/USER/tst/smartcom.txt | 0 openair3/NAS/UE/API/USER/user_api.c | 0 openair3/NAS/UE/API/USER/user_api.h | 0 openair3/NAS/UE/API/USER/user_api_defs.h | 0 openair3/NAS/UE/API/USER/user_indication.c | 0 openair3/NAS/UE/API/USER/user_indication.h | 0 openair3/NAS/UE/API/USIM/aka_functions.c | 0 openair3/NAS/UE/API/USIM/aka_functions.h | 0 openair3/NAS/UE/API/USIM/usim_api.c | 0 openair3/NAS/UE/API/USIM/usim_api.h | 0 openair3/NAS/UE/EMM/Attach.c | 0 openair3/NAS/UE/EMM/Authentication.c | 0 openair3/NAS/UE/EMM/Authentication.h | 0 openair3/NAS/UE/EMM/Detach.c | 0 openair3/NAS/UE/EMM/EmmStatusHdl.c | 0 openair3/NAS/UE/EMM/Identification.c | 0 openair3/NAS/UE/EMM/IdleMode.c | 0 openair3/NAS/UE/EMM/IdleMode.h | 0 openair3/NAS/UE/EMM/IdleMode_defs.h | 0 openair3/NAS/UE/EMM/LowerLayer.c | 0 openair3/NAS/UE/EMM/LowerLayer.h | 0 openair3/NAS/UE/EMM/LowerLayer_defs.h | 0 openair3/NAS/UE/EMM/SAP/EmmDeregistered.c | 0 .../UE/EMM/SAP/EmmDeregisteredAttachNeeded.c | 0 .../SAP/EmmDeregisteredAttemptingToAttach.c | 0 .../NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c | 0 .../EMM/SAP/EmmDeregisteredLimitedService.c | 0 .../EMM/SAP/EmmDeregisteredNoCellAvailable.c | 0 .../NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c | 0 .../UE/EMM/SAP/EmmDeregisteredNormalService.c | 0 .../UE/EMM/SAP/EmmDeregisteredPlmnSearch.c | 0 openair3/NAS/UE/EMM/SAP/EmmNull.c | 0 openair3/NAS/UE/EMM/SAP/EmmRegistered.c | 0 .../EMM/SAP/EmmRegisteredAttemptingToUpdate.c | 0 .../SAP/EmmRegisteredImsiDetachInitiated.c | 0 .../NAS/UE/EMM/SAP/EmmRegisteredInitiated.c | 0 .../UE/EMM/SAP/EmmRegisteredLimitedService.c | 0 .../UE/EMM/SAP/EmmRegisteredNoCellAvailable.c | 0 .../UE/EMM/SAP/EmmRegisteredNormalService.c | 0 .../NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c | 0 .../UE/EMM/SAP/EmmRegisteredUpdateNeeded.c | 0 .../UE/EMM/SAP/EmmServiceRequestInitiated.c | 0 .../SAP/EmmTrackingAreaUpdatingInitiated.c | 0 openair3/NAS/UE/EMM/SAP/emm_as.c | 0 openair3/NAS/UE/EMM/SAP/emm_as.h | 0 openair3/NAS/UE/EMM/SAP/emm_asDef.h | 0 openair3/NAS/UE/EMM/SAP/emm_esm.c | 0 openair3/NAS/UE/EMM/SAP/emm_esm.h | 0 openair3/NAS/UE/EMM/SAP/emm_esmDef.h | 0 openair3/NAS/UE/EMM/SAP/emm_fsm.c | 0 openair3/NAS/UE/EMM/SAP/emm_fsm.h | 0 openair3/NAS/UE/EMM/SAP/emm_recv.c | 0 openair3/NAS/UE/EMM/SAP/emm_recv.h | 0 openair3/NAS/UE/EMM/SAP/emm_reg.c | 0 openair3/NAS/UE/EMM/SAP/emm_reg.h | 0 openair3/NAS/UE/EMM/SAP/emm_regDef.h | 0 openair3/NAS/UE/EMM/SAP/emm_sap.c | 0 openair3/NAS/UE/EMM/SAP/emm_sap.h | 0 openair3/NAS/UE/EMM/SAP/emm_send.c | 0 openair3/NAS/UE/EMM/SAP/emm_send.h | 0 openair3/NAS/UE/EMM/SecurityModeControl.c | 0 openair3/NAS/UE/EMM/SecurityModeControl.h | 0 openair3/NAS/UE/EMM/ServiceRequestHdl.c | 0 openair3/NAS/UE/EMM/TrackingAreaUpdate.c | 0 openair3/NAS/UE/EMM/emmData.h | 0 openair3/NAS/UE/EMM/emm_fsm_defs.h | 0 openair3/NAS/UE/EMM/emm_main.c | 0 openair3/NAS/UE/EMM/emm_main.h | 0 openair3/NAS/UE/EMM/emm_proc.h | 0 openair3/NAS/UE/EMM/emm_proc_defs.h | 0 openair3/NAS/UE/EMM/emm_timers.h | 0 .../ESM/DedicatedEpsBearerContextActivation.c | 0 .../ESM/DefaultEpsBearerContextActivation.c | 0 .../NAS/UE/ESM/EpsBearerContextDeactivation.c | 0 openair3/NAS/UE/ESM/EsmStatusHdl.c | 0 openair3/NAS/UE/ESM/PdnConnectivity.c | 0 openair3/NAS/UE/ESM/PdnDisconnect.c | 0 openair3/NAS/UE/ESM/SAP/esm_recv.c | 0 openair3/NAS/UE/ESM/SAP/esm_recv.h | 0 openair3/NAS/UE/ESM/SAP/esm_sap.c | 0 openair3/NAS/UE/ESM/SAP/esm_sap.h | 0 openair3/NAS/UE/ESM/SAP/esm_sapDef.h | 0 openair3/NAS/UE/ESM/SAP/esm_send.c | 0 openair3/NAS/UE/ESM/SAP/esm_send.h | 0 openair3/NAS/UE/ESM/esmData.h | 0 openair3/NAS/UE/ESM/esm_ebr.c | 0 openair3/NAS/UE/ESM/esm_ebr.h | 0 openair3/NAS/UE/ESM/esm_ebr_context.c | 0 openair3/NAS/UE/ESM/esm_ebr_context.h | 0 openair3/NAS/UE/ESM/esm_ip.c | 0 openair3/NAS/UE/ESM/esm_main.c | 0 openair3/NAS/UE/ESM/esm_main.h | 0 openair3/NAS/UE/ESM/esm_proc.h | 0 openair3/NAS/UE/ESM/esm_pt.c | 0 openair3/NAS/UE/ESM/esm_pt.h | 0 openair3/NAS/UE/ESM/esm_pt_defs.h | 0 openair3/NAS/UE/UEprocess.c | 0 openair3/NAS/UE/nas_itti_messaging.c | 0 openair3/NAS/UE/nas_itti_messaging.h | 0 openair3/NAS/UE/nas_network.c | 0 openair3/NAS/UE/nas_network.h | 0 openair3/NAS/UE/nas_parser.c | 0 openair3/NAS/UE/nas_parser.h | 0 openair3/NAS/UE/nas_proc.c | 0 openair3/NAS/UE/nas_proc.h | 0 openair3/NAS/UE/nas_proc_defs.h | 0 openair3/NAS/UE/nas_ue_task.c | 0 openair3/NAS/UE/nas_ue_task.h | 0 openair3/NAS/UE/nas_user.c | 0 openair3/NAS/UE/nas_user.h | 0 openair3/NAS/UE/user_defs.h | 0 .../ASN1/R10.5/S1AP-CommonDataTypes.asn | 0 .../MESSAGES/ASN1/R10.5/S1AP-Constants.asn | 0 .../MESSAGES/ASN1/R10.5/S1AP-Containers.asn | 0 .../S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn | 0 .../MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn | 0 .../ASN1/R10.5/S1AP-PDU-Descriptions.asn | 0 .../S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn | 0 .../ASN1/R8.10/S1AP-CommonDataTypes.asn | 0 .../MESSAGES/ASN1/R8.10/S1AP-Constants.asn | 0 .../S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn | 0 .../MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn | 0 .../S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn | 0 .../ASN1/R9.8/S1AP-CommonDataTypes.asn | 0 .../MESSAGES/ASN1/R9.8/S1AP-Constants.asn | 0 .../MESSAGES/ASN1/R9.8/S1AP-Containers.asn | 0 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn | 0 .../MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn | 0 .../ASN1/R9.8/S1AP-PDU-Descriptions.asn | 0 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn | 0 openair3/S1AP/MESSAGES/ASN1/README | 0 openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py | 0 openair3/S1AP/s1ap_common.c | 0 openair3/S1AP/s1ap_common.h | 0 openair3/S1AP/s1ap_eNB.c | 0 openair3/S1AP/s1ap_eNB.h | 0 .../s1ap_eNB_context_management_procedures.c | 0 .../s1ap_eNB_context_management_procedures.h | 0 openair3/S1AP/s1ap_eNB_decoder.c | 0 openair3/S1AP/s1ap_eNB_decoder.h | 0 openair3/S1AP/s1ap_eNB_default_values.h | 0 openair3/S1AP/s1ap_eNB_defs.h | 0 openair3/S1AP/s1ap_eNB_encoder.c | 0 openair3/S1AP/s1ap_eNB_encoder.h | 0 openair3/S1AP/s1ap_eNB_handlers.c | 0 openair3/S1AP/s1ap_eNB_handlers.h | 0 openair3/S1AP/s1ap_eNB_itti_messaging.c | 0 openair3/S1AP/s1ap_eNB_itti_messaging.h | 0 .../S1AP/s1ap_eNB_management_procedures.c | 0 .../S1AP/s1ap_eNB_management_procedures.h | 0 openair3/S1AP/s1ap_eNB_nas_procedures.c | 0 openair3/S1AP/s1ap_eNB_nas_procedures.h | 0 openair3/S1AP/s1ap_eNB_nnsf.c | 0 openair3/S1AP/s1ap_eNB_nnsf.h | 0 openair3/S1AP/s1ap_eNB_overload.c | 0 openair3/S1AP/s1ap_eNB_overload.h | 0 openair3/S1AP/s1ap_eNB_trace.c | 0 openair3/S1AP/s1ap_eNB_trace.h | 0 openair3/S1AP/s1ap_eNB_ue_context.c | 0 openair3/S1AP/s1ap_eNB_ue_context.h | 0 openair3/SCTP/sctp_common.c | 0 openair3/SCTP/sctp_common.h | 0 openair3/SCTP/sctp_default_values.h | 0 openair3/SCTP/sctp_eNB_defs.h | 0 openair3/SCTP/sctp_eNB_itti_messaging.c | 0 openair3/SCTP/sctp_eNB_itti_messaging.h | 0 openair3/SCTP/sctp_eNB_task.c | 0 openair3/SCTP/sctp_eNB_task.h | 0 openair3/SCTP/sctp_primitives_client.c | 0 openair3/SCTP/sctp_primitives_client.h | 0 openair3/SECU/kdf.c | 0 openair3/SECU/key_nas_deriver.c | 0 openair3/SECU/key_nas_encryption.c | 0 openair3/SECU/nas_stream_eea1.c | 0 openair3/SECU/nas_stream_eea2.c | 0 openair3/SECU/nas_stream_eia1.c | 0 openair3/SECU/nas_stream_eia2.c | 0 openair3/SECU/rijndael.c | 0 openair3/SECU/rijndael.h | 0 openair3/SECU/secu_defs.h | 0 openair3/SECU/snow3g.c | 0 openair3/SECU/snow3g.h | 0 .../attach_complete.pdml | 0 .../enb.band7.tm1.usrpb210.epc.local.conf | 0 .../TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml | 0 openair3/TEST/EPC_TEST/generate_scenario.c | 0 openair3/TEST/EPC_TEST/generate_scenario.h | 0 openair3/TEST/EPC_TEST/play_scenario.c | 0 openair3/TEST/EPC_TEST/play_scenario.h | 0 openair3/TEST/EPC_TEST/play_scenario_decode.c | 0 .../TEST/EPC_TEST/play_scenario_display.c | 0 openair3/TEST/EPC_TEST/play_scenario_fsm.c | 0 openair3/TEST/EPC_TEST/play_scenario_parse.c | 0 openair3/TEST/EPC_TEST/play_scenario_s1ap.c | 0 .../EPC_TEST/play_scenario_s1ap_compare_ie.c | 0 .../EPC_TEST/play_scenario_s1ap_eNB_defs.h | 0 openair3/TEST/EPC_TEST/play_scenario_sctp.c | 0 openair3/TEST/Makefile.am | 0 openair3/TEST/oaisim_mme_client_test.c | 0 openair3/TEST/oaisim_mme_itti_test.c | 0 openair3/TEST/oaisim_mme_list_benchmark.c | 0 openair3/TEST/oaisim_mme_s1ap_test.c | 0 openair3/TEST/oaisim_mme_sctp_test.c | 0 openair3/TEST/oaisim_mme_test_s1c.c | 0 openair3/TEST/oaisim_mme_test_s1c.h | 0 openair3/TEST/oaisim_mme_test_s1c_s1ap.c | 0 openair3/TEST/oaisim_mme_test_s1c_s1ap.h | 0 openair3/TEST/oaisim_mme_test_s1c_scenario.c | 0 openair3/TEST/oaisim_mme_test_s1c_scenario.h | 0 openair3/TEST/oaisim_mme_test_s1c_scenario1.c | 0 openair3/TEST/test_aes128_cmac_encrypt.c | 0 openair3/TEST/test_aes128_ctr_decrypt.c | 0 openair3/TEST/test_aes128_ctr_encrypt.c | 0 openair3/TEST/test_kdf.c | 0 openair3/TEST/test_s1ap.c | 0 openair3/TEST/test_secu.c | 0 openair3/TEST/test_secu_kenb.c | 0 openair3/TEST/test_secu_knas.c | 0 openair3/TEST/test_secu_knas_encrypt_eea1.c | 0 openair3/TEST/test_secu_knas_encrypt_eea2.c | 0 openair3/TEST/test_secu_knas_encrypt_eia1.c | 0 openair3/TEST/test_secu_knas_encrypt_eia2.c | 0 openair3/TEST/test_secu_knas_stream_int.c | 0 openair3/UDP/udp_eNB_task.c | 0 openair3/UDP/udp_eNB_task.h | 0 openair3/UTILS/CONF/COPYING | 0 openair3/UTILS/Makefile.am | 0 openair3/UTILS/conversions.c | 0 openair3/UTILS/conversions.h | 0 openair3/UTILS/enum_string.c | 0 openair3/UTILS/enum_string.h | 0 openair3/UTILS/log.c | 0 openair3/UTILS/log.h | 0 openair3/UTILS/mcc_mnc_itu.c | 0 openair3/UTILS/mcc_mnc_itu.h | 0 openair3/UTILS/mme_config.c | 0 openair3/UTILS/mme_config.h | 0 openair3/UTILS/mme_default_values.h | 0 openair3/UTILS/mme_parser.y | 0 openair3/UTILS/mme_scanner.l | 0 openair3/UTILS/queue.h | 0 openair3/UTILS/tree.h | 0 openair3/valgrind.sh | 0 pre-commit | 0 svn2git/README.txt | 0 svn2git/authors.txt | 0 svn2git/authors_original.txt | 0 svn2git/authors_original_java_output.txt | 0 svn2git/git-author-rewrite.sh | 0 .../ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c | 0 .../ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h | 0 targets/ARCH/COMMON/common_lib.c | 0 targets/ARCH/COMMON/common_lib.h | 0 .../ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c | 0 .../ETHERNET/USERSPACE/LIB/ethernet_lib.c | 0 .../ETHERNET/USERSPACE/LIB/ethernet_lib.h | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h | 0 .../ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi | 0 .../ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs | 0 .../ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm | 0 .../ARCH/EXMIMO/BITSTREAM/express-mimo2.bit | Bin .../ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf | Bin .../ARCH/EXMIMO/BITSTREAM/express-mimo2.msk | Bin targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd | 0 .../ARCH/EXMIMO/BITSTREAM/prom_generate.cmd | 0 targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd | 0 targets/ARCH/EXMIMO/DEFS/openair_device.h | 0 targets/ARCH/EXMIMO/DEFS/pcie_interface.h | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h | 0 .../ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c | 0 .../ARCH/EXMIMO/DRIVER/eurecom/module_main.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h | 0 .../ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c | 0 .../ARCH/EXMIMO/DRIVER/exmimo3/module_main.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h | 0 targets/ARCH/EXMIMO/DRIVER/readme.txt | 0 .../EXMIMO/DRIVER/telecomparistech/Makefile | 0 .../EXMIMO/DRIVER/telecomparistech/em1_dev.c | 0 .../EXMIMO/DRIVER/telecomparistech/em1_drv.c | 0 .../EXMIMO/DRIVER/telecomparistech/em1_drv.h | 0 .../EXMIMO/DRIVER/telecomparistech/em1_drv.sh | 0 .../DRIVER/telecomparistech/em1_fifos.c | 0 .../DRIVER/telecomparistech/em1_ioctl.c | 0 .../EXMIMO/DRIVER/telecomparistech/em1_mmap.c | 0 .../EXMIMO/DRIVER/telecomparistech/em1_rw.c | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/example.c | 0 .../ARCH/EXMIMO/USERSPACE/LIB/gain_control.c | 0 .../ARCH/EXMIMO/USERSPACE/LIB/gain_control.h | 0 .../ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c | 0 .../ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h | 0 .../EXMIMO/USERSPACE/OAI_FW_INIT/Makefile | 0 .../ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h | 0 .../EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h | 0 .../EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c | 0 .../EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m | 0 .../USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m | 0 .../EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m | 0 .../USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m | 0 .../EXMIMO/USERSPACE/OCTAVE/exmimo_config.m | 0 .../USERSPACE/OCTAVE/exmimo_config_off.m | 0 .../USERSPACE/OCTAVE/exmimo_test_loopback.m | 0 .../USERSPACE/OCTAVE/exmimo_test_multicard.m | 0 .../USERSPACE/OCTAVE/freq_calibration.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc | 0 .../EXMIMO/USERSPACE/OCTAVE/initial_sync.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m | 0 .../EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h | 0 .../USERSPACE/OCTAVE/oarf_config_exmimo.cc | 0 .../EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc | 0 .../OCTAVE/oarf_get_num_detected_cards.cc | 0 .../USERSPACE/OCTAVE/oarf_send_frame.cc | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc | 0 .../OCTAVE/oarf_stop_without_reset.cc | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m | 0 .../USERSPACE/OCTAVE/rx_calibration_exmimo.m | 0 .../USERSPACE/OCTAVE/rx_calibration_rffe.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m | 0 .../USERSPACE/OCTAVE/txsig_multicard_sync.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m | 0 targets/ARCH/LMSSDR/LimeSDR.ini | 0 targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp | 0 .../ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp | 0 targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc | 0 targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 0 targets/COMMON/Makefile.inc | 0 targets/COMMON/create_tasks.c | 0 targets/COMMON/create_tasks.h | 0 targets/COMMON/openairinterface5g_limits.h | 0 targets/COMMON/threads_t.h | 0 targets/DOCS/Doxyfile | 0 targets/DOCS/api_icic.xml | 0 targets/DOCS/images/oai_logo.png | Bin targets/DOCS/oaiemu.doc | Bin targets/DOCS/oaisim_walkthrough.pdf | Bin targets/DOCS/path_loss_oaisim.xlsx | Bin targets/Makefile | 0 targets/Makefile.common | 0 targets/Makerules | 0 .../GENERIC-LTE-EPC/CONF/UE_config.xml | 0 .../CONF/enb.band13.exmimo2.conf | 0 .../CONF/enb.band13.rel10.exmimo2.conf | 0 .../CONF/enb.band13.tm1.25PRB.lmssdr.conf | 0 .../CONF/enb.band13.tm1.50PRB.lmssdr.conf | 0 .../CONF/enb.band13.tm1.50PRB.sedora.conf | 0 .../CONF/enb.band13.tm1.rrh.usrpb210.conf | 0 .../CONF/enb.band13.tm1.usrpb210.conf | 0 .../CONF/enb.band3.tm1.usrpb210.conf | 0 .../CONF/enb.band38.exmimo2.conf | 0 ...nb.band38.generic.oaisim.local_no_mme.conf | 0 .../CONF/enb.band38.tm1.exmimo2.conf | 0 ...and38.tm1.generic.oaisim.local_no_mme.conf | 0 .../CONF/enb.band38.tm1.usrpb210.conf | 0 .../CONF/enb.band38.tm7.exmimo2.conf | 0 .../CONF/enb.band39.tm1.exmimo2.conf | 0 .../CONF/enb.band4.exmimo2.conf | 0 .../CONF/enb.band4.tm1.usrpb210.conf | 0 .../CONF/enb.band40.tm1.usrpb210.conf | 0 .../enb.band5.flexran.50PRB.usrpb210.conf | 0 .../CONF/enb.band5.flexran.usrpb210.conf | 0 .../CONF/enb.band5.tm1.usrpb210.conf | 0 .../CONF/enb.band7.exmimo2.conf | 0 .../CONF/enb.band7.exmimo2_2a.conf | 0 .../enb.band7.flexran.50PRB.usrpb210.conf | 0 ...enb.band7.flexran.oaisim.local_no_mme.conf | 0 .../CONF/enb.band7.flexran.usrpb210.conf | 0 .../CONF/enb.band7.generic.conf | 0 .../enb.band7.generic.oaisim.local_mme.conf | 0 ...enb.band7.generic.oaisim.local_no_mme.conf | 0 .../CONF/enb.band7.tm1.100PRB.usrpb210.conf | 0 .../CONF/enb.band7.tm1.100PRB.usrpx310.conf | 0 .../CONF/enb.band7.tm1.25PRB.lmssdr.conf | 0 .../CONF/enb.band7.tm1.25PRB.usrpb210.conf | 0 .../CONF/enb.band7.tm1.50PRB.bladerfx40.conf | 0 .../CONF/enb.band7.tm1.50PRB.lmssdr.conf | 0 .../enb.band7.tm1.50PRB.rrh.usrpb210.conf | 0 .../CONF/enb.band7.tm1.50PRB.usrpb210.conf | 0 .../CONF/enb.band7.tm1.50PRB.usrpx310.conf | 0 .../CONF/enb.band7.tm1.bladerfx40.conf | 0 .../CONF/enb.band7.tm1.exmimo2.conf | 0 .../CONF/enb.band7.tm1.exmimo2.openEPC.conf | 0 ...nb.band7.tm1.generic.oaisim.local_mme.conf | 0 ...band7.tm1.generic.oaisim.local_no_mme.conf | 0 .../CONF/enb.band7.tm1.rrh.usrpb210.conf | 0 .../CONF/enb.band7.tm1.usrpb210.conf | 0 .../CONF/enb.band7.tm1.usrpx310.conf | 0 .../CONF/enb.band7.tm2.100PRB.usrpb210.conf | 0 .../CONF/enb.band7.tm2.100PRB.usrpx310.conf | 0 .../CONF/enb.band7.tm2.50PRB.usrpb210.conf | 0 .../CONF/enb.band7.tm2.50PRB.usrpx310.conf | 0 .../CONF/enb.band7.tm2.usrpb210.conf | 0 .../CONF/enb.band7.tm2.usrpx310.conf | 0 .../CONF/enb.band7.tm7.exmimo2.conf | 0 .../CONF/enb.band7.usrpb210.conf | 0 .../CONF/enb.dual.band13_band4.exmimo2.conf | 0 .../CONF/enb.dual.band38_band44.conf | 0 .../CONF/enb.dual.band7_band20.conf | 0 .../enb.dual.rel10.band13_band4.exmimo2.conf | 0 .../GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf | 0 .../GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf | 0 ...le.enb.band7.epc_eur.local.exmimo2_2a.conf | 0 .../CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf | 0 .../CONF/rcc.band7.tm1.if4p5.100PRB.conf | 0 .../rcc.band7.tm1.if4p5.100PRB.usrpb210.conf | 0 .../CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf | 0 .../rcc.band7.tm1.if4p5.25PRB.usrpb210.conf | 0 .../CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf | 0 .../rcc.band7.tm1.if4p5.50PRB.usrpb210.conf | 0 .../rcc.band7.tm1.if5.100PRB.usrpb210.conf | 0 .../rcc.band7.tm1.if5.25PRB.usrpb210.conf | 0 .../rcc.band7.tm1.if5.50PRB.usrpb210.conf | 0 .../CONF/rcc.band7.tm1.if5.usrpb210.conf | 0 .../CONF/rcc.band7.tm1.usrpb210.conf | 0 .../rru.band7.tm1.if4p5.100PRB.usrpb210.conf | 0 .../rru.band7.tm1.if4p5.25PRB.oaisim.conf | 0 .../rru.band7.tm1.if4p5.25PRB.usrpb210.conf | 0 .../rru.band7.tm1.if4p5.50PRB.oaisim.conf | 0 ....band7.tm1.if4p5.50PRB.usrpb210-conga.conf | 0 .../rru.band7.tm1.if4p5.50PRB.usrpb210.conf | 0 .../CONF/rru.band7.tm1.if4p5.usrpb210.conf | 0 .../rru.band7.tm1.if5.100PRB.usrpb210.conf | 0 .../rru.band7.tm1.if5.25PRB.usrpb210.conf | 0 .../rru.band7.tm1.if5.50PRB.usrpb210.conf | 0 .../CONF/rru.band7.tm1.if5.usrpb210.conf | 0 .../CONF/rru.band7.tm1.usrpb210.conf | 0 .../GENERIC-LTE-EPC/CONF/rru.oaisim.conf | 0 .../PROJECTS/LOCALIZATION/filesave0811.mat | 0 targets/PROJECTS/LOCALIZATION/generation.m | 0 targets/PROJECTS/LOCALIZATION/initial_sync.m | 0 targets/PROJECTS/LOCALIZATION/initparams.m | 0 targets/PROJECTS/LOCALIZATION/plots.m | 0 targets/PROJECTS/LOCALIZATION/recup.m | 0 targets/PROJECTS/LOCALIZATION/where2.m | 0 .../PROJECTS/LOCALIZATION/where2_v1_final.mat | 0 targets/PROJECTS/LOCALIZATION/where2_vf.m | 0 targets/PROJECTS/TDDREC/f_ch_est.m | 0 targets/PROJECTS/TDDREC/f_ofdm_mod.m | 0 targets/PROJECTS/TDDREC/f_ofdm_rx.m | 0 targets/PROJECTS/TDDREC/f_ofdm_tx.m | 0 targets/PROJECTS/TDDREC/f_tls_ap.m | 0 targets/PROJECTS/TDDREC/f_tls_diag.m | 0 targets/PROJECTS/TDDREC/f_tls_svd.m | 0 targets/PROJECTS/TDDREC/s_beamforming.m | 0 targets/PROJECTS/TDDREC/s_calib.m | 0 targets/PROJECTS/TDDREC/s_draw_F.m | 0 targets/PROJECTS/TDDREC/s_init_params.m | 0 targets/PROJECTS/TDDREC/s_run_meas.m | 0 targets/PROJECTS/TDDREC/v0/alterproj.m | 0 targets/PROJECTS/TDDREC/v0/beamforming.m | 0 targets/PROJECTS/TDDREC/v0/calibration.m | 0 targets/PROJECTS/TDDREC/v0/genorthqpskseq.m | 0 targets/PROJECTS/TDDREC/v0/genrandpskseq.m | 0 targets/PROJECTS/TDDREC/v0/initparams.m | 0 targets/PROJECTS/TDDREC/v0/initparams2.m | 0 targets/PROJECTS/TDDREC/v0/ofdm_mod.m | 0 targets/PROJECTS/TDDREC/v0/readme.txt | 0 .../PROJECTS/TDDREC/v0/runmeas_full_duplex.m | 0 .../PROJECTS/TDDREC/v0/runmeas_long_chanest.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_mimo.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m | 0 .../PROJECTS/TDDREC/v4_CH_EST/s_init_params.m | 0 targets/README.txt | 0 targets/RT/LAUNCH_SCRIPTS/load_module.sh | 0 targets/RT/LAUNCH_SCRIPTS/nas_enb.sh | 0 targets/RT/LAUNCH_SCRIPTS/nas_ue.sh | 0 targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_emos.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_rf.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_ue.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_ue2.sh | 0 targets/RT/LAUNCH_SCRIPTS/stop_rf.sh | 0 targets/RT/Makefile | 0 targets/RT/USER/.runinfo | 0 targets/RT/USER/.ue.nvram | Bin targets/RT/USER/.ue_emm.nvram | Bin targets/RT/USER/.usim.nvram | Bin targets/RT/USER/Makefile | 0 targets/RT/USER/Makefile.agilent | 0 targets/RT/USER/Makefile.msg_many | 0 targets/RT/USER/TOOLS/thread_ipc.c | 0 targets/RT/USER/TOOLS/thread_ipc.h | 0 targets/RT/USER/UE_transport_IQ.c | 0 targets/RT/USER/condtest.c | 0 targets/RT/USER/eNB_exmimo2.gtkw | 0 targets/RT/USER/eNB_transport_IQ.c | 0 targets/RT/USER/eNB_usrp.gtkw | 0 targets/RT/USER/emos-raw.c | 0 targets/RT/USER/exmimo2_2arxg.lime | 0 targets/RT/USER/exmimo2_2brxg.lime | 0 targets/RT/USER/init_b200.sh | 0 targets/RT/USER/init_exmimo.sh | 0 targets/RT/USER/init_exmimo2.sh | 0 targets/RT/USER/lte-enb.c | 0 targets/RT/USER/lte-ran.c | 0 targets/RT/USER/lte-ru.c | 0 targets/RT/USER/lte-softmodem.c | 0 targets/RT/USER/lte-softmodem.h | 0 targets/RT/USER/lte-ue.c | 0 targets/RT/USER/msg_helper.c | 0 targets/RT/USER/msg_many.c | 0 targets/RT/USER/msg_many.h | 0 targets/RT/USER/rau_if4_single_thread.gtkw | 0 targets/RT/USER/rcc_if4.gtkw | 0 targets/RT/USER/rcc_if5.gtkw | 0 targets/RT/USER/rrh.c | 0 targets/RT/USER/rrh.gtkw | 0 targets/RT/USER/rrh_gw.c | 0 targets/RT/USER/rrh_gw.h | 0 targets/RT/USER/rrh_gw_externs.h | 0 targets/RT/USER/rru_if4p5_single_thread.gtkw | 0 targets/RT/USER/rru_if4p5_usrp.gtkw | 0 targets/RT/USER/rru_if5_usrp.gtkw | 0 targets/RT/USER/rt_wrapper.c | 0 targets/RT/USER/rt_wrapper.h | 0 targets/RT/USER/sleeptest.c | 0 targets/RT/USER/stats.c | 0 targets/RT/USER/stats.fd | 0 targets/RT/USER/stats.h | 0 targets/RT/USER/synctest.c | 0 targets/RT/USER/ue_exmimo2.gtkw | 0 targets/RT/USER/ue_usrp.gtkw | 0 targets/SCRIPTS/install_asn1.sh | 0 .../SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/Makefile | 0 .../SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/Makefile | 0 targets/SIMU/EXAMPLES/OSD/README.txt | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_0.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_1.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_10.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_11.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_120.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_121.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_122.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_123.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_124.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_125.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_126.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_127.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_128.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_129.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_13.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_14.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_15.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_16.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_17.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_18.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_19.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_2.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_20.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_21.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_22.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_27.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_29.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_3.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_33.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_34.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_4.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_40.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_41.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_42.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_43.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_5.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_6.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_60.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_7.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_70.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_8.xml | 0 .../SIMU/EXAMPLES/OSD/WEBXML/template_9.xml | 0 targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/Makefile | 0 targets/SIMU/PROC/Process.c | 0 targets/SIMU/PROC/Process.h | 0 targets/SIMU/PROC/Tsync.h | 0 targets/SIMU/PROC/channel_sim_proc.c | 0 targets/SIMU/PROC/channel_sim_proc.h | 0 targets/SIMU/PROC/interface.h | 0 targets/SIMU/USER/.ue.nvram | Bin targets/SIMU/USER/.ue_emm.nvram | Bin targets/SIMU/USER/.usim.nvram | Bin targets/SIMU/USER/Makefile | 0 targets/SIMU/USER/channel_sim.c | 0 targets/SIMU/USER/cor_SF_sim.c | 0 targets/SIMU/USER/cor_SF_sim.h | 0 targets/SIMU/USER/event_handler.c | 0 targets/SIMU/USER/event_handler.h | 0 targets/SIMU/USER/files/MI_16qam.csv | 0 targets/SIMU/USER/files/MI_16qam.txt | 0 targets/SIMU/USER/files/MI_4qam.csv | 0 targets/SIMU/USER/files/MI_4qam.txt | 0 targets/SIMU/USER/files/MI_64qam.csv | 0 targets/SIMU/USER/files/MI_64qam.txt | 0 targets/SIMU/USER/init_lte.c | 0 targets/SIMU/USER/init_lte.h | 0 targets/SIMU/USER/oaisim.c | 0 targets/SIMU/USER/oaisim.h | 0 targets/SIMU/USER/oaisim_config.c | 0 targets/SIMU/USER/oaisim_config.h | 0 targets/SIMU/USER/oaisim_functions.c | 0 targets/SIMU/USER/oaisim_functions.h | 0 targets/SIMU/USER/oaisim_pad.c | 0 targets/SIMU/USER/phy_procedures_sim_form.c | 0 targets/SIMU/USER/phy_procedures_sim_form.fd | 0 targets/SIMU/USER/phy_procedures_sim_form.h | 0 targets/SIMU/USER/plot_results.m | 0 targets/SIMU/USER/sinr_sim.c | 0 targets/SIMU/USER/threadpool.c | 0 targets/SIMU/USER/threadpool.h | 0 targets/TEST/AT_COMMANDS/oaisim.c | 0 targets/TEST/OAI/README | 0 targets/TEST/OAI/case01.py | 0 targets/TEST/OAI/case02.py | 0 targets/TEST/OAI/case03.py | 0 targets/TEST/OAI/case04.py | 0 targets/TEST/OAI/case05.py | 0 targets/TEST/OAI/case11.py | 0 targets/TEST/OAI/case12.py | 0 targets/TEST/OAI/case13.py | 0 targets/TEST/OAI/core.py | 0 targets/TEST/OAI/log.py | 0 targets/TEST/OAI/openair.py | 0 targets/TEST/OAI/test01.py | 0 targets/TEST/OAI/test02.py | 0 targets/TEST/PACKET_TRACER/README.txt | 0 targets/TEST/PACKET_TRACER/messages/Msg4.txt | 0 .../messages/rrcconnectionreconfiguration.txt | 0 .../messages/rrcconnectionsetup.txt | 0 targets/TEST/PACKET_TRACER/messages/sib1.txt | 0 targets/TEST/PACKET_TRACER/messages/sib2.txt | 0 .../PACKET_TRACER/messages/sib2_3_oai.txt | 0 .../messages/sib2_3_oai_Rel10.txt | 0 targets/TEST/PACKET_TRACER/messages/sib3.txt | 0 targets/TEST/PACKET_TRACER/pt.c | 0 targets/TEST/PDCP/readme.txt | 0 targets/TEST/PDCP/test_pdcp.c | 0 targets/TEST/PDCP/test_pdcp.h | 0 targets/TEST/PDCP/test_util.h | 0 targets/TEST/PDCP/todo.txt | 0 targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c | 0 targets/TEST/RLC_AM_V9.3.0/oaisim.c | 0 targets/TEST/RLC_UM_V9.3.0/oaisim.c | 0 .../TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp | 0 targets/TEST/ROHDE_SCHWARZ/Makefile | 0 targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp | 0 targets/TEST/ROHDE_SCHWARZ/TcpClient.h | 0 targets/itti_vcd_tasks.sav | 0 2621 files changed, 8032 insertions(+), 953 deletions(-) mode change 100644 => 100755 .gitlab-ci.yml mode change 100644 => 100755 LICENSE mode change 100644 => 100755 NOTICE.txt mode change 100644 => 100755 README.txt mode change 100644 => 100755 cmake_targets/CMakeLists.txt mode change 100644 => 100755 cmake_targets/autotests/README.txt mode change 100644 => 100755 cmake_targets/autotests/core.py mode change 100644 => 100755 cmake_targets/autotests/log.py mode change 100644 => 100755 cmake_targets/autotests/openair.py mode change 100644 => 100755 cmake_targets/autotests/templates/index.html mode change 100644 => 100755 cmake_targets/autotests/templates/testcase_report.html mode change 100644 => 100755 cmake_targets/autotests/test_case_list.xml mode change 100644 => 100755 cmake_targets/autotests/testsuite_ue_noS1.xml mode change 100644 => 100755 cmake_targets/autotests/testsuite_ue_noS1_TCL.xml mode change 100644 => 100755 cmake_targets/autotests/tools/lib_autotest.py mode change 100644 => 100755 cmake_targets/autotests/tools/lib_autotest_analyser.py mode change 100644 => 100755 cmake_targets/autotests/tools/wdial.bandrich.conf mode change 100644 => 100755 cmake_targets/autotests/v2/actions/alu_epc.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/alu_epc_stop.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/alu_hss.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/bandrich.txt mode change 100644 => 100755 cmake_targets/autotests/v2/actions/client_tcp.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/client_udp.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/clone_repository.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/compilation.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/execution.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/execution_compile.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/modem.py mode change 100644 => 100755 cmake_targets/autotests/v2/actions/run_enb.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/server_tcp.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/server_udp.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/start_3276.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/start_3276.py mode change 100644 => 100755 cmake_targets/autotests/v2/actions/start_bandrich.bash mode change 100644 => 100755 cmake_targets/autotests/v2/actions/start_bandrich.py mode change 100644 => 100755 cmake_targets/autotests/v2/actions/stop_3276.py mode change 100644 => 100755 cmake_targets/autotests/v2/actions/stop_bandrich.py mode change 100644 => 100755 cmake_targets/autotests/v2/actions/wvdial.3276.conf mode change 100644 => 100755 cmake_targets/autotests/v2/actions/wvdial.bandrich.conf mode change 100644 => 100755 cmake_targets/autotests/v2/alu_test.py mode change 100644 => 100755 cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf mode change 100644 => 100755 cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf mode change 100644 => 100755 cmake_targets/autotests/v2/connection.py mode change 100644 => 100755 cmake_targets/autotests/v2/machine_list.py mode change 100644 => 100755 cmake_targets/autotests/v2/main.py mode change 100644 => 100755 cmake_targets/autotests/v2/task.py mode change 100644 => 100755 cmake_targets/autotests/v2/utils.py mode change 100644 => 100755 cmake_targets/build_ue mode change 100644 => 100755 cmake_targets/doxygen/CMakeLists.txt mode change 100644 => 100755 cmake_targets/epc_test/CMakeLists.template mode change 100644 => 100755 cmake_targets/lte-simulators/CMakeLists.txt mode change 100644 => 100755 cmake_targets/lte_noS1_build_oai/CMakeLists.template mode change 100644 => 100755 cmake_targets/nas_sim_tools/CMakeLists.txt mode change 100644 => 100755 cmake_targets/oaisim_build_oai/CMakeLists.template mode change 100644 => 100755 cmake_targets/oaisim_mme_build_oai/CMakeLists.template mode change 100644 => 100755 cmake_targets/oaisim_noS1_build_oai/CMakeLists.template mode change 100644 => 100755 cmake_targets/s1c_mme_test/CMakeLists.template mode change 100644 => 100755 cmake_targets/tools/Kbuild.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/CMakeParseArguments.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/CMakeUserUseBison.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindFreeDiameter.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindGCCXML.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindGcrypt.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindGnuTLS.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindKbuild.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindLibXml2.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindMySQL.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindNettle.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindPostgreSQL.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/FindSCTP.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/Kbuild.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/cmake_useful.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/kbuild_system.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/kmodule.cmake mode change 100644 => 100755 cmake_targets/tools/MODULES/path_prefixes.cmake mode change 100644 => 100755 cmake_targets/tools/asn1tostruct.py mode change 100644 => 100755 cmake_targets/tools/example_enb_exmimo_mme_hss.txt mode change 100644 => 100755 cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt mode change 100644 => 100755 cmake_targets/tools/exmimo2_2arxg.lime mode change 100644 => 100755 cmake_targets/tools/exmimo_stop_octave.m mode change 100644 => 100755 cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff mode change 100644 => 100755 cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff mode change 100644 => 100755 cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff mode change 100644 => 100755 cmake_targets/tools/init_nas_s1 mode change 100644 => 100755 cmake_targets/tools/run_ue_s1 mode change 100644 => 100755 cmake_targets/tools/test_helper mode change 100644 => 100755 common/ran_context.h mode change 100644 => 100755 common/utils/T/.gitignore mode change 100644 => 100755 common/utils/T/Makefile mode change 100644 => 100755 common/utils/T/README mode change 100644 => 100755 common/utils/T/T.c mode change 100644 => 100755 common/utils/T/T.h mode change 100644 => 100755 common/utils/T/T_defs.h mode change 100644 => 100755 common/utils/T/T_messages.txt mode change 100644 => 100755 common/utils/T/defs.h mode change 100644 => 100755 common/utils/T/generate_Txx.c mode change 100644 => 100755 common/utils/T/genids.c mode change 100644 => 100755 common/utils/T/local_tracer.c mode change 100644 => 100755 common/utils/T/plot.c mode change 100644 => 100755 common/utils/T/tracee/Makefile mode change 100644 => 100755 common/utils/T/tracee/README mode change 100644 => 100755 common/utils/T/tracee/tracee.c mode change 100644 => 100755 common/utils/T/tracer/Makefile mode change 100644 => 100755 common/utils/T/tracer/config.c mode change 100644 => 100755 common/utils/T/tracer/config.h mode change 100644 => 100755 common/utils/T/tracer/database.c mode change 100644 => 100755 common/utils/T/tracer/database.h mode change 100644 => 100755 common/utils/T/tracer/defs.h mode change 100644 => 100755 common/utils/T/tracer/enb.c mode change 100644 => 100755 common/utils/T/tracer/event.c mode change 100644 => 100755 common/utils/T/tracer/event.h mode change 100644 => 100755 common/utils/T/tracer/event_selector.c mode change 100644 => 100755 common/utils/T/tracer/event_selector.h mode change 100644 => 100755 common/utils/T/tracer/extract_config.c mode change 100644 => 100755 common/utils/T/tracer/filter/Makefile mode change 100644 => 100755 common/utils/T/tracer/filter/filter.c mode change 100644 => 100755 common/utils/T/tracer/filter/filter.h mode change 100644 => 100755 common/utils/T/tracer/gui.c mode change 100644 => 100755 common/utils/T/tracer/gui/Makefile mode change 100644 => 100755 common/utils/T/tracer/gui/container.c mode change 100644 => 100755 common/utils/T/tracer/gui/event.c mode change 100644 => 100755 common/utils/T/tracer/gui/gui.c mode change 100644 => 100755 common/utils/T/tracer/gui/gui.h mode change 100644 => 100755 common/utils/T/tracer/gui/gui_defs.h mode change 100644 => 100755 common/utils/T/tracer/gui/image.c mode change 100644 => 100755 common/utils/T/tracer/gui/init.c mode change 100644 => 100755 common/utils/T/tracer/gui/label.c mode change 100644 => 100755 common/utils/T/tracer/gui/loop.c mode change 100644 => 100755 common/utils/T/tracer/gui/notify.c mode change 100644 => 100755 common/utils/T/tracer/gui/positioner.c mode change 100644 => 100755 common/utils/T/tracer/gui/space.c mode change 100644 => 100755 common/utils/T/tracer/gui/test.c mode change 100644 => 100755 common/utils/T/tracer/gui/textarea.c mode change 100644 => 100755 common/utils/T/tracer/gui/textlist.c mode change 100644 => 100755 common/utils/T/tracer/gui/timeline.c mode change 100644 => 100755 common/utils/T/tracer/gui/toplevel_window.c mode change 100644 => 100755 common/utils/T/tracer/gui/widget.c mode change 100644 => 100755 common/utils/T/tracer/gui/x.c mode change 100644 => 100755 common/utils/T/tracer/gui/x.h mode change 100644 => 100755 common/utils/T/tracer/gui/x_defs.h mode change 100644 => 100755 common/utils/T/tracer/gui/xy_plot.c mode change 100644 => 100755 common/utils/T/tracer/hacks/Makefile mode change 100644 => 100755 common/utils/T/tracer/hacks/dump_nack_signal.c mode change 100644 => 100755 common/utils/T/tracer/hacks/time_meas.c mode change 100644 => 100755 common/utils/T/tracer/hacks/timeplot.c mode change 100644 => 100755 common/utils/T/tracer/handler.c mode change 100644 => 100755 common/utils/T/tracer/handler.h mode change 100644 => 100755 common/utils/T/tracer/logger/Makefile mode change 100644 => 100755 common/utils/T/tracer/logger/framelog.c mode change 100644 => 100755 common/utils/T/tracer/logger/iqdotlog.c mode change 100644 => 100755 common/utils/T/tracer/logger/iqlog.c mode change 100644 => 100755 common/utils/T/tracer/logger/logger.c mode change 100644 => 100755 common/utils/T/tracer/logger/logger.h mode change 100644 => 100755 common/utils/T/tracer/logger/logger_defs.h mode change 100644 => 100755 common/utils/T/tracer/logger/textlog.c mode change 100644 => 100755 common/utils/T/tracer/logger/throughputlog.c mode change 100644 => 100755 common/utils/T/tracer/logger/ticked_ttilog.c mode change 100644 => 100755 common/utils/T/tracer/logger/ticklog.c mode change 100644 => 100755 common/utils/T/tracer/logger/timelog.c mode change 100644 => 100755 common/utils/T/tracer/logger/ttilog.c mode change 100644 => 100755 common/utils/T/tracer/macpdu2wireshark.c mode change 100644 => 100755 common/utils/T/tracer/openair_logo.h mode change 100644 => 100755 common/utils/T/tracer/openair_logo.png mode change 100644 => 100755 common/utils/T/tracer/packet-mac-lte.h mode change 100644 => 100755 common/utils/T/tracer/plot.c mode change 100644 => 100755 common/utils/T/tracer/record.c mode change 100644 => 100755 common/utils/T/tracer/replay.c mode change 100644 => 100755 common/utils/T/tracer/textlog.c mode change 100644 => 100755 common/utils/T/tracer/ue.c mode change 100644 => 100755 common/utils/T/tracer/utils.c mode change 100644 => 100755 common/utils/T/tracer/utils.h mode change 100644 => 100755 common/utils/T/tracer/vcd.c mode change 100644 => 100755 common/utils/T/tracer/view/Makefile mode change 100644 => 100755 common/utils/T/tracer/view/scrolltti.c mode change 100644 => 100755 common/utils/T/tracer/view/stdout.c mode change 100644 => 100755 common/utils/T/tracer/view/textlist.c mode change 100644 => 100755 common/utils/T/tracer/view/ticktime.c mode change 100644 => 100755 common/utils/T/tracer/view/time.c mode change 100644 => 100755 common/utils/T/tracer/view/tti.c mode change 100644 => 100755 common/utils/T/tracer/view/view.h mode change 100644 => 100755 common/utils/T/tracer/view/xy.c mode change 100644 => 100755 common/utils/asn1_conversions.h mode change 100644 => 100755 common/utils/assertions.h mode change 100644 => 100755 common/utils/hashtable/hashtable.c mode change 100644 => 100755 common/utils/hashtable/hashtable.h mode change 100644 => 100755 common/utils/hashtable/obj_hashtable.c mode change 100644 => 100755 common/utils/hashtable/obj_hashtable.h mode change 100644 => 100755 common/utils/itti/Makefile.am mode change 100644 => 100755 common/utils/itti/assertions.h mode change 100644 => 100755 common/utils/itti/backtrace.c mode change 100644 => 100755 common/utils/itti/backtrace.h mode change 100644 => 100755 common/utils/itti/intertask_interface.c mode change 100644 => 100755 common/utils/itti/intertask_interface.h mode change 100644 => 100755 common/utils/itti/intertask_interface_dump.c mode change 100644 => 100755 common/utils/itti/intertask_interface_dump.h mode change 100644 => 100755 common/utils/itti/intertask_interface_init.h mode change 100644 => 100755 common/utils/itti/intertask_interface_types.h mode change 100644 => 100755 common/utils/itti/intertask_messages_def.h mode change 100644 => 100755 common/utils/itti/intertask_messages_types.h mode change 100644 => 100755 common/utils/itti/itti_types.h mode change 100644 => 100755 common/utils/itti/memory_pools.c mode change 100644 => 100755 common/utils/itti/memory_pools.h mode change 100644 => 100755 common/utils/itti/messages_def.h mode change 100644 => 100755 common/utils/itti/messages_types.h mode change 100644 => 100755 common/utils/itti/signals.c mode change 100644 => 100755 common/utils/itti/signals.h mode change 100644 => 100755 common/utils/itti/tasks_def.h mode change 100644 => 100755 common/utils/itti/timer.c mode change 100644 => 100755 common/utils/itti/timer.h mode change 100644 => 100755 common/utils/itti/timer_messages_def.h mode change 100644 => 100755 common/utils/itti/timer_messages_types.h mode change 100644 => 100755 common/utils/itti_analyzer/AUTHORS mode change 100644 => 100755 common/utils/itti_analyzer/ChangeLog mode change 100644 => 100755 common/utils/itti_analyzer/INSTALL mode change 100644 => 100755 common/utils/itti_analyzer/Makefile.am mode change 100644 => 100755 common/utils/itti_analyzer/NEWS mode change 100644 => 100755 common/utils/itti_analyzer/README mode change 100644 => 100755 common/utils/itti_analyzer/common/itti_types.h mode change 100644 => 100755 common/utils/itti_analyzer/common/logs.h mode change 100644 => 100755 common/utils/itti_analyzer/common/queue.h mode change 100644 => 100755 common/utils/itti_analyzer/common/rc.h mode change 100644 => 100755 common/utils/itti_analyzer/configure.ac mode change 100644 => 100755 common/utils/itti_analyzer/filters.xml mode change 100644 => 100755 common/utils/itti_analyzer/filters_mme.xml mode change 100644 => 100755 common/utils/itti_analyzer/filters_ue_enb.xml mode change 100644 => 100755 common/utils/itti_analyzer/itti_analyzer.c mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/Makefile.am mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/buffers.c mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/buffers.h mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/file.c mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/file.h mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/socket.c mode change 100644 => 100755 common/utils/itti_analyzer/libbuffers/socket.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/Makefile.am mode change 100644 => 100755 common/utils/itti_analyzer/libparser/array_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/array_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/enum_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/enum_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/enum_value_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/enum_value_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/field_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/field_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/file_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/file_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/fundamental_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/fundamental_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/intertask_contexts.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/pointer_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/pointer_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/reference_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/reference_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/struct_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/struct_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/typedef_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/typedef_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/types.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/types.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/union_type.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/union_type.h mode change 100644 => 100755 common/utils/itti_analyzer/libparser/xml_parse.c mode change 100644 => 100755 common/utils/itti_analyzer/libparser/xml_parse.h mode change 100644 => 100755 common/utils/itti_analyzer/libresolver/Makefile.am mode change 100644 => 100755 common/utils/itti_analyzer/libresolver/locate_root.c mode change 100644 => 100755 common/utils/itti_analyzer/libresolver/locate_root.h mode change 100644 => 100755 common/utils/itti_analyzer/libresolver/resolvers.c mode change 100644 => 100755 common/utils/itti_analyzer/libresolver/resolvers.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/Makefile.am mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_callbacks.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_callbacks.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_filters.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_filters.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_interface.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_interface.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_main_screen.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_main_screen.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_menu_bar.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_menu_bar.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_notebook.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_notebook.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_notif_dlg.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_notif_dlg.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_notifications.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_notifications.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_signal_dissect_view.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_signal_dissect_view.h mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_tree_view.c mode change 100644 => 100755 common/utils/itti_analyzer/libui/ui_tree_view.h mode change 100644 => 100755 common/utils/msc/msc.c mode change 100644 => 100755 common/utils/msc/msc.h mode change 100644 => 100755 common/utils/system.c mode change 100644 => 100755 common/utils/system.h mode change 100644 => 100755 common/utils/time_utils.h mode change 100644 => 100755 common/utils/utils.c mode change 100644 => 100755 common/utils/utils.h create mode 100755 enb_dev.config create mode 100755 enb_dev.creator create mode 100755 enb_dev.files create mode 100755 enb_dev.includes mode change 100644 => 100755 oai5g_development.config mode change 100644 => 100755 oai5g_development.creator mode change 100644 => 100755 oai5g_development.files mode change 100644 => 100755 oai5g_development.includes mode change 100644 => 100755 oaienv mode change 100644 => 100755 openair1/Makefile mode change 100644 => 100755 openair1/PHY/CODING/3gpplte.c mode change 100644 => 100755 openair1/PHY/CODING/3gpplte_sse.c mode change 100644 => 100755 openair1/PHY/CODING/3gpplte_turbo_decoder.c mode change 100644 => 100755 openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c mode change 100644 => 100755 openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c mode change 100644 => 100755 openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c mode change 100644 => 100755 openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c mode change 100644 => 100755 openair1/PHY/CODING/Makefile mode change 100644 => 100755 openair1/PHY/CODING/Makefile.arm mode change 100644 => 100755 openair1/PHY/CODING/README.txt mode change 100644 => 100755 openair1/PHY/CODING/TESTBENCH/Makefile mode change 100644 => 100755 openair1/PHY/CODING/TESTBENCH/README.txt mode change 100644 => 100755 openair1/PHY/CODING/TESTBENCH/ltetest.c mode change 100644 => 100755 openair1/PHY/CODING/TESTBENCH/pdcch_test.c mode change 100644 => 100755 openair1/PHY/CODING/TESTBENCH/viterbi_test.c mode change 100644 => 100755 openair1/PHY/CODING/ccoding_byte.c mode change 100644 => 100755 openair1/PHY/CODING/ccoding_byte_lte.c mode change 100644 => 100755 openair1/PHY/CODING/crc_byte.c mode change 100644 => 100755 openair1/PHY/CODING/defs.h mode change 100644 => 100755 openair1/PHY/CODING/extern.h mode change 100644 => 100755 openair1/PHY/CODING/extern_3GPPinterleaver.h mode change 100644 => 100755 openair1/PHY/CODING/lte_interleaver.h mode change 100644 => 100755 openair1/PHY/CODING/lte_interleaver2.h mode change 100644 => 100755 openair1/PHY/CODING/lte_interleaver_inline.h mode change 100644 => 100755 openair1/PHY/CODING/lte_rate_matching.c mode change 100644 => 100755 openair1/PHY/CODING/lte_segmentation.c mode change 100644 => 100755 openair1/PHY/CODING/lte_tf.m mode change 100644 => 100755 openair1/PHY/CODING/scrambler.h mode change 100644 => 100755 openair1/PHY/CODING/vars.h mode change 100644 => 100755 openair1/PHY/CODING/viterbi.c mode change 100644 => 100755 openair1/PHY/CODING/viterbi_lte.c mode change 100644 => 100755 openair1/PHY/INIT/README.txt mode change 100644 => 100755 openair1/PHY/INIT/defs.h mode change 100644 => 100755 openair1/PHY/INIT/extern.h mode change 100644 => 100755 openair1/PHY/INIT/init_top.c mode change 100644 => 100755 openair1/PHY/INIT/lte_init.c mode change 100644 => 100755 openair1/PHY/INIT/lte_param_init.c mode change 100644 => 100755 openair1/PHY/INIT/lte_parms.c mode change 100644 => 100755 openair1/PHY/INIT/vars.h mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/README.txt mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/adjust_gain.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/defs.h mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/extern.h mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/filt16_32.h mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/filt96_32.h mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/freq_equalization.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_sync_time.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/pss6144.h mode change 100644 => 100755 openair1/PHY/LTE_ESTIMATION/vars.h mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/README.txt mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/defs.h mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/gen_mod_table.m mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_dl_uespec.c mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_gold.c mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_ul.m mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/lte_ul_ref.c mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/mod_table.h mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/primary_synch.h mode change 100644 => 100755 openair1/PHY/LTE_REFSIG/primary_synch.m mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/README.txt mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dci.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dci_tools.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/defs.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_coding.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/drs_modulation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/extern.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/group_hopping.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/if4_tools.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/if4_tools.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/if5_tools.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/if5_tools.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/initial_sync.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/lte_mcs.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/mdci.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pbch.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pcfich.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pch.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/phich.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pilots.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pmch.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/power_control.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/prach.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/prach.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/print_stats.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/proto.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pss.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/pucch.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/rar_tools.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/srs_modulation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/sss.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/sss.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/sss_gen.m mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/uci.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/uci_tools.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/ulsch_coding.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/vars.h mode change 100644 => 100755 openair1/PHY/LTE_TRANSPORT/vrb_maps.m mode change 100644 => 100755 openair1/PHY/MODULATION/beamforming.c mode change 100644 => 100755 openair1/PHY/MODULATION/compute_bf_weights.c mode change 100644 => 100755 openair1/PHY/MODULATION/defs.h mode change 100644 => 100755 openair1/PHY/MODULATION/extern.h mode change 100644 => 100755 openair1/PHY/MODULATION/gen_7_5_kHz.m mode change 100644 => 100755 openair1/PHY/MODULATION/kHz_7_5.h mode change 100644 => 100755 openair1/PHY/MODULATION/ofdm_mod.c mode change 100644 => 100755 openair1/PHY/MODULATION/prach625Hz.h mode change 100644 => 100755 openair1/PHY/MODULATION/slot_fep.c mode change 100644 => 100755 openair1/PHY/MODULATION/slot_fep_mbsfn.c mode change 100644 => 100755 openair1/PHY/MODULATION/slot_fep_ul.c mode change 100644 => 100755 openair1/PHY/MODULATION/ul_7_5_kHz.c mode change 100644 => 100755 openair1/PHY/MODULATION/vars.h mode change 100644 => 100755 openair1/PHY/Makefile.inc mode change 100644 => 100755 openair1/PHY/TOOLS/8bit_rxdemux.c mode change 100644 => 100755 openair1/PHY/TOOLS/8bit_txmux.c mode change 100644 => 100755 openair1/PHY/TOOLS/Makefile mode change 100644 => 100755 openair1/PHY/TOOLS/alaw_lut.h mode change 100644 => 100755 openair1/PHY/TOOLS/angle.c mode change 100644 => 100755 openair1/PHY/TOOLS/cadd_sv.c mode change 100644 => 100755 openair1/PHY/TOOLS/cadd_vv.c mode change 100644 => 100755 openair1/PHY/TOOLS/cdot_prod.c mode change 100644 => 100755 openair1/PHY/TOOLS/cmult_sv.c mode change 100644 => 100755 openair1/PHY/TOOLS/cmult_vv.c mode change 100644 => 100755 openair1/PHY/TOOLS/costable.h mode change 100644 => 100755 openair1/PHY/TOOLS/dB_routines.c mode change 100644 => 100755 openair1/PHY/TOOLS/dB_routines.h mode change 100644 => 100755 openair1/PHY/TOOLS/defs.h mode change 100644 => 100755 openair1/PHY/TOOLS/extern.h mode change 100644 => 100755 openair1/PHY/TOOLS/file_output.c mode change 100644 => 100755 openair1/PHY/TOOLS/invSqrt.c mode change 100644 => 100755 openair1/PHY/TOOLS/log2_approx.c mode change 100644 => 100755 openair1/PHY/TOOLS/lte_dfts.c mode change 100644 => 100755 openair1/PHY/TOOLS/lte_phy_scope.c mode change 100644 => 100755 openair1/PHY/TOOLS/lte_phy_scope.h mode change 100644 => 100755 openair1/PHY/TOOLS/lte_phy_scope_tm4.c mode change 100644 => 100755 openair1/PHY/TOOLS/lut.c mode change 100644 => 100755 openair1/PHY/TOOLS/memory_routines.c mode change 100644 => 100755 openair1/PHY/TOOLS/read_F.c mode change 100644 => 100755 openair1/PHY/TOOLS/signal_energy.c mode change 100644 => 100755 openair1/PHY/TOOLS/smbv.c mode change 100644 => 100755 openair1/PHY/TOOLS/smbv.h mode change 100644 => 100755 openair1/PHY/TOOLS/sqrt.c mode change 100644 => 100755 openair1/PHY/TOOLS/time_meas.c mode change 100644 => 100755 openair1/PHY/TOOLS/time_meas.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddle12288.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddle1536.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddle18432.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddle24576.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddle6144.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddles4096.h mode change 100644 => 100755 openair1/PHY/TOOLS/twiddles8192.h mode change 100644 => 100755 openair1/PHY/TOOLS/vars.h mode change 100644 => 100755 openair1/PHY/defs.h mode change 100644 => 100755 openair1/PHY/extern.h mode change 100644 => 100755 openair1/PHY/impl_defs_lte.h mode change 100644 => 100755 openair1/PHY/impl_defs_top.h mode change 100644 => 100755 openair1/PHY/sse_intrin.h mode change 100644 => 100755 openair1/PHY/types.h mode change 100644 => 100755 openair1/PHY/vars.h mode change 100644 => 100755 openair1/README.TXT mode change 100644 => 100755 openair1/SCHED/Makefile.inc mode change 100644 => 100755 openair1/SCHED/defs.h mode change 100644 => 100755 openair1/SCHED/extern.h mode change 100644 => 100755 openair1/SCHED/phy_mac_stub.c mode change 100644 => 100755 openair1/SCHED/phy_procedures_emos.h mode change 100644 => 100755 openair1/SCHED/phy_procedures_lte_common.c mode change 100644 => 100755 openair1/SCHED/phy_procedures_lte_eNb.c mode change 100644 => 100755 openair1/SCHED/phy_procedures_lte_ue.c mode change 100644 => 100755 openair1/SCHED/pucch_pc.c mode change 100644 => 100755 openair1/SCHED/pusch_pc.c mode change 100644 => 100755 openair1/SCHED/rt_compat.h mode change 100644 => 100755 openair1/SCHED/ru_procedures.c mode change 100644 => 100755 openair1/SCHED/srs_pc.c mode change 100644 => 100755 openair1/SCHED/vars.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/README.txt mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/defs.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/extern.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/proto.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/socket.c mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/socket.h mode change 100644 => 100755 openair1/SIMULATION/ETH_TRANSPORT/vars.h mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/LTE_Configuration.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/LTE_Configuration.h mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/Makefile mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/README.txt mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/blerSimus.zip mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/dlsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/dlsim_tm4.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/dlsim_tm7.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/fancyheadings.sty mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/framegen.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/gpib_send.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/gpib_send.h mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/launch_sim.sh mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/mbmssim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pbch_awgn.txt mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pbchsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pdcchsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/p mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/prachsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/pucchsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/scansim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/signalanalyzer.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/signalanalyzer.h mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/syncsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/test.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/ulsim.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/ulsim2.c mode change 100644 => 100755 openair1/SIMULATION/LTE_PHY/unitary_defs.h mode change 100644 => 100755 openair1/SIMULATION/Makefile.inc mode change 100644 => 100755 openair1/SIMULATION/RF/Makefile mode change 100644 => 100755 openair1/SIMULATION/RF/README.txt mode change 100644 => 100755 openair1/SIMULATION/RF/adc.c mode change 100644 => 100755 openair1/SIMULATION/RF/dac.c mode change 100644 => 100755 openair1/SIMULATION/RF/defs.h mode change 100644 => 100755 openair1/SIMULATION/RF/rf.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/abstraction.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/ch_desc_proto.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/corr_mat.m mode change 100644 => 100755 openair1/SIMULATION/TOOLS/defs.h mode change 100644 => 100755 openair1/SIMULATION/TOOLS/gauss.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/llr_quantization.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/multipath_channel.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/multipath_tv_channel.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/random_channel.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/rangen_double.c mode change 100644 => 100755 openair1/SIMULATION/TOOLS/scm_corrmat.h mode change 100644 => 100755 openair1/SIMULATION/TOOLS/taus.c mode change 100644 => 100755 openair2/COMMON/as_message.h mode change 100644 => 100755 openair2/COMMON/commonDef.h mode change 100644 => 100755 openair2/COMMON/gtpv1_u_messages_def.h mode change 100644 => 100755 openair2/COMMON/gtpv1_u_messages_types.h mode change 100644 => 100755 openair2/COMMON/intertask_interface_conf.h mode change 100644 => 100755 openair2/COMMON/mac_messages_def.h mode change 100644 => 100755 openair2/COMMON/mac_messages_types.h mode change 100644 => 100755 openair2/COMMON/mac_primitives.h mode change 100644 => 100755 openair2/COMMON/mac_rlc_primitives.h mode change 100644 => 100755 openair2/COMMON/mac_rrc_primitives.h mode change 100644 => 100755 openair2/COMMON/messages_def.h mode change 100644 => 100755 openair2/COMMON/messages_types.h mode change 100644 => 100755 openair2/COMMON/nas_messages_def.h mode change 100644 => 100755 openair2/COMMON/nas_messages_types.h mode change 100644 => 100755 openair2/COMMON/networkDef.h mode change 100644 => 100755 openair2/COMMON/openair_defs.h mode change 100644 => 100755 openair2/COMMON/openair_types.h mode change 100644 => 100755 openair2/COMMON/pdcp_messages_def.h mode change 100644 => 100755 openair2/COMMON/pdcp_messages_types.h mode change 100644 => 100755 openair2/COMMON/phy_messages_def.h mode change 100644 => 100755 openair2/COMMON/phy_messages_types.h mode change 100644 => 100755 openair2/COMMON/platform_constants.h mode change 100644 => 100755 openair2/COMMON/platform_types.h mode change 100644 => 100755 openair2/COMMON/ral_messages_def.h mode change 100644 => 100755 openair2/COMMON/ral_messages_types.h mode change 100644 => 100755 openair2/COMMON/rlc_messages_def.h mode change 100644 => 100755 openair2/COMMON/rlc_messages_types.h mode change 100644 => 100755 openair2/COMMON/rrc_messages_def.h mode change 100644 => 100755 openair2/COMMON/rrc_messages_types.h mode change 100644 => 100755 openair2/COMMON/rrm_config_structs.h mode change 100644 => 100755 openair2/COMMON/rrm_constants.h mode change 100644 => 100755 openair2/COMMON/rtos_header.h mode change 100644 => 100755 openair2/COMMON/s1ap_messages_def.h mode change 100644 => 100755 openair2/COMMON/s1ap_messages_types.h mode change 100644 => 100755 openair2/COMMON/sctp_messages_def.h mode change 100644 => 100755 openair2/COMMON/sctp_messages_types.h mode change 100644 => 100755 openair2/COMMON/tasks_def.h mode change 100644 => 100755 openair2/COMMON/udp_messages_def.h mode change 100644 => 100755 openair2/COMMON/udp_messages_types.h mode change 100644 => 100755 openair2/COMMON/x2ap_messages_def.h mode change 100644 => 100755 openair2/COMMON/x2ap_messages_types.h mode change 100644 => 100755 openair2/DOCS/DOXYGEN/images/Transmission.png mode change 100644 => 100755 openair2/DOCS/DOXYGEN/images/Transmission.ps mode change 100644 => 100755 openair2/DOCS/Documentation/flow.txt mode change 100644 => 100755 openair2/DOCS/TEMPLATES/CODE/Doxyfile mode change 100644 => 100755 openair2/DOCS/TEMPLATES/CODE/example_doxy.h mode change 100644 => 100755 openair2/DOCS/TEMPLATES/CODE/images/arch.eps mode change 100644 => 100755 openair2/DOCS/TEMPLATES/CODE/images/arch.png mode change 100644 => 100755 openair2/DOCS/TEMPLATES/README/Readme.doxy mode change 100644 => 100755 openair2/DOCS/TEMPLATES/README/readme.txt mode change 100644 => 100755 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c mode change 100644 => 100755 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h mode change 100644 => 100755 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h mode change 100644 => 100755 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c mode change 100644 => 100755 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/config_common.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/config_messages.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/control_delegation.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/controller_commands.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/flexran.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/header.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/stats_common.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/stats_messages.proto mode change 100644 => 100755 openair2/ENB_APP/MESSAGES/V2/time_common.proto mode change 100644 => 100755 openair2/ENB_APP/Makefile.inc mode change 100644 => 100755 openair2/ENB_APP/enb_app.c mode change 100644 => 100755 openair2/ENB_APP/enb_app.h mode change 100644 => 100755 openair2/ENB_APP/enb_config.c mode change 100644 => 100755 openair2/ENB_APP/enb_config.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_async.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_async.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_common.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_common.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_common_internal.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_common_internal.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_defs.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_extern.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_handler.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_net_comm.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_net_comm.h mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_task_manager.c mode change 100644 => 100755 openair2/ENB_APP/flexran_agent_task_manager.h mode change 100644 => 100755 openair2/LAYER2/MAC/config.c mode change 100644 => 100755 openair2/LAYER2/MAC/defs.h mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler.c mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler_RA.c mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler_bch.c mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler_mch.c mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler_primitives.c mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler_ulsch.c mode change 100644 => 100755 openair2/LAYER2/MAC/extern.h mode change 100644 => 100755 openair2/LAYER2/MAC/flexran_agent_mac_proto.h mode change 100644 => 100755 openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c mode change 100644 => 100755 openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c mode change 100644 => 100755 openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c mode change 100644 => 100755 openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h mode change 100644 => 100755 openair2/LAYER2/MAC/flexran_dci_conversions.h mode change 100644 => 100755 openair2/LAYER2/MAC/l1_helpers.c mode change 100644 => 100755 openair2/LAYER2/MAC/lte_transport_init.c mode change 100644 => 100755 openair2/LAYER2/MAC/main.c mode change 100644 => 100755 openair2/LAYER2/MAC/openair2_proc.c mode change 100644 => 100755 openair2/LAYER2/MAC/pre_processor.c mode change 100644 => 100755 openair2/LAYER2/MAC/proto.h mode change 100644 => 100755 openair2/LAYER2/MAC/ra_procedures.c mode change 100644 => 100755 openair2/LAYER2/MAC/rar_tools.c mode change 100644 => 100755 openair2/LAYER2/MAC/ue_procedures.c mode change 100644 => 100755 openair2/LAYER2/MAC/vars.h mode change 100644 => 100755 openair2/LAYER2/Makefile.inc mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp.h mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c mode change 100644 => 100755 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c mode change 100644 => 100755 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h mode change 100644 => 100755 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c mode change 100644 => 100755 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h mode change 100644 => 100755 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h mode change 100644 => 100755 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c mode change 100644 => 100755 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h mode change 100644 => 100755 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/Makefile mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/README mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c mode change 100644 => 100755 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h mode change 100644 => 100755 openair2/LAYER2/RLC/mac_primitives.h mode change 100644 => 100755 openair2/LAYER2/RLC/rlc.c mode change 100644 => 100755 openair2/LAYER2/RLC/rlc.h mode change 100644 => 100755 openair2/LAYER2/RLC/rlc_def.h mode change 100644 => 100755 openair2/LAYER2/RLC/rlc_def_lte.h mode change 100644 => 100755 openair2/LAYER2/RLC/rlc_mac.c mode change 100644 => 100755 openair2/LAYER2/RLC/rlc_mpls.c mode change 100644 => 100755 openair2/LAYER2/RLC/rlc_primitives.h mode change 100644 => 100755 openair2/LAYER2/RLC/rlc_rrc.c mode change 100644 => 100755 openair2/LAYER2/openair2_proc.c mode change 100644 => 100755 openair2/LAYER2/register.c mode change 100644 => 100755 openair2/LAYER2/register.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c mode change 100644 => 100755 openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c mode change 100644 => 100755 openair2/NAS/Makefile.inc mode change 100644 => 100755 openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h mode change 100644 => 100755 openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c mode change 100644 => 100755 openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/classifier.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/common.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/constant.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/device.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/ioctl.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/ioctl.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/local.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/netlink.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/proto_extern.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/sap.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/LITE/tool.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/classifier.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/common.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/constant.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/device.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/ioctl.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/ioctl.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/local.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/mesh.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/netlink.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/proto_extern.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/sap.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/MESH/tool.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/common.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/constant.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/device.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/local.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/netlink.c mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/proto_extern.h mode change 100644 => 100755 openair2/NETWORK_DRIVER/UE_IP/sap.h mode change 100644 => 100755 openair2/PHY_INTERFACE/IF_Module.c mode change 100644 => 100755 openair2/PHY_INTERFACE/IF_Module.h mode change 100644 => 100755 openair2/PHY_INTERFACE/defs.h mode change 100644 => 100755 openair2/PHY_INTERFACE/extern.h mode change 100644 => 100755 openair2/PHY_INTERFACE/mac_phy_primitives.c mode change 100644 => 100755 openair2/PHY_INTERFACE/mac_phy_primitives.h mode change 100644 => 100755 openair2/PHY_INTERFACE/vars.h mode change 100644 => 100755 openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c mode change 100644 => 100755 openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h mode change 100644 => 100755 openair2/RRC/LITE/L2_interface.c mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/Makefile mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/Makefile.inc mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/README.txt mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1_msg.c mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1_msg.h mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1_patch mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/rtai_mem.c mode change 100644 => 100755 openair2/RRC/LITE/MESSAGES/rtai_mem.h mode change 100644 => 100755 openair2/RRC/LITE/defs.h mode change 100644 => 100755 openair2/RRC/LITE/extern.h mode change 100644 => 100755 openair2/RRC/LITE/mesh_top.c mode change 100644 => 100755 openair2/RRC/LITE/plmn_data.h mode change 100644 => 100755 openair2/RRC/LITE/proto.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_2_rrm_msg.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_UE.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_UE_ral.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_UE_ral.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_common.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_GTPV1U.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_GTPV1U.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_S1AP.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_S1AP.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_UE_context.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_UE_context.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_ral.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_eNB_ral.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_rrm_interface.c mode change 100644 => 100755 openair2/RRC/LITE/rrc_rrm_interface.h mode change 100644 => 100755 openair2/RRC/LITE/rrc_types.h mode change 100644 => 100755 openair2/RRC/LITE/rrm_2_rrc_msg.c mode change 100644 => 100755 openair2/RRC/LITE/utils.c mode change 100644 => 100755 openair2/RRC/LITE/vars.h mode change 100644 => 100755 openair2/RRC/NAS/Makefile.inc mode change 100644 => 100755 openair2/RRC/NAS/nas_config.c mode change 100644 => 100755 openair2/RRC/NAS/nas_config.h mode change 100644 => 100755 openair2/RRC/NAS/rb_config.c mode change 100644 => 100755 openair2/RRC/NAS/rb_config.h mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/link_manager.c mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/link_manager.h mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/message_queue.c mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/message_queue.h mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/ringbuffer_queue.c mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/ringbuffer_queue.h mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/socket_link.c mode change 100644 => 100755 openair2/UTIL/ASYNC_IF/socket_link.h mode change 100644 => 100755 openair2/UTIL/BIGPHYS/bigphys.c mode change 100644 => 100755 openair2/UTIL/BIGPHYS/defs.h mode change 100644 => 100755 openair2/UTIL/CLI/cli.c mode change 100644 => 100755 openair2/UTIL/CLI/cli.h mode change 100644 => 100755 openair2/UTIL/CLI/cli_cmd.c mode change 100644 => 100755 openair2/UTIL/CLI/cli_if.h mode change 100644 => 100755 openair2/UTIL/CLI/cli_server.c mode change 100644 => 100755 openair2/UTIL/FIFO/pad_list.c mode change 100644 => 100755 openair2/UTIL/FIFO/pad_list.h mode change 100644 => 100755 openair2/UTIL/FIFO/types.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.linux mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.windows mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.windows mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_and_gnumake/Makefile mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Makefile mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/makefile mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.user mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.user mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.user mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/build/gcc_and_gnumake/Makefile mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/build/sdk_for_windows_7_and_gnumake/makefile mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.user mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c mode change 100644 => 100755 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h mode change 100644 => 100755 openair2/UTIL/LISTS/list.c mode change 100644 => 100755 openair2/UTIL/LISTS/list.h mode change 100644 => 100755 openair2/UTIL/LISTS/list2.c mode change 100644 => 100755 openair2/UTIL/LOG/README.txt mode change 100644 => 100755 openair2/UTIL/LOG/log.c mode change 100644 => 100755 openair2/UTIL/LOG/log.h mode change 100644 => 100755 openair2/UTIL/LOG/log_extern.h mode change 100644 => 100755 openair2/UTIL/LOG/log_if.h mode change 100644 => 100755 openair2/UTIL/LOG/vcd_signal_dumper.c mode change 100644 => 100755 openair2/UTIL/LOG/vcd_signal_dumper.h mode change 100644 => 100755 openair2/UTIL/MATH/crc_byte.c mode change 100644 => 100755 openair2/UTIL/MATH/oml.c mode change 100644 => 100755 openair2/UTIL/MATH/oml.h mode change 100644 => 100755 openair2/UTIL/MATH/random.c mode change 100644 => 100755 openair2/UTIL/MATH/random_proto_extern.h mode change 100644 => 100755 openair2/UTIL/MATH/taus.c mode change 100644 => 100755 openair2/UTIL/MEM/mem_block.c mode change 100644 => 100755 openair2/UTIL/MEM/mem_block.h mode change 100644 => 100755 openair2/UTIL/MEM/mem_mngt.c mode change 100644 => 100755 openair2/UTIL/MEM/mem_mngt_proto_extern.h mode change 100644 => 100755 openair2/UTIL/MEM/mem_pool.h mode change 100644 => 100755 openair2/UTIL/Makefile.inc mode change 100644 => 100755 openair2/UTIL/OCG/.directory mode change 100644 => 100755 openair2/UTIL/OCG/Doxyfile mode change 100644 => 100755 openair2/UTIL/OCG/OCG.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_call_emu.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_call_emu.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_config_mobi.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_config_mobi.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_create_dir.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_create_dir.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_detect_file.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_detect_file.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_extern.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_generate_report.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_generate_report.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_get_opt.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_get_opt.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_if.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_parse_XML.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_parse_XML.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_parse_filename.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_parse_filename.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_save_XML.c mode change 100644 => 100755 openair2/UTIL/OCG/OCG_save_XML.h mode change 100644 => 100755 openair2/UTIL/OCG/OCG_vars.h mode change 100644 => 100755 openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml mode change 100644 => 100755 openair2/UTIL/OCG/eurecom_20110208110244.xml mode change 100644 => 100755 openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml mode change 100644 => 100755 openair2/UTIL/OCG/makefile mode change 100644 => 100755 openair2/UTIL/OCG/readme.txt mode change 100644 => 100755 openair2/UTIL/OCG/temp_output/OCG_report.xml mode change 100644 => 100755 openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/README.TXT mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/example_trace.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/handover.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/handover_1ue.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/mobility_2ues.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/mobility_3ues.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/regular.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/static_1enb.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/static_2ues.tr mode change 100644 => 100755 openair2/UTIL/OMG/TRACE/zero_speed.tr mode change 100644 => 100755 openair2/UTIL/OMG/common.c mode change 100644 => 100755 openair2/UTIL/OMG/defs.h mode change 100644 => 100755 openair2/UTIL/OMG/grid.c mode change 100644 => 100755 openair2/UTIL/OMG/grid.h mode change 100644 => 100755 openair2/UTIL/OMG/job.c mode change 100644 => 100755 openair2/UTIL/OMG/makefile mode change 100644 => 100755 openair2/UTIL/OMG/makefile_old mode change 100644 => 100755 openair2/UTIL/OMG/makefile_standalone mode change 100644 => 100755 openair2/UTIL/OMG/mobility.txt mode change 100644 => 100755 openair2/UTIL/OMG/mobility_parser.c mode change 100644 => 100755 openair2/UTIL/OMG/mobility_parser.h mode change 100644 => 100755 openair2/UTIL/OMG/omg.c mode change 100644 => 100755 openair2/UTIL/OMG/omg.h mode change 100644 => 100755 openair2/UTIL/OMG/omg_constants.h mode change 100644 => 100755 openair2/UTIL/OMG/omg_hashtable.c mode change 100644 => 100755 openair2/UTIL/OMG/omg_hashtable.h mode change 100644 => 100755 openair2/UTIL/OMG/omg_vars.h mode change 100644 => 100755 openair2/UTIL/OMG/rwalk.c mode change 100644 => 100755 openair2/UTIL/OMG/rwalk.h mode change 100644 => 100755 openair2/UTIL/OMG/rwp.c mode change 100644 => 100755 openair2/UTIL/OMG/rwp.h mode change 100644 => 100755 openair2/UTIL/OMG/static.c mode change 100644 => 100755 openair2/UTIL/OMG/static.h mode change 100644 => 100755 openair2/UTIL/OMG/steadystaterwp.c mode change 100644 => 100755 openair2/UTIL/OMG/steadystaterwp.h mode change 100644 => 100755 openair2/UTIL/OMG/trace.c mode change 100644 => 100755 openair2/UTIL/OMG/trace.h mode change 100644 => 100755 openair2/UTIL/OMG/trace_hashtable.c mode change 100644 => 100755 openair2/UTIL/OMG/trace_hashtable.h mode change 100644 => 100755 openair2/UTIL/OMV/README.txt mode change 100644 => 100755 openair2/UTIL/OMV/blue.png mode change 100644 => 100755 openair2/UTIL/OMV/communicationthread.cpp mode change 100644 => 100755 openair2/UTIL/OMV/communicationthread.h mode change 100644 => 100755 openair2/UTIL/OMV/green.png mode change 100644 => 100755 openair2/UTIL/OMV/jpg.jpeg mode change 100644 => 100755 openair2/UTIL/OMV/mus.png mode change 100644 => 100755 openair2/UTIL/OMV/mywindow.cpp mode change 100644 => 100755 openair2/UTIL/OMV/mywindow.h mode change 100644 => 100755 openair2/UTIL/OMV/new.jpg mode change 100644 => 100755 openair2/UTIL/OMV/new2.jpg mode change 100644 => 100755 openair2/UTIL/OMV/omv.cpp mode change 100644 => 100755 openair2/UTIL/OMV/openglwidget.cpp mode change 100644 => 100755 openair2/UTIL/OMV/openglwidget.h mode change 100644 => 100755 openair2/UTIL/OMV/red.png mode change 100644 => 100755 openair2/UTIL/OMV/structures.h mode change 100644 => 100755 openair2/UTIL/OMV/white.png mode change 100644 => 100755 openair2/UTIL/OMV/wow.png mode change 100644 => 100755 openair2/UTIL/OPT/README.txt mode change 100644 => 100755 openair2/UTIL/OPT/mac_pcap.h mode change 100644 => 100755 openair2/UTIL/OPT/opt.h mode change 100644 => 100755 openair2/UTIL/OPT/packet-mac-lte.h mode change 100644 => 100755 openair2/UTIL/OPT/probe.c mode change 100644 => 100755 openair2/UTIL/OPT/vars.h mode change 100644 => 100755 openair2/UTIL/OSA/README mode change 100644 => 100755 openair2/UTIL/OSA/osa_defs.h mode change 100644 => 100755 openair2/UTIL/OSA/osa_internal.h mode change 100644 => 100755 openair2/UTIL/OSA/osa_key_deriver.c mode change 100644 => 100755 openair2/UTIL/OSA/osa_rijndael.c mode change 100644 => 100755 openair2/UTIL/OSA/osa_rijndael.h mode change 100644 => 100755 openair2/UTIL/OSA/osa_snow3g.c mode change 100644 => 100755 openair2/UTIL/OSA/osa_snow3g.h mode change 100644 => 100755 openair2/UTIL/OSA/osa_stream_eea.c mode change 100644 => 100755 openair2/UTIL/OSA/osa_stream_eia.c mode change 100644 => 100755 openair2/UTIL/OSD/OCG.pid mode change 100644 => 100755 openair2/UTIL/OSD/OpenAirEmu.conf mode change 100644 => 100755 openair2/UTIL/OSD/Platform_is_running.php mode change 100644 => 100755 openair2/UTIL/OSD/README.txt mode change 100644 => 100755 openair2/UTIL/OSD/css/blueprint.css mode change 100644 => 100755 openair2/UTIL/OSD/css/fix-ie-rtl.css mode change 100644 => 100755 openair2/UTIL/OSD/css/fix-ie.css mode change 100644 => 100755 openair2/UTIL/OSD/css/ie.css mode change 100644 => 100755 openair2/UTIL/OSD/css/ie6.css mode change 100644 => 100755 openair2/UTIL/OSD/css/images/false.png mode change 100644 => 100755 openair2/UTIL/OSD/css/images/false2.png mode change 100644 => 100755 openair2/UTIL/OSD/css/images/lquote.png mode change 100644 => 100755 openair2/UTIL/OSD/css/images/true.png mode change 100644 => 100755 openair2/UTIL/OSD/css/images/warning.png mode change 100644 => 100755 openair2/UTIL/OSD/css/print.css mode change 100644 => 100755 openair2/UTIL/OSD/css/screen.css mode change 100644 => 100755 openair2/UTIL/OSD/css/style.css mode change 100644 => 100755 openair2/UTIL/OSD/form.php mode change 100644 => 100755 openair2/UTIL/OSD/header.php mode change 100644 => 100755 openair2/UTIL/OSD/httpd-result.conf mode change 100644 => 100755 openair2/UTIL/OSD/index.php mode change 100644 => 100755 openair2/UTIL/OSD/jquery/jquery.js mode change 100644 => 100755 openair2/UTIL/OSD/recep.php mode change 100644 => 100755 openair2/UTIL/OSD/toto.php mode change 100644 => 100755 openair2/UTIL/OTG/Doxyfile mode change 100644 => 100755 openair2/UTIL/OTG/help_OTGplot.txt mode change 100644 => 100755 openair2/UTIL/OTG/main.c mode change 100644 => 100755 openair2/UTIL/OTG/makefile mode change 100644 => 100755 openair2/UTIL/OTG/otg.c mode change 100644 => 100755 openair2/UTIL/OTG/otg.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_config.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_defs.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_externs.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_form.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_form.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_kpi.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_kpi.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_models.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_models.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_rx.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_rx.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_rx_socket.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_rx_socket.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_tx.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_tx.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_tx_socket.c mode change 100644 => 100755 openair2/UTIL/OTG/otg_tx_socket.h mode change 100644 => 100755 openair2/UTIL/OTG/otg_vars.h mode change 100644 => 100755 openair2/UTIL/OTG/traffic_config.h mode change 100644 => 100755 openair2/UTIL/TIMER/umts_timer.c mode change 100644 => 100755 openair2/UTIL/TIMER/umts_timer.h mode change 100644 => 100755 openair2/UTIL/TIMER/umts_timer_proto_extern.h mode change 100644 => 100755 openair2/UTIL/TIMER/umts_timer_struct.h mode change 100644 => 100755 openair2/UTIL/TRACE/fifo_printf.c mode change 100644 => 100755 openair2/UTIL/TRACE/fifo_printf.h mode change 100644 => 100755 openair2/UTIL/TRACE/fifo_printf_proto_extern.h mode change 100644 => 100755 openair2/UTIL/TRACE/print.h mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/Makefile.inc mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn mode change 100644 => 100755 openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py mode change 100644 => 100755 openair2/X2AP/x2ap.c mode change 100644 => 100755 openair2/X2AP/x2ap.h mode change 100644 => 100755 openair2/X2AP/x2ap_common.c mode change 100644 => 100755 openair2/X2AP/x2ap_common.h mode change 100644 => 100755 openair3/COMMON/as_message.h mode change 100644 => 100755 openair3/COMMON/common_types.h mode change 100644 => 100755 openair3/COMMON/gtpv1_u_messages_def.h mode change 100644 => 100755 openair3/COMMON/gtpv1_u_messages_types.h mode change 100644 => 100755 openair3/COMMON/intertask_interface_conf.h mode change 100644 => 100755 openair3/COMMON/messages_def.h mode change 100644 => 100755 openair3/COMMON/messages_types.h mode change 100644 => 100755 openair3/COMMON/nas_messages_def.h mode change 100644 => 100755 openair3/COMMON/nas_messages_types.h mode change 100644 => 100755 openair3/COMMON/s1ap_messages_def.h mode change 100644 => 100755 openair3/COMMON/s1ap_messages_types.h mode change 100644 => 100755 openair3/COMMON/sctp_messages_def.h mode change 100644 => 100755 openair3/COMMON/sctp_messages_types.h mode change 100644 => 100755 openair3/COMMON/security_types.h mode change 100644 => 100755 openair3/COMMON/tasks_def.h mode change 100644 => 100755 openair3/COMMON/udp_messages_def.h mode change 100644 => 100755 openair3/COMMON/udp_messages_types.h mode change 100644 => 100755 openair3/DOCS/DOXYGEN/Doxyfile.in mode change 100644 => 100755 openair3/DOCS/DOXYGEN/Makefile.am mode change 100644 => 100755 openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf mode change 100644 => 100755 openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex mode change 100644 => 100755 openair3/DOCS/Latex/EPC/EPC.pdf mode change 100644 => 100755 openair3/DOCS/Latex/EPC/EPC.tex mode change 100644 => 100755 openair3/DOCS/Latex/EPC/Makefile mode change 100644 => 100755 openair3/DOCS/Makefile.am mode change 100644 => 100755 openair3/GTPV1-U/Makefile.am mode change 100644 => 100755 openair3/GTPV1-U/Makefile.eNB mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u.h mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u_eNB.c mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u_eNB_defs.h mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u_eNB_task.h mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u_sgw_defs.h mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u_task.c mode change 100644 => 100755 openair3/GTPV1-U/gtpv1u_teid_pool.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/AUTHORS mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/COPYING mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/ChangeLog mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/NEWS mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/README mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h mode change 100644 => 100755 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/Makefile mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/as_message.c mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/as_message.h mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/l2_message.h mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/nas_message.c mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/nas_message.h mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/network_api.c mode change 100644 => 100755 openair3/NAS/COMMON/API/NETWORK/network_api.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachComplete.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachComplete.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachReject.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachReject.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AttachRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/DetachAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/DetachAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/DetachRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/DetachRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/EmmInformation.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/EmmInformation.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/EmmStatus.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/EmmStatus.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/Makefile mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/ServiceReject.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/ServiceReject.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/emm_cause.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/emm_msg.c mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/emm_msg.h mode change 100644 => 100755 openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/EsmStatus.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/EsmStatus.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/Makefile mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/esm_cause.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/esm_msg.c mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/esm_msg.h mode change 100644 => 100755 openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AccessPointName.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AccessPointName.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AdditionalUpdateResult.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AdditionalUpdateResult.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AdditionalUpdateType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AdditionalUpdateType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationParameterRand.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationParameterRand.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/Cli.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/Cli.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/CsfbResponse.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/CsfbResponse.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/DaylightSavingTime.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/DaylightSavingTime.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/DetachType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/DetachType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/DrxParameter.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/DrxParameter.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EmergencyNumberList.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EmergencyNumberList.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EmmCause.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EmmCause.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsAttachResult.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsAttachResult.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsAttachType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsAttachType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsBearerContextStatus.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsBearerContextStatus.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsBearerIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsBearerIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsMobileIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsMobileIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsQualityOfService.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsQualityOfService.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsUpdateResult.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsUpdateResult.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsUpdateType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EpsUpdateType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EsmCause.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EsmCause.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/EsmMessageContainer.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/EsmMessageContainer.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/GprsTimer.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/GprsTimer.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/GutiType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/GutiType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/IdentityType2.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/IdentityType2.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ImeisvRequest.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ImeisvRequest.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/LcsClientIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/LcsClientIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/LcsIndicator.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/LcsIndicator.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/LocationAreaIdentification.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/LocationAreaIdentification.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/Makefile mode change 100644 => 100755 openair3/NAS/COMMON/IES/MessageType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/MessageType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/MobileIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/MobileIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/MobileStationClassmark2.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/MobileStationClassmark2.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/MobileStationClassmark3.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/MobileStationClassmark3.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/MsNetworkCapability.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/MsNetworkCapability.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasKeySetIdentifier.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasKeySetIdentifier.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasMessageContainer.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasMessageContainer.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasRequestType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasRequestType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/NetworkName.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/NetworkName.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/Nonce.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/Nonce.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/PTmsiSignature.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/PTmsiSignature.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/PacketFlowIdentifier.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/PacketFlowIdentifier.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/PagingIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/PagingIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/PdnAddress.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/PdnAddress.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/PdnType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/PdnType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/PlmnList.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/PlmnList.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ProtocolDiscriminator.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ProtocolDiscriminator.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/QualityOfService.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/QualityOfService.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/RadioPriority.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/RadioPriority.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/SecurityHeaderType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/SecurityHeaderType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ServiceType.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ServiceType.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/ShortMac.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/ShortMac.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/SsCode.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/SsCode.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/SupportedCodecList.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/SupportedCodecList.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TimeZone.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TimeZone.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TimeZoneAndTime.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TimeZoneAndTime.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TmsiStatus.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TmsiStatus.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrackingAreaIdentity.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrackingAreaIdentity.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrafficFlowTemplate.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TrafficFlowTemplate.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/TransactionIdentifier.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/TransactionIdentifier.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/UeNetworkCapability.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/UeNetworkCapability.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/UeSecurityCapability.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/UeSecurityCapability.h mode change 100644 => 100755 openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c mode change 100644 => 100755 openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/Makefile mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/OctetString.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/OctetString.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/TLVDecoder.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/TLVDecoder.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/TLVEncoder.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/TLVEncoder.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/device.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/device.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/memory.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/memory.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/nas_log.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/nas_log.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/nas_timer.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/nas_timer.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/parser.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/parser.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/socket.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/socket.h mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/stty.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/tst/Makefile mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/tst/timer.c mode change 100644 => 100755 openair3/NAS/COMMON/UTIL/tst/timer_debug.txt mode change 100644 => 100755 openair3/NAS/COMMON/commonDef.h mode change 100644 => 100755 openair3/NAS/COMMON/networkDef.h mode change 100644 => 100755 openair3/NAS/COMMON/securityDef.h mode change 100644 => 100755 openair3/NAS/COMMON/userDef.h mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/Makefile mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_data.c mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_data.h mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_process.c mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_process.h mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/nas_data.c mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/nas_data.h mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/nas_process.c mode change 100644 => 100755 openair3/NAS/TEST/AS_SIMULATOR/nas_process.h mode change 100644 => 100755 openair3/NAS/TEST/MSC/ActivatePDN.png mode change 100644 => 100755 openair3/NAS/TEST/MSC/AuthenticationReject.png mode change 100644 => 100755 openair3/NAS/TEST/MSC/DeactivatePDN.png mode change 100644 => 100755 openair3/NAS/TEST/MSC/InitialAttach.png mode change 100644 => 100755 openair3/NAS/TEST/MSC/InitialAttachReject.png mode change 100644 => 100755 openair3/NAS/TEST/MSC/NomalDetach.png mode change 100644 => 100755 openair3/NAS/TEST/MSC/README mode change 100644 => 100755 openair3/NAS/TEST/MSC/SwitchOffDetach.png mode change 100644 => 100755 openair3/NAS/TEST/NETWORK/Makefile mode change 100644 => 100755 openair3/NAS/TEST/NETWORK/README mode change 100644 => 100755 openair3/NAS/TEST/NETWORK/network_parser.c mode change 100644 => 100755 openair3/NAS/TEST/NETWORK/network_parser.h mode change 100644 => 100755 openair3/NAS/TEST/NETWORK/network_simulator.c mode change 100644 => 100755 openair3/NAS/TEST/USER/Makefile mode change 100644 => 100755 openair3/NAS/TEST/USER/user_parser.c mode change 100644 => 100755 openair3/NAS/TEST/USER/user_parser.h mode change 100644 => 100755 openair3/NAS/TEST/USER/user_simulator.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf2uedata.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf2uedata.h mode change 100644 => 100755 openair3/NAS/TOOLS/conf_emm.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf_emm.h mode change 100644 => 100755 openair3/NAS/TOOLS/conf_network.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf_network.h mode change 100644 => 100755 openair3/NAS/TOOLS/conf_parser.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf_parser.h mode change 100644 => 100755 openair3/NAS/TOOLS/conf_user_data.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf_user_data.h mode change 100644 => 100755 openair3/NAS/TOOLS/conf_user_plmn.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf_user_plmn.h mode change 100644 => 100755 openair3/NAS/TOOLS/conf_usim.c mode change 100644 => 100755 openair3/NAS/TOOLS/conf_usim.h mode change 100644 => 100755 openair3/NAS/TOOLS/display.c mode change 100644 => 100755 openair3/NAS/TOOLS/display.h mode change 100644 => 100755 openair3/NAS/TOOLS/fs.c mode change 100644 => 100755 openair3/NAS/TOOLS/fs.h mode change 100644 => 100755 openair3/NAS/TOOLS/network.h mode change 100644 => 100755 openair3/NAS/TOOLS/nvram.c mode change 100644 => 100755 openair3/NAS/TOOLS/ue_bcom_test.conf mode change 100644 => 100755 openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf mode change 100644 => 100755 openair3/NAS/TOOLS/ue_tcl_test.conf mode change 100644 => 100755 openair3/NAS/TOOLS/usim.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/at_command.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/at_command.h mode change 100644 => 100755 openair3/NAS/UE/API/USER/at_error.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/at_error.h mode change 100644 => 100755 openair3/NAS/UE/API/USER/at_response.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/at_response.h mode change 100644 => 100755 openair3/NAS/UE/API/USER/tst/at_parser.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/tst/at_parser.in mode change 100644 => 100755 openair3/NAS/UE/API/USER/tst/at_parser.in.bis mode change 100644 => 100755 openair3/NAS/UE/API/USER/tst/at_parser.out mode change 100644 => 100755 openair3/NAS/UE/API/USER/tst/at_parser.out.bis mode change 100644 => 100755 openair3/NAS/UE/API/USER/tst/smartcom.txt mode change 100644 => 100755 openair3/NAS/UE/API/USER/user_api.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/user_api.h mode change 100644 => 100755 openair3/NAS/UE/API/USER/user_api_defs.h mode change 100644 => 100755 openair3/NAS/UE/API/USER/user_indication.c mode change 100644 => 100755 openair3/NAS/UE/API/USER/user_indication.h mode change 100644 => 100755 openair3/NAS/UE/API/USIM/aka_functions.c mode change 100644 => 100755 openair3/NAS/UE/API/USIM/aka_functions.h mode change 100644 => 100755 openair3/NAS/UE/API/USIM/usim_api.c mode change 100644 => 100755 openair3/NAS/UE/API/USIM/usim_api.h mode change 100644 => 100755 openair3/NAS/UE/EMM/Attach.c mode change 100644 => 100755 openair3/NAS/UE/EMM/Authentication.c mode change 100644 => 100755 openair3/NAS/UE/EMM/Authentication.h mode change 100644 => 100755 openair3/NAS/UE/EMM/Detach.c mode change 100644 => 100755 openair3/NAS/UE/EMM/EmmStatusHdl.c mode change 100644 => 100755 openair3/NAS/UE/EMM/Identification.c mode change 100644 => 100755 openair3/NAS/UE/EMM/IdleMode.c mode change 100644 => 100755 openair3/NAS/UE/EMM/IdleMode.h mode change 100644 => 100755 openair3/NAS/UE/EMM/IdleMode_defs.h mode change 100644 => 100755 openair3/NAS/UE/EMM/LowerLayer.c mode change 100644 => 100755 openair3/NAS/UE/EMM/LowerLayer.h mode change 100644 => 100755 openair3/NAS/UE/EMM/LowerLayer_defs.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregistered.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmNull.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegistered.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_as.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_as.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_asDef.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_esm.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_esm.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_esmDef.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_fsm.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_fsm.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_recv.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_recv.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_reg.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_reg.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_regDef.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_sap.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_sap.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_send.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SAP/emm_send.h mode change 100644 => 100755 openair3/NAS/UE/EMM/SecurityModeControl.c mode change 100644 => 100755 openair3/NAS/UE/EMM/SecurityModeControl.h mode change 100644 => 100755 openair3/NAS/UE/EMM/ServiceRequestHdl.c mode change 100644 => 100755 openair3/NAS/UE/EMM/TrackingAreaUpdate.c mode change 100644 => 100755 openair3/NAS/UE/EMM/emmData.h mode change 100644 => 100755 openair3/NAS/UE/EMM/emm_fsm_defs.h mode change 100644 => 100755 openair3/NAS/UE/EMM/emm_main.c mode change 100644 => 100755 openair3/NAS/UE/EMM/emm_main.h mode change 100644 => 100755 openair3/NAS/UE/EMM/emm_proc.h mode change 100644 => 100755 openair3/NAS/UE/EMM/emm_proc_defs.h mode change 100644 => 100755 openair3/NAS/UE/EMM/emm_timers.h mode change 100644 => 100755 openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c mode change 100644 => 100755 openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c mode change 100644 => 100755 openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c mode change 100644 => 100755 openair3/NAS/UE/ESM/EsmStatusHdl.c mode change 100644 => 100755 openair3/NAS/UE/ESM/PdnConnectivity.c mode change 100644 => 100755 openair3/NAS/UE/ESM/PdnDisconnect.c mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_recv.c mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_recv.h mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_sap.c mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_sap.h mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_sapDef.h mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_send.c mode change 100644 => 100755 openair3/NAS/UE/ESM/SAP/esm_send.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esmData.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_ebr.c mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_ebr.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_ebr_context.c mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_ebr_context.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_ip.c mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_main.c mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_main.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_proc.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_pt.c mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_pt.h mode change 100644 => 100755 openair3/NAS/UE/ESM/esm_pt_defs.h mode change 100644 => 100755 openair3/NAS/UE/UEprocess.c mode change 100644 => 100755 openair3/NAS/UE/nas_itti_messaging.c mode change 100644 => 100755 openair3/NAS/UE/nas_itti_messaging.h mode change 100644 => 100755 openair3/NAS/UE/nas_network.c mode change 100644 => 100755 openair3/NAS/UE/nas_network.h mode change 100644 => 100755 openair3/NAS/UE/nas_parser.c mode change 100644 => 100755 openair3/NAS/UE/nas_parser.h mode change 100644 => 100755 openair3/NAS/UE/nas_proc.c mode change 100644 => 100755 openair3/NAS/UE/nas_proc.h mode change 100644 => 100755 openair3/NAS/UE/nas_proc_defs.h mode change 100644 => 100755 openair3/NAS/UE/nas_ue_task.c mode change 100644 => 100755 openair3/NAS/UE/nas_ue_task.h mode change 100644 => 100755 openair3/NAS/UE/nas_user.c mode change 100644 => 100755 openair3/NAS/UE/nas_user.h mode change 100644 => 100755 openair3/NAS/UE/user_defs.h mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/README mode change 100644 => 100755 openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py mode change 100644 => 100755 openair3/S1AP/s1ap_common.c mode change 100644 => 100755 openair3/S1AP/s1ap_common.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_context_management_procedures.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_context_management_procedures.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_decoder.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_decoder.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_default_values.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_defs.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_encoder.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_encoder.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_handlers.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_handlers.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_itti_messaging.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_itti_messaging.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_management_procedures.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_management_procedures.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_nas_procedures.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_nas_procedures.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_nnsf.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_nnsf.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_overload.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_overload.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_trace.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_trace.h mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_ue_context.c mode change 100644 => 100755 openair3/S1AP/s1ap_eNB_ue_context.h mode change 100644 => 100755 openair3/SCTP/sctp_common.c mode change 100644 => 100755 openair3/SCTP/sctp_common.h mode change 100644 => 100755 openair3/SCTP/sctp_default_values.h mode change 100644 => 100755 openair3/SCTP/sctp_eNB_defs.h mode change 100644 => 100755 openair3/SCTP/sctp_eNB_itti_messaging.c mode change 100644 => 100755 openair3/SCTP/sctp_eNB_itti_messaging.h mode change 100644 => 100755 openair3/SCTP/sctp_eNB_task.c mode change 100644 => 100755 openair3/SCTP/sctp_eNB_task.h mode change 100644 => 100755 openair3/SCTP/sctp_primitives_client.c mode change 100644 => 100755 openair3/SCTP/sctp_primitives_client.h mode change 100644 => 100755 openair3/SECU/kdf.c mode change 100644 => 100755 openair3/SECU/key_nas_deriver.c mode change 100644 => 100755 openair3/SECU/key_nas_encryption.c mode change 100644 => 100755 openair3/SECU/nas_stream_eea1.c mode change 100644 => 100755 openair3/SECU/nas_stream_eea2.c mode change 100644 => 100755 openair3/SECU/nas_stream_eia1.c mode change 100644 => 100755 openair3/SECU/nas_stream_eia2.c mode change 100644 => 100755 openair3/SECU/rijndael.c mode change 100644 => 100755 openair3/SECU/rijndael.h mode change 100644 => 100755 openair3/SECU/secu_defs.h mode change 100644 => 100755 openair3/SECU/snow3g.c mode change 100644 => 100755 openair3/SECU/snow3g.h mode change 100644 => 100755 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml mode change 100644 => 100755 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf mode change 100644 => 100755 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml mode change 100644 => 100755 openair3/TEST/EPC_TEST/generate_scenario.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/generate_scenario.h mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario.h mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_decode.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_display.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_fsm.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_parse.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_s1ap.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h mode change 100644 => 100755 openair3/TEST/EPC_TEST/play_scenario_sctp.c mode change 100644 => 100755 openair3/TEST/Makefile.am mode change 100644 => 100755 openair3/TEST/oaisim_mme_client_test.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_itti_test.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_list_benchmark.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_s1ap_test.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_sctp_test.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c.h mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c_s1ap.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c_s1ap.h mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c_scenario.c mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c_scenario.h mode change 100644 => 100755 openair3/TEST/oaisim_mme_test_s1c_scenario1.c mode change 100644 => 100755 openair3/TEST/test_aes128_cmac_encrypt.c mode change 100644 => 100755 openair3/TEST/test_aes128_ctr_decrypt.c mode change 100644 => 100755 openair3/TEST/test_aes128_ctr_encrypt.c mode change 100644 => 100755 openair3/TEST/test_kdf.c mode change 100644 => 100755 openair3/TEST/test_s1ap.c mode change 100644 => 100755 openair3/TEST/test_secu.c mode change 100644 => 100755 openair3/TEST/test_secu_kenb.c mode change 100644 => 100755 openair3/TEST/test_secu_knas.c mode change 100644 => 100755 openair3/TEST/test_secu_knas_encrypt_eea1.c mode change 100644 => 100755 openair3/TEST/test_secu_knas_encrypt_eea2.c mode change 100644 => 100755 openair3/TEST/test_secu_knas_encrypt_eia1.c mode change 100644 => 100755 openair3/TEST/test_secu_knas_encrypt_eia2.c mode change 100644 => 100755 openair3/TEST/test_secu_knas_stream_int.c mode change 100644 => 100755 openair3/UDP/udp_eNB_task.c mode change 100644 => 100755 openair3/UDP/udp_eNB_task.h mode change 100644 => 100755 openair3/UTILS/CONF/COPYING mode change 100644 => 100755 openair3/UTILS/Makefile.am mode change 100644 => 100755 openair3/UTILS/conversions.c mode change 100644 => 100755 openair3/UTILS/conversions.h mode change 100644 => 100755 openair3/UTILS/enum_string.c mode change 100644 => 100755 openair3/UTILS/enum_string.h mode change 100644 => 100755 openair3/UTILS/log.c mode change 100644 => 100755 openair3/UTILS/log.h mode change 100644 => 100755 openair3/UTILS/mcc_mnc_itu.c mode change 100644 => 100755 openair3/UTILS/mcc_mnc_itu.h mode change 100644 => 100755 openair3/UTILS/mme_config.c mode change 100644 => 100755 openair3/UTILS/mme_config.h mode change 100644 => 100755 openair3/UTILS/mme_default_values.h mode change 100644 => 100755 openair3/UTILS/mme_parser.y mode change 100644 => 100755 openair3/UTILS/mme_scanner.l mode change 100644 => 100755 openair3/UTILS/queue.h mode change 100644 => 100755 openair3/UTILS/tree.h mode change 100644 => 100755 openair3/valgrind.sh mode change 100644 => 100755 pre-commit mode change 100644 => 100755 svn2git/README.txt mode change 100644 => 100755 svn2git/authors.txt mode change 100644 => 100755 svn2git/authors_original.txt mode change 100644 => 100755 svn2git/authors_original_java_output.txt mode change 100644 => 100755 svn2git/git-author-rewrite.sh mode change 100644 => 100755 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c mode change 100644 => 100755 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h mode change 100644 => 100755 targets/ARCH/COMMON/common_lib.c mode change 100644 => 100755 targets/ARCH/COMMON/common_lib.h mode change 100644 => 100755 targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc mode change 100644 => 100755 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c mode change 100644 => 100755 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c mode change 100644 => 100755 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c mode change 100644 => 100755 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h mode change 100644 => 100755 targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd mode change 100644 => 100755 targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd mode change 100644 => 100755 targets/ARCH/EXMIMO/DEFS/openair_device.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DEFS/pcie_interface.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/readme.txt mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/Makefile mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c mode change 100644 => 100755 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/LIB/example.c mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m mode change 100644 => 100755 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m mode change 100644 => 100755 targets/ARCH/LMSSDR/LimeSDR.ini mode change 100644 => 100755 targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp mode change 100644 => 100755 targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp mode change 100644 => 100755 targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc mode change 100644 => 100755 targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp mode change 100644 => 100755 targets/COMMON/Makefile.inc mode change 100644 => 100755 targets/COMMON/create_tasks.c mode change 100644 => 100755 targets/COMMON/create_tasks.h mode change 100644 => 100755 targets/COMMON/openairinterface5g_limits.h mode change 100644 => 100755 targets/COMMON/threads_t.h mode change 100644 => 100755 targets/DOCS/Doxyfile mode change 100644 => 100755 targets/DOCS/api_icic.xml mode change 100644 => 100755 targets/DOCS/images/oai_logo.png mode change 100644 => 100755 targets/DOCS/oaiemu.doc mode change 100644 => 100755 targets/DOCS/oaisim_walkthrough.pdf mode change 100644 => 100755 targets/DOCS/path_loss_oaisim.xlsx mode change 100644 => 100755 targets/Makefile mode change 100644 => 100755 targets/Makefile.common mode change 100644 => 100755 targets/Makerules mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/filesave0811.mat mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/generation.m mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/initial_sync.m mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/initparams.m mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/plots.m mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/recup.m mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/where2.m mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/where2_v1_final.mat mode change 100644 => 100755 targets/PROJECTS/LOCALIZATION/where2_vf.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_ch_est.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_ofdm_mod.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_ofdm_rx.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_ofdm_tx.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_tls_ap.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_tls_diag.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/f_tls_svd.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/s_beamforming.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/s_calib.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/s_draw_F.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/s_init_params.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/s_run_meas.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/alterproj.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/beamforming.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/calibration.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/genorthqpskseq.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/genrandpskseq.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/initparams.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/initparams2.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/ofdm_mod.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/readme.txt mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/runmeas_mimo.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m mode change 100644 => 100755 targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m mode change 100644 => 100755 targets/README.txt mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/load_module.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/nas_enb.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/nas_ue.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_emos.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_rf.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_ue.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/start_ue2.sh mode change 100644 => 100755 targets/RT/LAUNCH_SCRIPTS/stop_rf.sh mode change 100644 => 100755 targets/RT/Makefile mode change 100644 => 100755 targets/RT/USER/.runinfo mode change 100644 => 100755 targets/RT/USER/.ue.nvram mode change 100644 => 100755 targets/RT/USER/.ue_emm.nvram mode change 100644 => 100755 targets/RT/USER/.usim.nvram mode change 100644 => 100755 targets/RT/USER/Makefile mode change 100644 => 100755 targets/RT/USER/Makefile.agilent mode change 100644 => 100755 targets/RT/USER/Makefile.msg_many mode change 100644 => 100755 targets/RT/USER/TOOLS/thread_ipc.c mode change 100644 => 100755 targets/RT/USER/TOOLS/thread_ipc.h mode change 100644 => 100755 targets/RT/USER/UE_transport_IQ.c mode change 100644 => 100755 targets/RT/USER/condtest.c mode change 100644 => 100755 targets/RT/USER/eNB_exmimo2.gtkw mode change 100644 => 100755 targets/RT/USER/eNB_transport_IQ.c mode change 100644 => 100755 targets/RT/USER/eNB_usrp.gtkw mode change 100644 => 100755 targets/RT/USER/emos-raw.c mode change 100644 => 100755 targets/RT/USER/exmimo2_2arxg.lime mode change 100644 => 100755 targets/RT/USER/exmimo2_2brxg.lime mode change 100644 => 100755 targets/RT/USER/init_b200.sh mode change 100644 => 100755 targets/RT/USER/init_exmimo.sh mode change 100644 => 100755 targets/RT/USER/init_exmimo2.sh mode change 100644 => 100755 targets/RT/USER/lte-enb.c mode change 100644 => 100755 targets/RT/USER/lte-ran.c mode change 100644 => 100755 targets/RT/USER/lte-ru.c mode change 100644 => 100755 targets/RT/USER/lte-softmodem.c mode change 100644 => 100755 targets/RT/USER/lte-softmodem.h mode change 100644 => 100755 targets/RT/USER/lte-ue.c mode change 100644 => 100755 targets/RT/USER/msg_helper.c mode change 100644 => 100755 targets/RT/USER/msg_many.c mode change 100644 => 100755 targets/RT/USER/msg_many.h mode change 100644 => 100755 targets/RT/USER/rau_if4_single_thread.gtkw mode change 100644 => 100755 targets/RT/USER/rcc_if4.gtkw mode change 100644 => 100755 targets/RT/USER/rcc_if5.gtkw mode change 100644 => 100755 targets/RT/USER/rrh.c mode change 100644 => 100755 targets/RT/USER/rrh.gtkw mode change 100644 => 100755 targets/RT/USER/rrh_gw.c mode change 100644 => 100755 targets/RT/USER/rrh_gw.h mode change 100644 => 100755 targets/RT/USER/rrh_gw_externs.h mode change 100644 => 100755 targets/RT/USER/rru_if4p5_single_thread.gtkw mode change 100644 => 100755 targets/RT/USER/rru_if4p5_usrp.gtkw mode change 100644 => 100755 targets/RT/USER/rru_if5_usrp.gtkw mode change 100644 => 100755 targets/RT/USER/rt_wrapper.c mode change 100644 => 100755 targets/RT/USER/rt_wrapper.h mode change 100644 => 100755 targets/RT/USER/sleeptest.c mode change 100644 => 100755 targets/RT/USER/stats.c mode change 100644 => 100755 targets/RT/USER/stats.fd mode change 100644 => 100755 targets/RT/USER/stats.h mode change 100644 => 100755 targets/RT/USER/synctest.c mode change 100644 => 100755 targets/RT/USER/ue_exmimo2.gtkw mode change 100644 => 100755 targets/RT/USER/ue_usrp.gtkw mode change 100644 => 100755 targets/SCRIPTS/install_asn1.sh mode change 100644 => 100755 targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/Makefile mode change 100644 => 100755 targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/Makefile mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/README.txt mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml mode change 100644 => 100755 targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/Makefile mode change 100644 => 100755 targets/SIMU/PROC/Process.c mode change 100644 => 100755 targets/SIMU/PROC/Process.h mode change 100644 => 100755 targets/SIMU/PROC/Tsync.h mode change 100644 => 100755 targets/SIMU/PROC/channel_sim_proc.c mode change 100644 => 100755 targets/SIMU/PROC/channel_sim_proc.h mode change 100644 => 100755 targets/SIMU/PROC/interface.h mode change 100644 => 100755 targets/SIMU/USER/.ue.nvram mode change 100644 => 100755 targets/SIMU/USER/.ue_emm.nvram mode change 100644 => 100755 targets/SIMU/USER/.usim.nvram mode change 100644 => 100755 targets/SIMU/USER/Makefile mode change 100644 => 100755 targets/SIMU/USER/channel_sim.c mode change 100644 => 100755 targets/SIMU/USER/cor_SF_sim.c mode change 100644 => 100755 targets/SIMU/USER/cor_SF_sim.h mode change 100644 => 100755 targets/SIMU/USER/event_handler.c mode change 100644 => 100755 targets/SIMU/USER/event_handler.h mode change 100644 => 100755 targets/SIMU/USER/files/MI_16qam.csv mode change 100644 => 100755 targets/SIMU/USER/files/MI_16qam.txt mode change 100644 => 100755 targets/SIMU/USER/files/MI_4qam.csv mode change 100644 => 100755 targets/SIMU/USER/files/MI_4qam.txt mode change 100644 => 100755 targets/SIMU/USER/files/MI_64qam.csv mode change 100644 => 100755 targets/SIMU/USER/files/MI_64qam.txt mode change 100644 => 100755 targets/SIMU/USER/init_lte.c mode change 100644 => 100755 targets/SIMU/USER/init_lte.h mode change 100644 => 100755 targets/SIMU/USER/oaisim.c mode change 100644 => 100755 targets/SIMU/USER/oaisim.h mode change 100644 => 100755 targets/SIMU/USER/oaisim_config.c mode change 100644 => 100755 targets/SIMU/USER/oaisim_config.h mode change 100644 => 100755 targets/SIMU/USER/oaisim_functions.c mode change 100644 => 100755 targets/SIMU/USER/oaisim_functions.h mode change 100644 => 100755 targets/SIMU/USER/oaisim_pad.c mode change 100644 => 100755 targets/SIMU/USER/phy_procedures_sim_form.c mode change 100644 => 100755 targets/SIMU/USER/phy_procedures_sim_form.fd mode change 100644 => 100755 targets/SIMU/USER/phy_procedures_sim_form.h mode change 100644 => 100755 targets/SIMU/USER/plot_results.m mode change 100644 => 100755 targets/SIMU/USER/sinr_sim.c mode change 100644 => 100755 targets/SIMU/USER/threadpool.c mode change 100644 => 100755 targets/SIMU/USER/threadpool.h mode change 100644 => 100755 targets/TEST/AT_COMMANDS/oaisim.c mode change 100644 => 100755 targets/TEST/OAI/README mode change 100644 => 100755 targets/TEST/OAI/case01.py mode change 100644 => 100755 targets/TEST/OAI/case02.py mode change 100644 => 100755 targets/TEST/OAI/case03.py mode change 100644 => 100755 targets/TEST/OAI/case04.py mode change 100644 => 100755 targets/TEST/OAI/case05.py mode change 100644 => 100755 targets/TEST/OAI/case11.py mode change 100644 => 100755 targets/TEST/OAI/case12.py mode change 100644 => 100755 targets/TEST/OAI/case13.py mode change 100644 => 100755 targets/TEST/OAI/core.py mode change 100644 => 100755 targets/TEST/OAI/log.py mode change 100644 => 100755 targets/TEST/OAI/openair.py mode change 100644 => 100755 targets/TEST/OAI/test01.py mode change 100644 => 100755 targets/TEST/OAI/test02.py mode change 100644 => 100755 targets/TEST/PACKET_TRACER/README.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/Msg4.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/sib1.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/sib2.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/messages/sib3.txt mode change 100644 => 100755 targets/TEST/PACKET_TRACER/pt.c mode change 100644 => 100755 targets/TEST/PDCP/readme.txt mode change 100644 => 100755 targets/TEST/PDCP/test_pdcp.c mode change 100644 => 100755 targets/TEST/PDCP/test_pdcp.h mode change 100644 => 100755 targets/TEST/PDCP/test_util.h mode change 100644 => 100755 targets/TEST/PDCP/todo.txt mode change 100644 => 100755 targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c mode change 100644 => 100755 targets/TEST/RLC_AM_V9.3.0/oaisim.c mode change 100644 => 100755 targets/TEST/RLC_UM_V9.3.0/oaisim.c mode change 100644 => 100755 targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp mode change 100644 => 100755 targets/TEST/ROHDE_SCHWARZ/Makefile mode change 100644 => 100755 targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp mode change 100644 => 100755 targets/TEST/ROHDE_SCHWARZ/TcpClient.h mode change 100644 => 100755 targets/itti_vcd_tasks.sav diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/NOTICE.txt b/NOTICE.txt old mode 100644 new mode 100755 diff --git a/README.txt b/README.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/core.py b/cmake_targets/autotests/core.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/log.py b/cmake_targets/autotests/log.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/templates/index.html b/cmake_targets/autotests/templates/index.html old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/templates/testcase_report.html b/cmake_targets/autotests/templates/testcase_report.html old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/testsuite_ue_noS1.xml b/cmake_targets/autotests/testsuite_ue_noS1.xml old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml b/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/tools/lib_autotest.py b/cmake_targets/autotests/tools/lib_autotest.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/tools/lib_autotest_analyser.py b/cmake_targets/autotests/tools/lib_autotest_analyser.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/tools/wdial.bandrich.conf b/cmake_targets/autotests/tools/wdial.bandrich.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/alu_epc.bash b/cmake_targets/autotests/v2/actions/alu_epc.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/alu_epc_stop.bash b/cmake_targets/autotests/v2/actions/alu_epc_stop.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/alu_hss.bash b/cmake_targets/autotests/v2/actions/alu_hss.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/bandrich.txt b/cmake_targets/autotests/v2/actions/bandrich.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/client_tcp.bash b/cmake_targets/autotests/v2/actions/client_tcp.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/client_udp.bash b/cmake_targets/autotests/v2/actions/client_udp.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/clone_repository.bash b/cmake_targets/autotests/v2/actions/clone_repository.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/compilation.bash b/cmake_targets/autotests/v2/actions/compilation.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/execution.bash b/cmake_targets/autotests/v2/actions/execution.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/execution_compile.bash b/cmake_targets/autotests/v2/actions/execution_compile.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/modem.py b/cmake_targets/autotests/v2/actions/modem.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/run_enb.bash b/cmake_targets/autotests/v2/actions/run_enb.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/server_tcp.bash b/cmake_targets/autotests/v2/actions/server_tcp.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/server_udp.bash b/cmake_targets/autotests/v2/actions/server_udp.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/start_3276.bash b/cmake_targets/autotests/v2/actions/start_3276.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/start_3276.py b/cmake_targets/autotests/v2/actions/start_3276.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.bash b/cmake_targets/autotests/v2/actions/start_bandrich.bash old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.py b/cmake_targets/autotests/v2/actions/start_bandrich.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/stop_3276.py b/cmake_targets/autotests/v2/actions/stop_3276.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/stop_bandrich.py b/cmake_targets/autotests/v2/actions/stop_bandrich.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/wvdial.3276.conf b/cmake_targets/autotests/v2/actions/wvdial.3276.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf b/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/alu_test.py b/cmake_targets/autotests/v2/alu_test.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/connection.py b/cmake_targets/autotests/v2/connection.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/machine_list.py b/cmake_targets/autotests/v2/machine_list.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/main.py b/cmake_targets/autotests/v2/main.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/task.py b/cmake_targets/autotests/v2/task.py old mode 100644 new mode 100755 diff --git a/cmake_targets/autotests/v2/utils.py b/cmake_targets/autotests/v2/utils.py old mode 100644 new mode 100755 diff --git a/cmake_targets/build_ue b/cmake_targets/build_ue old mode 100644 new mode 100755 diff --git a/cmake_targets/doxygen/CMakeLists.txt b/cmake_targets/doxygen/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/epc_test/CMakeLists.template b/cmake_targets/epc_test/CMakeLists.template old mode 100644 new mode 100755 diff --git a/cmake_targets/lte-simulators/CMakeLists.txt b/cmake_targets/lte-simulators/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/lte_noS1_build_oai/CMakeLists.template b/cmake_targets/lte_noS1_build_oai/CMakeLists.template old mode 100644 new mode 100755 diff --git a/cmake_targets/nas_sim_tools/CMakeLists.txt b/cmake_targets/nas_sim_tools/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/oaisim_build_oai/CMakeLists.template b/cmake_targets/oaisim_build_oai/CMakeLists.template old mode 100644 new mode 100755 diff --git a/cmake_targets/oaisim_mme_build_oai/CMakeLists.template b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template old mode 100644 new mode 100755 diff --git a/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template b/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template old mode 100644 new mode 100755 diff --git a/cmake_targets/s1c_mme_test/CMakeLists.template b/cmake_targets/s1c_mme_test/CMakeLists.template old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/Kbuild.cmake b/cmake_targets/tools/Kbuild.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/CMakeParseArguments.cmake b/cmake_targets/tools/MODULES/CMakeParseArguments.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake b/cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/CMakeUserUseBison.cmake b/cmake_targets/tools/MODULES/CMakeUserUseBison.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake b/cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindFreeDiameter.cmake b/cmake_targets/tools/MODULES/FindFreeDiameter.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindGCCXML.cmake b/cmake_targets/tools/MODULES/FindGCCXML.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindGcrypt.cmake b/cmake_targets/tools/MODULES/FindGcrypt.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindGnuTLS.cmake b/cmake_targets/tools/MODULES/FindGnuTLS.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindKbuild.cmake b/cmake_targets/tools/MODULES/FindKbuild.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindLibXml2.cmake b/cmake_targets/tools/MODULES/FindLibXml2.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindMySQL.cmake b/cmake_targets/tools/MODULES/FindMySQL.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindNettle.cmake b/cmake_targets/tools/MODULES/FindNettle.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindPostgreSQL.cmake b/cmake_targets/tools/MODULES/FindPostgreSQL.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/FindSCTP.cmake b/cmake_targets/tools/MODULES/FindSCTP.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/Kbuild.cmake b/cmake_targets/tools/MODULES/Kbuild.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/cmake_useful.cmake b/cmake_targets/tools/MODULES/cmake_useful.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/kbuild_system.cmake b/cmake_targets/tools/MODULES/kbuild_system.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/kmodule.cmake b/cmake_targets/tools/MODULES/kmodule.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/MODULES/path_prefixes.cmake b/cmake_targets/tools/MODULES/path_prefixes.cmake old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/asn1tostruct.py b/cmake_targets/tools/asn1tostruct.py old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/exmimo2_2arxg.lime b/cmake_targets/tools/exmimo2_2arxg.lime old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/exmimo_stop_octave.m b/cmake_targets/tools/exmimo_stop_octave.m old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff b/cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff b/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff b/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/init_nas_s1 b/cmake_targets/tools/init_nas_s1 old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/run_ue_s1 b/cmake_targets/tools/run_ue_s1 old mode 100644 new mode 100755 diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper old mode 100644 new mode 100755 diff --git a/common/ran_context.h b/common/ran_context.h old mode 100644 new mode 100755 diff --git a/common/utils/T/.gitignore b/common/utils/T/.gitignore old mode 100644 new mode 100755 diff --git a/common/utils/T/Makefile b/common/utils/T/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/README b/common/utils/T/README old mode 100644 new mode 100755 diff --git a/common/utils/T/T.c b/common/utils/T/T.c old mode 100644 new mode 100755 diff --git a/common/utils/T/T.h b/common/utils/T/T.h old mode 100644 new mode 100755 diff --git a/common/utils/T/T_defs.h b/common/utils/T/T_defs.h old mode 100644 new mode 100755 diff --git a/common/utils/T/T_messages.txt b/common/utils/T/T_messages.txt old mode 100644 new mode 100755 diff --git a/common/utils/T/defs.h b/common/utils/T/defs.h old mode 100644 new mode 100755 diff --git a/common/utils/T/generate_Txx.c b/common/utils/T/generate_Txx.c old mode 100644 new mode 100755 diff --git a/common/utils/T/genids.c b/common/utils/T/genids.c old mode 100644 new mode 100755 diff --git a/common/utils/T/local_tracer.c b/common/utils/T/local_tracer.c old mode 100644 new mode 100755 diff --git a/common/utils/T/plot.c b/common/utils/T/plot.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracee/Makefile b/common/utils/T/tracee/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracee/README b/common/utils/T/tracee/README old mode 100644 new mode 100755 diff --git a/common/utils/T/tracee/tracee.c b/common/utils/T/tracee/tracee.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/Makefile b/common/utils/T/tracer/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/config.c b/common/utils/T/tracer/config.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/config.h b/common/utils/T/tracer/config.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/database.c b/common/utils/T/tracer/database.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/database.h b/common/utils/T/tracer/database.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/defs.h b/common/utils/T/tracer/defs.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/enb.c b/common/utils/T/tracer/enb.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/event.c b/common/utils/T/tracer/event.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/event.h b/common/utils/T/tracer/event.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/event_selector.c b/common/utils/T/tracer/event_selector.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/event_selector.h b/common/utils/T/tracer/event_selector.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/extract_config.c b/common/utils/T/tracer/extract_config.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/filter/Makefile b/common/utils/T/tracer/filter/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/filter/filter.c b/common/utils/T/tracer/filter/filter.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/filter/filter.h b/common/utils/T/tracer/filter/filter.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui.c b/common/utils/T/tracer/gui.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/Makefile b/common/utils/T/tracer/gui/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/container.c b/common/utils/T/tracer/gui/container.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/event.c b/common/utils/T/tracer/gui/event.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/gui.c b/common/utils/T/tracer/gui/gui.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/gui.h b/common/utils/T/tracer/gui/gui.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/gui_defs.h b/common/utils/T/tracer/gui/gui_defs.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/image.c b/common/utils/T/tracer/gui/image.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/init.c b/common/utils/T/tracer/gui/init.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/label.c b/common/utils/T/tracer/gui/label.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/loop.c b/common/utils/T/tracer/gui/loop.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/notify.c b/common/utils/T/tracer/gui/notify.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/positioner.c b/common/utils/T/tracer/gui/positioner.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/space.c b/common/utils/T/tracer/gui/space.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/test.c b/common/utils/T/tracer/gui/test.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/textarea.c b/common/utils/T/tracer/gui/textarea.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/textlist.c b/common/utils/T/tracer/gui/textlist.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/timeline.c b/common/utils/T/tracer/gui/timeline.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/toplevel_window.c b/common/utils/T/tracer/gui/toplevel_window.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/widget.c b/common/utils/T/tracer/gui/widget.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/x.c b/common/utils/T/tracer/gui/x.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/x.h b/common/utils/T/tracer/gui/x.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/x_defs.h b/common/utils/T/tracer/gui/x_defs.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/gui/xy_plot.c b/common/utils/T/tracer/gui/xy_plot.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/hacks/Makefile b/common/utils/T/tracer/hacks/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/hacks/dump_nack_signal.c b/common/utils/T/tracer/hacks/dump_nack_signal.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/hacks/time_meas.c b/common/utils/T/tracer/hacks/time_meas.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/hacks/timeplot.c b/common/utils/T/tracer/hacks/timeplot.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/handler.c b/common/utils/T/tracer/handler.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/handler.h b/common/utils/T/tracer/handler.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/Makefile b/common/utils/T/tracer/logger/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/framelog.c b/common/utils/T/tracer/logger/framelog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/iqdotlog.c b/common/utils/T/tracer/logger/iqdotlog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/iqlog.c b/common/utils/T/tracer/logger/iqlog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/logger.c b/common/utils/T/tracer/logger/logger.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/logger.h b/common/utils/T/tracer/logger/logger.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/logger_defs.h b/common/utils/T/tracer/logger/logger_defs.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/textlog.c b/common/utils/T/tracer/logger/textlog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/throughputlog.c b/common/utils/T/tracer/logger/throughputlog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/ticked_ttilog.c b/common/utils/T/tracer/logger/ticked_ttilog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/ticklog.c b/common/utils/T/tracer/logger/ticklog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/timelog.c b/common/utils/T/tracer/logger/timelog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/logger/ttilog.c b/common/utils/T/tracer/logger/ttilog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/macpdu2wireshark.c b/common/utils/T/tracer/macpdu2wireshark.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/openair_logo.h b/common/utils/T/tracer/openair_logo.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/openair_logo.png b/common/utils/T/tracer/openair_logo.png old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/packet-mac-lte.h b/common/utils/T/tracer/packet-mac-lte.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/plot.c b/common/utils/T/tracer/plot.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/record.c b/common/utils/T/tracer/record.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/replay.c b/common/utils/T/tracer/replay.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/textlog.c b/common/utils/T/tracer/textlog.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/ue.c b/common/utils/T/tracer/ue.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/utils.c b/common/utils/T/tracer/utils.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/utils.h b/common/utils/T/tracer/utils.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/vcd.c b/common/utils/T/tracer/vcd.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/Makefile b/common/utils/T/tracer/view/Makefile old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/scrolltti.c b/common/utils/T/tracer/view/scrolltti.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/stdout.c b/common/utils/T/tracer/view/stdout.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/textlist.c b/common/utils/T/tracer/view/textlist.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/ticktime.c b/common/utils/T/tracer/view/ticktime.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/time.c b/common/utils/T/tracer/view/time.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/tti.c b/common/utils/T/tracer/view/tti.c old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/view.h b/common/utils/T/tracer/view/view.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/view/xy.c b/common/utils/T/tracer/view/xy.c old mode 100644 new mode 100755 diff --git a/common/utils/asn1_conversions.h b/common/utils/asn1_conversions.h old mode 100644 new mode 100755 diff --git a/common/utils/assertions.h b/common/utils/assertions.h old mode 100644 new mode 100755 diff --git a/common/utils/hashtable/hashtable.c b/common/utils/hashtable/hashtable.c old mode 100644 new mode 100755 diff --git a/common/utils/hashtable/hashtable.h b/common/utils/hashtable/hashtable.h old mode 100644 new mode 100755 diff --git a/common/utils/hashtable/obj_hashtable.c b/common/utils/hashtable/obj_hashtable.c old mode 100644 new mode 100755 diff --git a/common/utils/hashtable/obj_hashtable.h b/common/utils/hashtable/obj_hashtable.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/Makefile.am b/common/utils/itti/Makefile.am old mode 100644 new mode 100755 diff --git a/common/utils/itti/assertions.h b/common/utils/itti/assertions.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/backtrace.c b/common/utils/itti/backtrace.c old mode 100644 new mode 100755 diff --git a/common/utils/itti/backtrace.h b/common/utils/itti/backtrace.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_interface.h b/common/utils/itti/intertask_interface.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_interface_dump.c b/common/utils/itti/intertask_interface_dump.c old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_interface_dump.h b/common/utils/itti/intertask_interface_dump.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_interface_init.h b/common/utils/itti/intertask_interface_init.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_interface_types.h b/common/utils/itti/intertask_interface_types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_messages_def.h b/common/utils/itti/intertask_messages_def.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/intertask_messages_types.h b/common/utils/itti/intertask_messages_types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/itti_types.h b/common/utils/itti/itti_types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/memory_pools.c b/common/utils/itti/memory_pools.c old mode 100644 new mode 100755 diff --git a/common/utils/itti/memory_pools.h b/common/utils/itti/memory_pools.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/messages_def.h b/common/utils/itti/messages_def.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/messages_types.h b/common/utils/itti/messages_types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/signals.c b/common/utils/itti/signals.c old mode 100644 new mode 100755 diff --git a/common/utils/itti/signals.h b/common/utils/itti/signals.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/tasks_def.h b/common/utils/itti/tasks_def.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/timer.c b/common/utils/itti/timer.c old mode 100644 new mode 100755 diff --git a/common/utils/itti/timer.h b/common/utils/itti/timer.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/timer_messages_def.h b/common/utils/itti/timer_messages_def.h old mode 100644 new mode 100755 diff --git a/common/utils/itti/timer_messages_types.h b/common/utils/itti/timer_messages_types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/AUTHORS b/common/utils/itti_analyzer/AUTHORS old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/ChangeLog b/common/utils/itti_analyzer/ChangeLog old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/INSTALL b/common/utils/itti_analyzer/INSTALL old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/Makefile.am b/common/utils/itti_analyzer/Makefile.am old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/NEWS b/common/utils/itti_analyzer/NEWS old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/README b/common/utils/itti_analyzer/README old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/common/itti_types.h b/common/utils/itti_analyzer/common/itti_types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/common/logs.h b/common/utils/itti_analyzer/common/logs.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/common/queue.h b/common/utils/itti_analyzer/common/queue.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/common/rc.h b/common/utils/itti_analyzer/common/rc.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/configure.ac b/common/utils/itti_analyzer/configure.ac old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/filters.xml b/common/utils/itti_analyzer/filters.xml old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/filters_mme.xml b/common/utils/itti_analyzer/filters_mme.xml old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/filters_ue_enb.xml b/common/utils/itti_analyzer/filters_ue_enb.xml old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/itti_analyzer.c b/common/utils/itti_analyzer/itti_analyzer.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/Makefile.am b/common/utils/itti_analyzer/libbuffers/Makefile.am old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/buffers.c b/common/utils/itti_analyzer/libbuffers/buffers.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/buffers.h b/common/utils/itti_analyzer/libbuffers/buffers.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/file.c b/common/utils/itti_analyzer/libbuffers/file.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/file.h b/common/utils/itti_analyzer/libbuffers/file.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/socket.c b/common/utils/itti_analyzer/libbuffers/socket.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libbuffers/socket.h b/common/utils/itti_analyzer/libbuffers/socket.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/Makefile.am b/common/utils/itti_analyzer/libparser/Makefile.am old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/array_type.c b/common/utils/itti_analyzer/libparser/array_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/array_type.h b/common/utils/itti_analyzer/libparser/array_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/enum_type.c b/common/utils/itti_analyzer/libparser/enum_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/enum_type.h b/common/utils/itti_analyzer/libparser/enum_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.c b/common/utils/itti_analyzer/libparser/enum_value_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.h b/common/utils/itti_analyzer/libparser/enum_value_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/field_type.h b/common/utils/itti_analyzer/libparser/field_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/file_type.c b/common/utils/itti_analyzer/libparser/file_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/file_type.h b/common/utils/itti_analyzer/libparser/file_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.c b/common/utils/itti_analyzer/libparser/fundamental_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.h b/common/utils/itti_analyzer/libparser/fundamental_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/intertask_contexts.h b/common/utils/itti_analyzer/libparser/intertask_contexts.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/pointer_type.h b/common/utils/itti_analyzer/libparser/pointer_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/reference_type.c b/common/utils/itti_analyzer/libparser/reference_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/reference_type.h b/common/utils/itti_analyzer/libparser/reference_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/struct_type.h b/common/utils/itti_analyzer/libparser/struct_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/typedef_type.h b/common/utils/itti_analyzer/libparser/typedef_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/types.c b/common/utils/itti_analyzer/libparser/types.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/types.h b/common/utils/itti_analyzer/libparser/types.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/union_type.h b/common/utils/itti_analyzer/libparser/union_type.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/xml_parse.c b/common/utils/itti_analyzer/libparser/xml_parse.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libparser/xml_parse.h b/common/utils/itti_analyzer/libparser/xml_parse.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libresolver/Makefile.am b/common/utils/itti_analyzer/libresolver/Makefile.am old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libresolver/locate_root.c b/common/utils/itti_analyzer/libresolver/locate_root.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libresolver/locate_root.h b/common/utils/itti_analyzer/libresolver/locate_root.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libresolver/resolvers.c b/common/utils/itti_analyzer/libresolver/resolvers.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libresolver/resolvers.h b/common/utils/itti_analyzer/libresolver/resolvers.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/Makefile.am b/common/utils/itti_analyzer/libui/Makefile.am old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.h b/common/utils/itti_analyzer/libui/ui_callbacks.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_filters.c b/common/utils/itti_analyzer/libui/ui_filters.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_filters.h b/common/utils/itti_analyzer/libui/ui_filters.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_interface.c b/common/utils/itti_analyzer/libui/ui_interface.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_interface.h b/common/utils/itti_analyzer/libui/ui_interface.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.c b/common/utils/itti_analyzer/libui/ui_main_screen.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.h b/common/utils/itti_analyzer/libui/ui_main_screen.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.c b/common/utils/itti_analyzer/libui/ui_menu_bar.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.h b/common/utils/itti_analyzer/libui/ui_menu_bar.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_notebook.c b/common/utils/itti_analyzer/libui/ui_notebook.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_notebook.h b/common/utils/itti_analyzer/libui/ui_notebook.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.c b/common/utils/itti_analyzer/libui/ui_notif_dlg.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.h b/common/utils/itti_analyzer/libui/ui_notif_dlg.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_notifications.c b/common/utils/itti_analyzer/libui/ui_notifications.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_notifications.h b/common/utils/itti_analyzer/libui/ui_notifications.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.c b/common/utils/itti_analyzer/libui/ui_tree_view.c old mode 100644 new mode 100755 diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.h b/common/utils/itti_analyzer/libui/ui_tree_view.h old mode 100644 new mode 100755 diff --git a/common/utils/msc/msc.c b/common/utils/msc/msc.c old mode 100644 new mode 100755 diff --git a/common/utils/msc/msc.h b/common/utils/msc/msc.h old mode 100644 new mode 100755 diff --git a/common/utils/system.c b/common/utils/system.c old mode 100644 new mode 100755 diff --git a/common/utils/system.h b/common/utils/system.h old mode 100644 new mode 100755 diff --git a/common/utils/time_utils.h b/common/utils/time_utils.h old mode 100644 new mode 100755 diff --git a/common/utils/utils.c b/common/utils/utils.c old mode 100644 new mode 100755 diff --git a/common/utils/utils.h b/common/utils/utils.h old mode 100644 new mode 100755 diff --git a/enb_dev.config b/enb_dev.config new file mode 100755 index 0000000000..e0284f4257 --- /dev/null +++ b/enb_dev.config @@ -0,0 +1,2 @@ +// Add predefined macros for your project here. For example: +// #define THE_ANSWER 42 diff --git a/enb_dev.creator b/enb_dev.creator new file mode 100755 index 0000000000..e94cbbd302 --- /dev/null +++ b/enb_dev.creator @@ -0,0 +1 @@ +[General] diff --git a/enb_dev.files b/enb_dev.files new file mode 100755 index 0000000000..b176552d68 --- /dev/null +++ b/enb_dev.files @@ -0,0 +1,7877 @@ +cmake_targets/at_commands/CMakeLists.txt +cmake_targets/autotests/templates/index.html +cmake_targets/autotests/templates/testcase_report.html +cmake_targets/autotests/tools/autotest_analyser.py +cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py +cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py +cmake_targets/autotests/tools/configure_usrpb210.py +cmake_targets/autotests/tools/find_usb_path.bash +cmake_targets/autotests/tools/free_mem.bash +cmake_targets/autotests/tools/git-retry.sh +cmake_targets/autotests/tools/iperf3_script +cmake_targets/autotests/tools/iperf3_script_phone +cmake_targets/autotests/tools/iperf_script +cmake_targets/autotests/tools/iperf_script_phone +cmake_targets/autotests/tools/lib_autotest.py +cmake_targets/autotests/tools/lib_autotest_analyser.py +cmake_targets/autotests/tools/remove_old_programs.bash +cmake_targets/autotests/tools/run_gdb +cmake_targets/autotests/tools/search_repl.py +cmake_targets/autotests/tools/wdial.bandrich.conf +cmake_targets/autotests/v2/actions/alu_epc.bash +cmake_targets/autotests/v2/actions/alu_epc_stop.bash +cmake_targets/autotests/v2/actions/alu_hss.bash +cmake_targets/autotests/v2/actions/bandrich.txt +cmake_targets/autotests/v2/actions/client_tcp.bash +cmake_targets/autotests/v2/actions/client_udp.bash +cmake_targets/autotests/v2/actions/clone_repository.bash +cmake_targets/autotests/v2/actions/compilation.bash +cmake_targets/autotests/v2/actions/execution.bash +cmake_targets/autotests/v2/actions/execution_compile.bash +cmake_targets/autotests/v2/actions/modem.py +cmake_targets/autotests/v2/actions/run_enb.bash +cmake_targets/autotests/v2/actions/server_tcp.bash +cmake_targets/autotests/v2/actions/server_udp.bash +cmake_targets/autotests/v2/actions/start_3276.bash +cmake_targets/autotests/v2/actions/start_3276.py +cmake_targets/autotests/v2/actions/start_bandrich.bash +cmake_targets/autotests/v2/actions/start_bandrich.py +cmake_targets/autotests/v2/actions/stop_3276.py +cmake_targets/autotests/v2/actions/stop_bandrich.py +cmake_targets/autotests/v2/actions/wvdial.3276.conf +cmake_targets/autotests/v2/actions/wvdial.bandrich.conf +cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf +cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf +cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf +cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf +cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf +cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf +cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf +cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf +cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf +cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf +cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf +cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf +cmake_targets/autotests/v2/alu_test.py +cmake_targets/autotests/v2/connection.py +cmake_targets/autotests/v2/machine_list.py +cmake_targets/autotests/v2/main.py +cmake_targets/autotests/v2/task.py +cmake_targets/autotests/v2/utils.py +cmake_targets/autotests/core.py +cmake_targets/autotests/log.py +cmake_targets/autotests/openair.py +cmake_targets/autotests/README.txt +cmake_targets/autotests/run_compilation_autotests.bash +cmake_targets/autotests/run_exec_autotests.bash +cmake_targets/autotests/run_exec_lte-softmodem_tests.py +cmake_targets/autotests/test_case_list.xml +cmake_targets/autotests/testsuite_ue_noS1.xml +cmake_targets/autotests/testsuite_ue_noS1_TCL.xml +cmake_targets/doxygen/CMakeLists.txt +cmake_targets/epc_test/CMakeLists.template +cmake_targets/log/lte-softmodem.Rel14.txt +cmake_targets/lte-simulators/CMakeLists.txt +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin +cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/1 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/10 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/11 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/15 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/16 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/17 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/18 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/19 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/2 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/20 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/21 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/22 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/23 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/24 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/25 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/26 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/27 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/28 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/29 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/3 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/30 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/31 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/32 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/33 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/34 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/35 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/36 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/37 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/38 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/39 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/4 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/40 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/41 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/42 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/43 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/44 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/45 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/46 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/47 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/48 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/49 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/5 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/50 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/51 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/52 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/53 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/54 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/55 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/56 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/57 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/58 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/59 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/6 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/60 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/61 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/62 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/63 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/64 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/65 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/66 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/67 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/68 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/69 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/7 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/70 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/71 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/72 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/73 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/74 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/75 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/76 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/77 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/78 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/79 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/8 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/80 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/81 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/82 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/83 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/9 +cmake_targets/lte_build_oai/build/CMakeFiles/Progress/count.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn1_constants.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_application.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_internal.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_system.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/converter-sample.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_compare.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_ies_defs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_xer_print.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn1_constants.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_application.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_internal.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_system.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/converter-sample.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_ies_defs.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_xer_print.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn1_constants.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_application.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_internal.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_system.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/compare.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/converter-sample.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.c +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.h +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip/Kbuild +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/C.includecache +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.internal +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/build.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean_target.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/depend.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/DependInfo.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/flags.make +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/link.txt +cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/progress.make +cmake_targets/lte_build_oai/build/CMakeFiles/cmake.check_cache +cmake_targets/lte_build_oai/build/CMakeFiles/CMakeDirectoryInformation.cmake +cmake_targets/lte_build_oai/build/CMakeFiles/CMakeOutput.log +cmake_targets/lte_build_oai/build/CMakeFiles/CMakeRuleHashes.txt +cmake_targets/lte_build_oai/build/CMakeFiles/progress.marks +cmake_targets/lte_build_oai/build/CMakeFiles/TargetDirectories.txt +cmake_targets/lte_build_oai/build/cmake_install.cmake +cmake_targets/lte_build_oai/build/CMakeCache.txt +cmake_targets/lte_build_oai/build/libGTPV1U.a +cmake_targets/lte_build_oai/build/libHASHTABLE.a +cmake_targets/lte_build_oai/build/libITTI.a +cmake_targets/lte_build_oai/build/libLFDS.a +cmake_targets/lte_build_oai/build/libLFDS7.a +cmake_targets/lte_build_oai/build/libPHY.a +cmake_targets/lte_build_oai/build/libRRC_LIB.a +cmake_targets/lte_build_oai/build/libS1AP_ENB.a +cmake_targets/lte_build_oai/build/libS1AP_LIB.a +cmake_targets/lte_build_oai/build/libSCHED_LIB.a +cmake_targets/lte_build_oai/build/libSCTP_CLIENT.a +cmake_targets/lte_build_oai/build/libSECU_CN.a +cmake_targets/lte_build_oai/build/libSECU_OSA.a +cmake_targets/lte_build_oai/build/libUDP.a +cmake_targets/lte_build_oai/build/libUTIL.a +cmake_targets/lte_build_oai/CMakeLists.txt +cmake_targets/lte_noS1_build_oai/CMakeLists.template +cmake_targets/nas_sim_tools/CMakeLists.txt +cmake_targets/oaisim_build_oai/CMakeLists.template +cmake_targets/oaisim_mme_build_oai/CMakeLists.template +cmake_targets/oaisim_noS1_build_oai/CMakeLists.template +cmake_targets/s1c_mme_test/CMakeLists.template +cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff +cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff +cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff +cmake_targets/tools/MODULES/cmake_useful.cmake +cmake_targets/tools/MODULES/CMakeParseArguments.cmake +cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake +cmake_targets/tools/MODULES/CMakeUserUseBison.cmake +cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake +cmake_targets/tools/MODULES/FindFreeDiameter.cmake +cmake_targets/tools/MODULES/FindGCCXML.cmake +cmake_targets/tools/MODULES/FindGcrypt.cmake +cmake_targets/tools/MODULES/FindGnuTLS.cmake +cmake_targets/tools/MODULES/FindKbuild.cmake +cmake_targets/tools/MODULES/FindLibXml2.cmake +cmake_targets/tools/MODULES/FindMySQL.cmake +cmake_targets/tools/MODULES/FindNettle.cmake +cmake_targets/tools/MODULES/FindPostgreSQL.cmake +cmake_targets/tools/MODULES/FindSCTP.cmake +cmake_targets/tools/MODULES/Kbuild.cmake +cmake_targets/tools/MODULES/kbuild_system.cmake +cmake_targets/tools/MODULES/kmodule.cmake +cmake_targets/tools/MODULES/path_prefixes.cmake +cmake_targets/tools/asn1tostruct.py +cmake_targets/tools/build_helper +cmake_targets/tools/build_test_epc_tools +cmake_targets/tools/example_enb_exmimo_mme_hss.txt +cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt +cmake_targets/tools/exmimo2_2arxg.lime +cmake_targets/tools/exmimo2_2brxg.lime +cmake_targets/tools/exmimo_stop_octave.m +cmake_targets/tools/fix_asn1 +cmake_targets/tools/generate_asn1 +cmake_targets/tools/generate_protobuf +cmake_targets/tools/indent_source_code +cmake_targets/tools/init_exmimo2 +cmake_targets/tools/init_nas_nos1 +cmake_targets/tools/init_nas_s1 +cmake_targets/tools/Kbuild.cmake +cmake_targets/tools/make_agent_cache +cmake_targets/tools/mem_usage +cmake_targets/tools/perf_oai.bash +cmake_targets/tools/run_enb_s1_exmimo +cmake_targets/tools/run_enb_s1_usrp +cmake_targets/tools/run_enb_ue_virt_noS1 +cmake_targets/tools/run_enb_ue_virt_s1 +cmake_targets/tools/run_ue_s1 +cmake_targets/tools/start_bladerf.py +cmake_targets/tools/stop_exmimo2 +cmake_targets/tools/test_helper +cmake_targets/build_oai +cmake_targets/build_ue +cmake_targets/CMakeLists.txt +cmake_targets/snap_environment.sh +common/utils/collection/queue.h +common/utils/collection/tree.h +common/utils/hashtable/hashtable.c +common/utils/hashtable/hashtable.h +common/utils/hashtable/obj_hashtable.c +common/utils/hashtable/obj_hashtable.h +common/utils/itti/assertions.h +common/utils/itti/backtrace.c +common/utils/itti/backtrace.h +common/utils/itti/intertask_interface.c +common/utils/itti/intertask_interface.h +common/utils/itti/intertask_interface_dump.c +common/utils/itti/intertask_interface_dump.h +common/utils/itti/intertask_interface_init.h +common/utils/itti/intertask_interface_types.h +common/utils/itti/intertask_messages_def.h +common/utils/itti/intertask_messages_types.h +common/utils/itti/itti_types.h +common/utils/itti/memory_pools.c +common/utils/itti/memory_pools.h +common/utils/itti/messages_def.h +common/utils/itti/messages_types.h +common/utils/itti/signals.c +common/utils/itti/signals.h +common/utils/itti/tasks_def.h +common/utils/itti/timer.c +common/utils/itti/timer.h +common/utils/itti/timer_messages_def.h +common/utils/itti/timer_messages_types.h +common/utils/itti_analyzer/common/itti_types.h +common/utils/itti_analyzer/common/logs.h +common/utils/itti_analyzer/common/queue.h +common/utils/itti_analyzer/common/rc.h +common/utils/itti_analyzer/libbuffers/buffers.c +common/utils/itti_analyzer/libbuffers/buffers.h +common/utils/itti_analyzer/libbuffers/file.c +common/utils/itti_analyzer/libbuffers/file.h +common/utils/itti_analyzer/libbuffers/socket.c +common/utils/itti_analyzer/libbuffers/socket.h +common/utils/itti_analyzer/libparser/array_type.c +common/utils/itti_analyzer/libparser/array_type.h +common/utils/itti_analyzer/libparser/enum_type.c +common/utils/itti_analyzer/libparser/enum_type.h +common/utils/itti_analyzer/libparser/enum_value_type.c +common/utils/itti_analyzer/libparser/enum_value_type.h +common/utils/itti_analyzer/libparser/field_type.c +common/utils/itti_analyzer/libparser/field_type.h +common/utils/itti_analyzer/libparser/file_type.c +common/utils/itti_analyzer/libparser/file_type.h +common/utils/itti_analyzer/libparser/fundamental_type.c +common/utils/itti_analyzer/libparser/fundamental_type.h +common/utils/itti_analyzer/libparser/intertask_contexts.h +common/utils/itti_analyzer/libparser/pointer_type.c +common/utils/itti_analyzer/libparser/pointer_type.h +common/utils/itti_analyzer/libparser/reference_type.c +common/utils/itti_analyzer/libparser/reference_type.h +common/utils/itti_analyzer/libparser/struct_type.c +common/utils/itti_analyzer/libparser/struct_type.h +common/utils/itti_analyzer/libparser/typedef_type.c +common/utils/itti_analyzer/libparser/typedef_type.h +common/utils/itti_analyzer/libparser/types.c +common/utils/itti_analyzer/libparser/types.h +common/utils/itti_analyzer/libparser/union_type.c +common/utils/itti_analyzer/libparser/union_type.h +common/utils/itti_analyzer/libparser/xml_parse.c +common/utils/itti_analyzer/libparser/xml_parse.h +common/utils/itti_analyzer/libresolver/locate_root.c +common/utils/itti_analyzer/libresolver/locate_root.h +common/utils/itti_analyzer/libresolver/resolvers.c +common/utils/itti_analyzer/libresolver/resolvers.h +common/utils/itti_analyzer/libui/ui_callbacks.c +common/utils/itti_analyzer/libui/ui_callbacks.h +common/utils/itti_analyzer/libui/ui_filters.c +common/utils/itti_analyzer/libui/ui_filters.h +common/utils/itti_analyzer/libui/ui_interface.c +common/utils/itti_analyzer/libui/ui_interface.h +common/utils/itti_analyzer/libui/ui_main_screen.c +common/utils/itti_analyzer/libui/ui_main_screen.h +common/utils/itti_analyzer/libui/ui_menu_bar.c +common/utils/itti_analyzer/libui/ui_menu_bar.h +common/utils/itti_analyzer/libui/ui_notebook.c +common/utils/itti_analyzer/libui/ui_notebook.h +common/utils/itti_analyzer/libui/ui_notif_dlg.c +common/utils/itti_analyzer/libui/ui_notif_dlg.h +common/utils/itti_analyzer/libui/ui_notifications.c +common/utils/itti_analyzer/libui/ui_notifications.h +common/utils/itti_analyzer/libui/ui_signal_dissect_view.c +common/utils/itti_analyzer/libui/ui_signal_dissect_view.h +common/utils/itti_analyzer/libui/ui_tree_view.c +common/utils/itti_analyzer/libui/ui_tree_view.h +common/utils/itti_analyzer/AUTHORS +common/utils/itti_analyzer/autogen.sh +common/utils/itti_analyzer/ChangeLog +common/utils/itti_analyzer/configure.ac +common/utils/itti_analyzer/filters.xml +common/utils/itti_analyzer/filters_mme.xml +common/utils/itti_analyzer/filters_ue_enb.xml +common/utils/itti_analyzer/INSTALL +common/utils/itti_analyzer/itti_analyzer.c +common/utils/itti_analyzer/NEWS +common/utils/itti_analyzer/README +common/utils/msc/msc.c +common/utils/msc/msc.h +common/utils/T/tracee/README +common/utils/T/tracee/tracee.c +common/utils/T/tracer/filter/filter.c +common/utils/T/tracer/filter/filter.h +common/utils/T/tracer/gui/container.c +common/utils/T/tracer/gui/event.c +common/utils/T/tracer/gui/gui.c +common/utils/T/tracer/gui/gui.h +common/utils/T/tracer/gui/gui_defs.h +common/utils/T/tracer/gui/image.c +common/utils/T/tracer/gui/init.c +common/utils/T/tracer/gui/label.c +common/utils/T/tracer/gui/loop.c +common/utils/T/tracer/gui/notify.c +common/utils/T/tracer/gui/positioner.c +common/utils/T/tracer/gui/space.c +common/utils/T/tracer/gui/test.c +common/utils/T/tracer/gui/textarea.c +common/utils/T/tracer/gui/textlist.c +common/utils/T/tracer/gui/timeline.c +common/utils/T/tracer/gui/toplevel_window.c +common/utils/T/tracer/gui/widget.c +common/utils/T/tracer/gui/x.c +common/utils/T/tracer/gui/x.h +common/utils/T/tracer/gui/x_defs.h +common/utils/T/tracer/gui/xy_plot.c +common/utils/T/tracer/hacks/dump_nack_signal.c +common/utils/T/tracer/hacks/time_meas.c +common/utils/T/tracer/hacks/timeplot.c +common/utils/T/tracer/logger/framelog.c +common/utils/T/tracer/logger/iqdotlog.c +common/utils/T/tracer/logger/iqlog.c +common/utils/T/tracer/logger/logger.c +common/utils/T/tracer/logger/logger.h +common/utils/T/tracer/logger/logger_defs.h +common/utils/T/tracer/logger/textlog.c +common/utils/T/tracer/logger/throughputlog.c +common/utils/T/tracer/logger/ticked_ttilog.c +common/utils/T/tracer/logger/ticklog.c +common/utils/T/tracer/logger/timelog.c +common/utils/T/tracer/logger/ttilog.c +common/utils/T/tracer/view/scrolltti.c +common/utils/T/tracer/view/stdout.c +common/utils/T/tracer/view/textlist.c +common/utils/T/tracer/view/ticktime.c +common/utils/T/tracer/view/time.c +common/utils/T/tracer/view/tti.c +common/utils/T/tracer/view/view.h +common/utils/T/tracer/view/xy.c +common/utils/T/tracer/config.c +common/utils/T/tracer/config.h +common/utils/T/tracer/database.c +common/utils/T/tracer/database.h +common/utils/T/tracer/defs.h +common/utils/T/tracer/enb.c +common/utils/T/tracer/event.c +common/utils/T/tracer/event.h +common/utils/T/tracer/event_selector.c +common/utils/T/tracer/event_selector.h +common/utils/T/tracer/extract_config.c +common/utils/T/tracer/gui.c +common/utils/T/tracer/handler.c +common/utils/T/tracer/handler.h +common/utils/T/tracer/macpdu2wireshark.c +common/utils/T/tracer/openair_logo.h +common/utils/T/tracer/openair_logo.png +common/utils/T/tracer/packet-mac-lte.h +common/utils/T/tracer/plot.c +common/utils/T/tracer/record.c +common/utils/T/tracer/replay.c +common/utils/T/tracer/textlog.c +common/utils/T/tracer/ue.c +common/utils/T/tracer/utils.c +common/utils/T/tracer/utils.h +common/utils/T/tracer/vcd.c +common/utils/T/defs.h +common/utils/T/generate_Txx.c +common/utils/T/genids.c +common/utils/T/local_tracer.c +common/utils/T/plot.c +common/utils/T/README +common/utils/T/T.c +common/utils/T/T.h +common/utils/T/T_defs.h +common/utils/T/T_messages.txt +common/utils/asn1_conversions.h +common/utils/assertions.h +common/utils/system.c +common/utils/system.h +common/utils/time_utils.h +common/utils/utils.c +common/utils/utils.h +common/ran_context.h +openair1/PHY/CODING/TESTBENCH/ltetest.c +openair1/PHY/CODING/TESTBENCH/pdcch_test.c +openair1/PHY/CODING/TESTBENCH/README.txt +openair1/PHY/CODING/TESTBENCH/viterbi_test.c +openair1/PHY/CODING/3gpplte.c +openair1/PHY/CODING/3gpplte_sse.c +openair1/PHY/CODING/3gpplte_turbo_decoder.c +openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c +openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c +openair1/PHY/CODING/ccoding_byte.c +openair1/PHY/CODING/ccoding_byte_lte.c +openair1/PHY/CODING/crc_byte.c +openair1/PHY/CODING/defs.h +openair1/PHY/CODING/extern.h +openair1/PHY/CODING/extern_3GPPinterleaver.h +openair1/PHY/CODING/lte_interleaver.h +openair1/PHY/CODING/lte_interleaver2.h +openair1/PHY/CODING/lte_interleaver_inline.h +openair1/PHY/CODING/lte_rate_matching.c +openair1/PHY/CODING/lte_segmentation.c +openair1/PHY/CODING/lte_tf.m +openair1/PHY/CODING/README.txt +openair1/PHY/CODING/scrambler.h +openair1/PHY/CODING/vars.h +openair1/PHY/CODING/viterbi.c +openair1/PHY/CODING/viterbi_lte.c +openair1/PHY/INIT/defs.h +openair1/PHY/INIT/extern.h +openair1/PHY/INIT/init_top.c +openair1/PHY/INIT/lte_init.c +openair1/PHY/INIT/lte_param_init.c +openair1/PHY/INIT/lte_parms.c +openair1/PHY/INIT/README.txt +openair1/PHY/INIT/vars.h +openair1/PHY/LTE_ESTIMATION/adjust_gain.c +openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m +openair1/PHY/LTE_ESTIMATION/defs.h +openair1/PHY/LTE_ESTIMATION/extern.h +openair1/PHY/LTE_ESTIMATION/filt16_32.h +openair1/PHY/LTE_ESTIMATION/filt96_32.h +openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m +openair1/PHY/LTE_ESTIMATION/freq_equalization.c +openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c +openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c +openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c +openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c +openair1/PHY/LTE_ESTIMATION/lte_sync_time.c +openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c +openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m +openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c +openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c +openair1/PHY/LTE_ESTIMATION/pss6144.h +openair1/PHY/LTE_ESTIMATION/README.txt +openair1/PHY/LTE_ESTIMATION/vars.h +openair1/PHY/LTE_REFSIG/defs.h +openair1/PHY/LTE_REFSIG/gen_mod_table.m +openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c +openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c +openair1/PHY/LTE_REFSIG/lte_dl_uespec.c +openair1/PHY/LTE_REFSIG/lte_gold.c +openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c +openair1/PHY/LTE_REFSIG/lte_ul.m +openair1/PHY/LTE_REFSIG/lte_ul_ref.c +openair1/PHY/LTE_REFSIG/mod_table.h +openair1/PHY/LTE_REFSIG/primary_synch.h +openair1/PHY/LTE_REFSIG/primary_synch.m +openair1/PHY/LTE_REFSIG/README.txt +openair1/PHY/LTE_TRANSPORT/dci.c +openair1/PHY/LTE_TRANSPORT/dci.h +openair1/PHY/LTE_TRANSPORT/dci_tools.c +openair1/PHY/LTE_TRANSPORT/defs.h +openair1/PHY/LTE_TRANSPORT/dlsch_coding.c +openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c +openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c +openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c +openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c +openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c +openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h +openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h +openair1/PHY/LTE_TRANSPORT/drs_modulation.c +openair1/PHY/LTE_TRANSPORT/extern.h +openair1/PHY/LTE_TRANSPORT/group_hopping.c +openair1/PHY/LTE_TRANSPORT/if4_tools.c +openair1/PHY/LTE_TRANSPORT/if4_tools.h +openair1/PHY/LTE_TRANSPORT/if5_tools.c +openair1/PHY/LTE_TRANSPORT/if5_tools.h +openair1/PHY/LTE_TRANSPORT/initial_sync.c +openair1/PHY/LTE_TRANSPORT/lte_mcs.c +openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h +openair1/PHY/LTE_TRANSPORT/mdci.h +openair1/PHY/LTE_TRANSPORT/pbch.c +openair1/PHY/LTE_TRANSPORT/pcfich.c +openair1/PHY/LTE_TRANSPORT/pch.c +openair1/PHY/LTE_TRANSPORT/phich.c +openair1/PHY/LTE_TRANSPORT/pilots.c +openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c +openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c +openair1/PHY/LTE_TRANSPORT/pmch.c +openair1/PHY/LTE_TRANSPORT/power_control.c +openair1/PHY/LTE_TRANSPORT/prach.c +openair1/PHY/LTE_TRANSPORT/prach.h +openair1/PHY/LTE_TRANSPORT/print_stats.c +openair1/PHY/LTE_TRANSPORT/proto.h +openair1/PHY/LTE_TRANSPORT/pss.c +openair1/PHY/LTE_TRANSPORT/pucch.c +openair1/PHY/LTE_TRANSPORT/rar_tools.c +openair1/PHY/LTE_TRANSPORT/README.txt +openair1/PHY/LTE_TRANSPORT/srs_modulation.c +openair1/PHY/LTE_TRANSPORT/sss.c +openair1/PHY/LTE_TRANSPORT/sss.h +openair1/PHY/LTE_TRANSPORT/sss_gen.m +openair1/PHY/LTE_TRANSPORT/uci.h +openair1/PHY/LTE_TRANSPORT/uci_tools.c +openair1/PHY/LTE_TRANSPORT/ulsch_coding.c +openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c +openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c +openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c +openair1/PHY/LTE_TRANSPORT/vars.h +openair1/PHY/LTE_TRANSPORT/vrb_maps.m +openair1/PHY/MODULATION/beamforming.c +openair1/PHY/MODULATION/compute_bf_weights.c +openair1/PHY/MODULATION/defs.h +openair1/PHY/MODULATION/extern.h +openair1/PHY/MODULATION/gen_7_5_kHz.m +openair1/PHY/MODULATION/kHz_7_5.h +openair1/PHY/MODULATION/ofdm_mod.c +openair1/PHY/MODULATION/prach625Hz.h +openair1/PHY/MODULATION/slot_fep.c +openair1/PHY/MODULATION/slot_fep_mbsfn.c +openair1/PHY/MODULATION/slot_fep_ul.c +openair1/PHY/MODULATION/ul_7_5_kHz.c +openair1/PHY/MODULATION/vars.h +openair1/PHY/TOOLS/8bit_rxdemux.c +openair1/PHY/TOOLS/8bit_txmux.c +openair1/PHY/TOOLS/alaw_lut.h +openair1/PHY/TOOLS/angle.c +openair1/PHY/TOOLS/cadd_sv.c +openair1/PHY/TOOLS/cadd_vv.c +openair1/PHY/TOOLS/cdot_prod.c +openair1/PHY/TOOLS/cmult_sv.c +openair1/PHY/TOOLS/cmult_vv.c +openair1/PHY/TOOLS/costable.h +openair1/PHY/TOOLS/dB_routines.c +openair1/PHY/TOOLS/dB_routines.h +openair1/PHY/TOOLS/defs.h +openair1/PHY/TOOLS/extern.h +openair1/PHY/TOOLS/file_output.c +openair1/PHY/TOOLS/invSqrt.c +openair1/PHY/TOOLS/log2_approx.c +openair1/PHY/TOOLS/lte_dfts.c +openair1/PHY/TOOLS/lte_phy_scope.c +openair1/PHY/TOOLS/lte_phy_scope.h +openair1/PHY/TOOLS/lte_phy_scope_tm4.c +openair1/PHY/TOOLS/lut.c +openair1/PHY/TOOLS/memory_routines.c +openair1/PHY/TOOLS/read_F.c +openair1/PHY/TOOLS/signal_energy.c +openair1/PHY/TOOLS/smbv.c +openair1/PHY/TOOLS/smbv.h +openair1/PHY/TOOLS/sqrt.c +openair1/PHY/TOOLS/time_meas.c +openair1/PHY/TOOLS/time_meas.h +openair1/PHY/TOOLS/twiddle12288.h +openair1/PHY/TOOLS/twiddle1536.h +openair1/PHY/TOOLS/twiddle18432.h +openair1/PHY/TOOLS/twiddle24576.h +openair1/PHY/TOOLS/twiddle6144.h +openair1/PHY/TOOLS/twiddles4096.h +openair1/PHY/TOOLS/twiddles8192.h +openair1/PHY/TOOLS/vars.h +openair1/PHY/defs.h +openair1/PHY/extern.h +openair1/PHY/impl_defs_lte.h +openair1/PHY/impl_defs_top.h +openair1/PHY/sse_intrin.h +openair1/PHY/types.h +openair1/PHY/vars.h +openair1/SCHED/defs.h +openair1/SCHED/extern.h +openair1/SCHED/phy_mac_stub.c +openair1/SCHED/phy_procedures_emos.h +openair1/SCHED/phy_procedures_lte_common.c +openair1/SCHED/phy_procedures_lte_eNb.c +openair1/SCHED/phy_procedures_lte_ue.c +openair1/SCHED/pucch_pc.c +openair1/SCHED/pusch_pc.c +openair1/SCHED/rt_compat.h +openair1/SCHED/ru_procedures.c +openair1/SCHED/srs_pc.c +openair1/SCHED/vars.h +openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c +openair1/SIMULATION/ETH_TRANSPORT/defs.h +openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c +openair1/SIMULATION/ETH_TRANSPORT/extern.h +openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c +openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h +openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c +openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c +openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h +openair1/SIMULATION/ETH_TRANSPORT/proto.h +openair1/SIMULATION/ETH_TRANSPORT/README.txt +openair1/SIMULATION/ETH_TRANSPORT/socket.c +openair1/SIMULATION/ETH_TRANSPORT/socket.h +openair1/SIMULATION/ETH_TRANSPORT/vars.h +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex +openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls +openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m +openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m +openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m +openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m +openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m +openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m +openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m +openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m +openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m +openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m +openair1/SIMULATION/LTE_PHY/plotTools/p +openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m +openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m +openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m +openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt +openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex +openair1/SIMULATION/LTE_PHY/blerSimus.zip +openair1/SIMULATION/LTE_PHY/dlsim.c +openair1/SIMULATION/LTE_PHY/dlsim_tm4.c +openair1/SIMULATION/LTE_PHY/dlsim_tm7.c +openair1/SIMULATION/LTE_PHY/fancyheadings.sty +openair1/SIMULATION/LTE_PHY/framegen.c +openair1/SIMULATION/LTE_PHY/gpib_send.c +openair1/SIMULATION/LTE_PHY/gpib_send.h +openair1/SIMULATION/LTE_PHY/launch_sim.sh +openair1/SIMULATION/LTE_PHY/LTE_Configuration.c +openair1/SIMULATION/LTE_PHY/LTE_Configuration.h +openair1/SIMULATION/LTE_PHY/mat2wv.m +openair1/SIMULATION/LTE_PHY/mbmssim.c +openair1/SIMULATION/LTE_PHY/pbch_awgn.txt +openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt +openair1/SIMULATION/LTE_PHY/pbchsim.c +openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh +openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m +openair1/SIMULATION/LTE_PHY/pdcchsim.c +openair1/SIMULATION/LTE_PHY/prachsim.c +openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h +openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c +openair1/SIMULATION/LTE_PHY/pucchsim.c +openair1/SIMULATION/LTE_PHY/README.txt +openair1/SIMULATION/LTE_PHY/scansim.c +openair1/SIMULATION/LTE_PHY/signalanalyzer.c +openair1/SIMULATION/LTE_PHY/signalanalyzer.h +openair1/SIMULATION/LTE_PHY/syncsim.c +openair1/SIMULATION/LTE_PHY/test.c +openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c +openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h +openair1/SIMULATION/LTE_PHY/ulsim.c +openair1/SIMULATION/LTE_PHY/ulsim2.c +openair1/SIMULATION/LTE_PHY/unitary_defs.h +openair1/SIMULATION/RF/adc.c +openair1/SIMULATION/RF/dac.c +openair1/SIMULATION/RF/defs.h +openair1/SIMULATION/RF/README.txt +openair1/SIMULATION/RF/rf.c +openair1/SIMULATION/TOOLS/abstraction.c +openair1/SIMULATION/TOOLS/ch_desc_proto.c +openair1/SIMULATION/TOOLS/corr_mat.m +openair1/SIMULATION/TOOLS/defs.h +openair1/SIMULATION/TOOLS/gauss.c +openair1/SIMULATION/TOOLS/llr_quantization.c +openair1/SIMULATION/TOOLS/multipath_channel.c +openair1/SIMULATION/TOOLS/multipath_tv_channel.c +openair1/SIMULATION/TOOLS/random_channel.c +openair1/SIMULATION/TOOLS/rangen_double.c +openair1/SIMULATION/TOOLS/scm.m +openair1/SIMULATION/TOOLS/scm_corrmat.h +openair1/SIMULATION/TOOLS/taus.c +openair1/README.TXT +openair2/COMMON/as_message.h +openair2/COMMON/commonDef.h +openair2/COMMON/gtpv1_u_messages_def.h +openair2/COMMON/gtpv1_u_messages_types.h +openair2/COMMON/intertask_interface_conf.h +openair2/COMMON/mac_messages_def.h +openair2/COMMON/mac_messages_types.h +openair2/COMMON/mac_primitives.h +openair2/COMMON/mac_rlc_primitives.h +openair2/COMMON/mac_rrc_primitives.h +openair2/COMMON/messages_def.h +openair2/COMMON/messages_types.h +openair2/COMMON/nas_messages_def.h +openair2/COMMON/nas_messages_types.h +openair2/COMMON/networkDef.h +openair2/COMMON/openair_defs.h +openair2/COMMON/openair_types.h +openair2/COMMON/pdcp_messages_def.h +openair2/COMMON/pdcp_messages_types.h +openair2/COMMON/phy_messages_def.h +openair2/COMMON/phy_messages_types.h +openair2/COMMON/platform_constants.h +openair2/COMMON/platform_types.h +openair2/COMMON/ral_messages_def.h +openair2/COMMON/ral_messages_types.h +openair2/COMMON/rlc_messages_def.h +openair2/COMMON/rlc_messages_types.h +openair2/COMMON/rrc_messages_def.h +openair2/COMMON/rrc_messages_types.h +openair2/COMMON/rrm_config_structs.h +openair2/COMMON/rrm_constants.h +openair2/COMMON/rtos_header.h +openair2/COMMON/s1ap_messages_def.h +openair2/COMMON/s1ap_messages_types.h +openair2/COMMON/sctp_messages_def.h +openair2/COMMON/sctp_messages_types.h +openair2/COMMON/tasks_def.h +openair2/COMMON/udp_messages_def.h +openair2/COMMON/udp_messages_types.h +openair2/COMMON/x2ap_messages_def.h +openair2/COMMON/x2ap_messages_types.h +openair2/DOCS/Documentation/flow.txt +openair2/DOCS/DOXYGEN/images/cellular_topology.doc +openair2/DOCS/DOXYGEN/images/cellular_topology.pdf +openair2/DOCS/DOXYGEN/images/cellular_topology_small.png +openair2/DOCS/DOXYGEN/images/channel server.png +openair2/DOCS/DOXYGEN/images/channel server.vsd +openair2/DOCS/DOXYGEN/images/convolutional.png +openair2/DOCS/DOXYGEN/images/convolutional.vsd +openair2/DOCS/DOXYGEN/images/Diapositive6.JPG +openair2/DOCS/DOXYGEN/images/DLC_arch.png +openair2/DOCS/DOXYGEN/images/Framing.png +openair2/DOCS/DOXYGEN/images/Framing.vsd +openair2/DOCS/DOXYGEN/images/irs_dcf.jpg +openair2/DOCS/DOXYGEN/images/irs_pcf.jpg +openair2/DOCS/DOXYGEN/images/layer2_stack.jpg +openair2/DOCS/DOXYGEN/images/layer2_stack.pdf +openair2/DOCS/DOXYGEN/images/layer2_stack.png +openair2/DOCS/DOXYGEN/images/MAC Services.vsd +openair2/DOCS/DOXYGEN/images/MAC_arch.eps +openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG +openair2/DOCS/DOXYGEN/images/mac_channels.png +openair2/DOCS/DOXYGEN/images/MAC_Measurements.png +openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd +openair2/DOCS/DOXYGEN/images/MAC_Services.eps +openair2/DOCS/DOXYGEN/images/MAC_Services.vsd +openair2/DOCS/DOXYGEN/images/MAC_Services2.eps +openair2/DOCS/DOXYGEN/images/MAC_Services2.png +openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png +openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd +openair2/DOCS/DOXYGEN/images/mac_wbs.jpg +openair2/DOCS/DOXYGEN/images/macphynet.eps +openair2/DOCS/DOXYGEN/images/macphynet.png +openair2/DOCS/DOXYGEN/images/mesh_frame.pdf +openair2/DOCS/DOXYGEN/images/mesh_topology.pdf +openair2/DOCS/DOXYGEN/images/mesh_topology_small.png +openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png +openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd +openair2/DOCS/DOXYGEN/images/PHY_arch.eps +openair2/DOCS/DOXYGEN/images/PHY_arch.png +openair2/DOCS/DOXYGEN/images/PHY_arch.vsd +openair2/DOCS/DOXYGEN/images/QAM modulation.png +openair2/DOCS/DOXYGEN/images/QAM modulation.vsd +openair2/DOCS/DOXYGEN/images/QAMmodulation.png +openair2/DOCS/DOXYGEN/images/scrambler.png +openair2/DOCS/DOXYGEN/images/scrambler.vsd +openair2/DOCS/DOXYGEN/images/Transmission.pdf +openair2/DOCS/DOXYGEN/images/Transmission.png +openair2/DOCS/DOXYGEN/images/Transmission.ps +openair2/DOCS/DOXYGEN/images/w3g4f_framing.png +openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd +openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd +openair2/DOCS/DOXYGEN/Doxyfile +openair2/DOCS/TEMPLATES/CODE/images/arch.eps +openair2/DOCS/TEMPLATES/CODE/images/arch.png +openair2/DOCS/TEMPLATES/CODE/Doxyfile +openair2/DOCS/TEMPLATES/CODE/example_doxy.h +openair2/DOCS/TEMPLATES/README/Readme.doxy +openair2/DOCS/TEMPLATES/README/readme.txt +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c +openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h +openair2/ENB_APP/MESSAGES/V2/config_common.proto +openair2/ENB_APP/MESSAGES/V2/config_messages.proto +openair2/ENB_APP/MESSAGES/V2/control_delegation.proto +openair2/ENB_APP/MESSAGES/V2/controller_commands.proto +openair2/ENB_APP/MESSAGES/V2/flexran.proto +openair2/ENB_APP/MESSAGES/V2/header.proto +openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto +openair2/ENB_APP/MESSAGES/V2/stats_common.proto +openair2/ENB_APP/MESSAGES/V2/stats_messages.proto +openair2/ENB_APP/MESSAGES/V2/time_common.proto +openair2/ENB_APP/enb_app.c +openair2/ENB_APP/enb_app.h +openair2/ENB_APP/enb_config.c +openair2/ENB_APP/enb_config.h +openair2/ENB_APP/flexran_agent.c +openair2/ENB_APP/flexran_agent.h +openair2/ENB_APP/flexran_agent_async.c +openair2/ENB_APP/flexran_agent_async.h +openair2/ENB_APP/flexran_agent_common.c +openair2/ENB_APP/flexran_agent_common.h +openair2/ENB_APP/flexran_agent_common_internal.c +openair2/ENB_APP/flexran_agent_common_internal.h +openair2/ENB_APP/flexran_agent_defs.h +openair2/ENB_APP/flexran_agent_extern.h +openair2/ENB_APP/flexran_agent_handler.c +openair2/ENB_APP/flexran_agent_net_comm.c +openair2/ENB_APP/flexran_agent_net_comm.h +openair2/ENB_APP/flexran_agent_task_manager.c +openair2/ENB_APP/flexran_agent_task_manager.h +openair2/LAYER2/MAC/config.c +openair2/LAYER2/MAC/defs.h +openair2/LAYER2/MAC/eNB_scheduler.c +openair2/LAYER2/MAC/eNB_scheduler_bch.c +openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +openair2/LAYER2/MAC/eNB_scheduler_mch.c +openair2/LAYER2/MAC/eNB_scheduler_primitives.c +openair2/LAYER2/MAC/eNB_scheduler_RA.c +openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +openair2/LAYER2/MAC/extern.h +openair2/LAYER2/MAC/flexran_agent_mac_proto.h +openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c +openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c +openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c +openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h +openair2/LAYER2/MAC/flexran_dci_conversions.h +openair2/LAYER2/MAC/l1_helpers.c +openair2/LAYER2/MAC/lte_transport_init.c +openair2/LAYER2/MAC/main.c +openair2/LAYER2/MAC/openair2_proc.c +openair2/LAYER2/MAC/pre_processor.c +openair2/LAYER2/MAC/proto.h +openair2/LAYER2/MAC/ra_procedures.c +openair2/LAYER2/MAC/rar_tools.c +openair2/LAYER2/MAC/ue_procedures.c +openair2/LAYER2/MAC/vars.h +openair2/LAYER2/PDCP_v10.1.0/pdcp.c +openair2/LAYER2/PDCP_v10.1.0/pdcp.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h +openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c +openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c +openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h +openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h +openair2/LAYER2/RLC/UM_v9.3.0/README +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c +openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h +openair2/LAYER2/RLC/mac_primitives.h +openair2/LAYER2/RLC/rlc.c +openair2/LAYER2/RLC/rlc.h +openair2/LAYER2/RLC/rlc_def.h +openair2/LAYER2/RLC/rlc_def_lte.h +openair2/LAYER2/RLC/rlc_mac.c +openair2/LAYER2/RLC/rlc_mpls.c +openair2/LAYER2/RLC/rlc_primitives.h +openair2/LAYER2/RLC/rlc_rrc.c +openair2/LAYER2/openair2_proc.c +openair2/LAYER2/register.c +openair2/LAYER2/register.h +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c +openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c +openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h +openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest +openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c +openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c +openair2/NAS/DRIVER/CELLULAR/readme.txt +openair2/NAS/DRIVER/CELLULAR/start_mt_cellular +openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_noradvd +openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_radvd +openair2/NAS/DRIVER/CELLULAR/stop_mt_cellular +openair2/NAS/DRIVER/CELLULAR/stop_rg_cellular +openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h +openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c +openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c +openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c +openair2/NETWORK_DRIVER/LITE/classifier.c +openair2/NETWORK_DRIVER/LITE/common.c +openair2/NETWORK_DRIVER/LITE/constant.h +openair2/NETWORK_DRIVER/LITE/device.c +openair2/NETWORK_DRIVER/LITE/ioctl.c +openair2/NETWORK_DRIVER/LITE/ioctl.h +openair2/NETWORK_DRIVER/LITE/local.h +openair2/NETWORK_DRIVER/LITE/netlink.c +openair2/NETWORK_DRIVER/LITE/proto_extern.h +openair2/NETWORK_DRIVER/LITE/sap.h +openair2/NETWORK_DRIVER/LITE/tool.c +openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c +openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c +openair2/NETWORK_DRIVER/MESH/classifier.c +openair2/NETWORK_DRIVER/MESH/common.c +openair2/NETWORK_DRIVER/MESH/constant.h +openair2/NETWORK_DRIVER/MESH/device.c +openair2/NETWORK_DRIVER/MESH/ioctl.c +openair2/NETWORK_DRIVER/MESH/ioctl.h +openair2/NETWORK_DRIVER/MESH/local.h +openair2/NETWORK_DRIVER/MESH/mesh.c +openair2/NETWORK_DRIVER/MESH/netlink.c +openair2/NETWORK_DRIVER/MESH/proto_extern.h +openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h +openair2/NETWORK_DRIVER/MESH/sap.h +openair2/NETWORK_DRIVER/MESH/tool.c +openair2/NETWORK_DRIVER/UE_IP/common.c +openair2/NETWORK_DRIVER/UE_IP/constant.h +openair2/NETWORK_DRIVER/UE_IP/device.c +openair2/NETWORK_DRIVER/UE_IP/local.h +openair2/NETWORK_DRIVER/UE_IP/netlink.c +openair2/NETWORK_DRIVER/UE_IP/proto_extern.h +openair2/NETWORK_DRIVER/UE_IP/README +openair2/NETWORK_DRIVER/UE_IP/sap.h +openair2/PHY_INTERFACE/defs.h +openair2/PHY_INTERFACE/extern.h +openair2/PHY_INTERFACE/IF_Module.c +openair2/PHY_INTERFACE/IF_Module.h +openair2/PHY_INTERFACE/mac_phy_primitives.c +openair2/PHY_INTERFACE/mac_phy_primitives.h +openair2/PHY_INTERFACE/vars.h +openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c +openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-860.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-a20.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-c60.txt +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl +openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn +openair2/RRC/LITE/MESSAGES/asn1_msg.c +openair2/RRC/LITE/MESSAGES/asn1_msg.h +openair2/RRC/LITE/MESSAGES/asn1_patch +openair2/RRC/LITE/MESSAGES/README.txt +openair2/RRC/LITE/MESSAGES/rtai_mem.c +openair2/RRC/LITE/MESSAGES/rtai_mem.h +openair2/RRC/LITE/defs.h +openair2/RRC/LITE/extern.h +openair2/RRC/LITE/L2_interface.c +openair2/RRC/LITE/mesh_top.c +openair2/RRC/LITE/plmn_data.h +openair2/RRC/LITE/proto.h +openair2/RRC/LITE/rrc_2_rrm_msg.c +openair2/RRC/LITE/rrc_common.c +openair2/RRC/LITE/rrc_eNB.c +openair2/RRC/LITE/rrc_eNB_GTPV1U.c +openair2/RRC/LITE/rrc_eNB_GTPV1U.h +openair2/RRC/LITE/rrc_eNB_ral.c +openair2/RRC/LITE/rrc_eNB_ral.h +openair2/RRC/LITE/rrc_eNB_S1AP.c +openair2/RRC/LITE/rrc_eNB_S1AP.h +openair2/RRC/LITE/rrc_eNB_UE_context.c +openair2/RRC/LITE/rrc_eNB_UE_context.h +openair2/RRC/LITE/rrc_rrm_interface.c +openair2/RRC/LITE/rrc_rrm_interface.h +openair2/RRC/LITE/rrc_types.h +openair2/RRC/LITE/rrc_UE.c +openair2/RRC/LITE/rrc_UE_ral.c +openair2/RRC/LITE/rrc_UE_ral.h +openair2/RRC/LITE/rrm_2_rrc_msg.c +openair2/RRC/LITE/utils.c +openair2/RRC/LITE/vars.h +openair2/RRC/NAS/nas_config.c +openair2/RRC/NAS/nas_config.h +openair2/RRC/NAS/rb_config.c +openair2/RRC/NAS/rb_config.h +openair2/UTIL/ASYNC_IF/link_manager.c +openair2/UTIL/ASYNC_IF/link_manager.h +openair2/UTIL/ASYNC_IF/message_queue.c +openair2/UTIL/ASYNC_IF/message_queue.h +openair2/UTIL/ASYNC_IF/ringbuffer_queue.c +openair2/UTIL/ASYNC_IF/ringbuffer_queue.h +openair2/UTIL/ASYNC_IF/socket_link.c +openair2/UTIL/ASYNC_IF/socket_link.h +openair2/UTIL/BIGPHYS/bigphys.c +openair2/UTIL/BIGPHYS/defs.h +openair2/UTIL/CLI/cli.c +openair2/UTIL/CLI/cli.h +openair2/UTIL/CLI/cli_cmd.c +openair2/UTIL/CLI/cli_if.h +openair2/UTIL/CLI/cli_server.c +openair2/UTIL/FIFO/pad_list.c +openair2/UTIL/FIFO/pad_list.h +openair2/UTIL/FIFO/types.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c +openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c +openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt +openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln +openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h +openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln +openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj +openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters +openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c +openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h +openair2/UTIL/LISTS/list.c +openair2/UTIL/LISTS/list.h +openair2/UTIL/LISTS/list2.c +openair2/UTIL/LOG/log.c +openair2/UTIL/LOG/log.h +openair2/UTIL/LOG/log_extern.h +openair2/UTIL/LOG/log_if.h +openair2/UTIL/LOG/README.txt +openair2/UTIL/LOG/vcd_signal_dumper.c +openair2/UTIL/LOG/vcd_signal_dumper.h +openair2/UTIL/MATH/crc_byte.c +openair2/UTIL/MATH/oml.c +openair2/UTIL/MATH/oml.h +openair2/UTIL/MATH/random.c +openair2/UTIL/MATH/random_proto_extern.h +openair2/UTIL/MATH/taus.c +openair2/UTIL/MEM/mem_block.c +openair2/UTIL/MEM/mem_block.h +openair2/UTIL/MEM/mem_mngt.c +openair2/UTIL/MEM/mem_mngt_proto_extern.h +openair2/UTIL/MEM/mem_pool.h +openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml +openair2/UTIL/OCG/temp_output/OCG_report.xml +openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml +openair2/UTIL/OCG/Doxyfile +openair2/UTIL/OCG/eurecom_20110208110244.xml +openair2/UTIL/OCG/OCG.c +openair2/UTIL/OCG/OCG.h +openair2/UTIL/OCG/OCG_call_emu.c +openair2/UTIL/OCG/OCG_call_emu.h +openair2/UTIL/OCG/OCG_config_mobi.c +openair2/UTIL/OCG/OCG_config_mobi.h +openair2/UTIL/OCG/OCG_create_dir.c +openair2/UTIL/OCG/OCG_create_dir.h +openair2/UTIL/OCG/OCG_detect_file.c +openair2/UTIL/OCG/OCG_detect_file.h +openair2/UTIL/OCG/OCG_extern.h +openair2/UTIL/OCG/OCG_generate_report.c +openair2/UTIL/OCG/OCG_generate_report.h +openair2/UTIL/OCG/OCG_get_opt.c +openair2/UTIL/OCG/OCG_get_opt.h +openair2/UTIL/OCG/OCG_if.h +openair2/UTIL/OCG/OCG_parse_filename.c +openair2/UTIL/OCG/OCG_parse_filename.h +openair2/UTIL/OCG/OCG_parse_XML.c +openair2/UTIL/OCG/OCG_parse_XML.h +openair2/UTIL/OCG/OCG_save_XML.c +openair2/UTIL/OCG/OCG_save_XML.h +openair2/UTIL/OCG/OCG_vars.h +openair2/UTIL/OCG/readme.txt +openair2/UTIL/OMG/TRACE/example_trace.tr +openair2/UTIL/OMG/TRACE/handover.tr +openair2/UTIL/OMG/TRACE/handover_1ue.tr +openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr +openair2/UTIL/OMG/TRACE/mobility_2ues.tr +openair2/UTIL/OMG/TRACE/mobility_3ues.tr +openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf +openair2/UTIL/OMG/TRACE/README.TXT +openair2/UTIL/OMG/TRACE/regular.tr +openair2/UTIL/OMG/TRACE/static_1enb.tr +openair2/UTIL/OMG/TRACE/static_2ues.tr +openair2/UTIL/OMG/TRACE/zero_speed.tr +openair2/UTIL/OMG/common.c +openair2/UTIL/OMG/defs.h +openair2/UTIL/OMG/grid.c +openair2/UTIL/OMG/grid.h +openair2/UTIL/OMG/job.c +openair2/UTIL/OMG/mobility.txt +openair2/UTIL/OMG/mobility_parser.c +openair2/UTIL/OMG/mobility_parser.h +openair2/UTIL/OMG/omg.c +openair2/UTIL/OMG/omg.h +openair2/UTIL/OMG/omg_constants.h +openair2/UTIL/OMG/omg_hashtable.c +openair2/UTIL/OMG/omg_hashtable.h +openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf +openair2/UTIL/OMG/omg_vars.h +openair2/UTIL/OMG/README.TXT +openair2/UTIL/OMG/rwalk.c +openair2/UTIL/OMG/rwalk.h +openair2/UTIL/OMG/rwp.c +openair2/UTIL/OMG/rwp.h +openair2/UTIL/OMG/static.c +openair2/UTIL/OMG/static.h +openair2/UTIL/OMG/steadystaterwp.c +openair2/UTIL/OMG/steadystaterwp.h +openair2/UTIL/OMG/trace.c +openair2/UTIL/OMG/trace.h +openair2/UTIL/OMG/trace_hashtable.c +openair2/UTIL/OMG/trace_hashtable.h +openair2/UTIL/OMV/blue.png +openair2/UTIL/OMV/communicationthread.cpp +openair2/UTIL/OMV/communicationthread.h +openair2/UTIL/OMV/green.png +openair2/UTIL/OMV/jpg.jpeg +openair2/UTIL/OMV/mus.png +openair2/UTIL/OMV/mywindow.cpp +openair2/UTIL/OMV/mywindow.h +openair2/UTIL/OMV/new.jpg +openair2/UTIL/OMV/new2.jpg +openair2/UTIL/OMV/omv.cpp +openair2/UTIL/OMV/openglwidget.cpp +openair2/UTIL/OMV/openglwidget.h +openair2/UTIL/OMV/README.txt +openair2/UTIL/OMV/red.png +openair2/UTIL/OMV/structures.h +openair2/UTIL/OMV/white.png +openair2/UTIL/OMV/wow.png +openair2/UTIL/OPT/mac_pcap.h +openair2/UTIL/OPT/opt.h +openair2/UTIL/OPT/packet-mac-lte.h +openair2/UTIL/OPT/probe.c +openair2/UTIL/OPT/README.txt +openair2/UTIL/OPT/vars.h +openair2/UTIL/OSA/osa_defs.h +openair2/UTIL/OSA/osa_internal.h +openair2/UTIL/OSA/osa_key_deriver.c +openair2/UTIL/OSA/osa_rijndael.c +openair2/UTIL/OSA/osa_rijndael.h +openair2/UTIL/OSA/osa_snow3g.c +openair2/UTIL/OSA/osa_snow3g.h +openair2/UTIL/OSA/osa_stream_eea.c +openair2/UTIL/OSA/osa_stream_eia.c +openair2/UTIL/OSA/README +openair2/UTIL/OSD/css/images/false.png +openair2/UTIL/OSD/css/images/false2.png +openair2/UTIL/OSD/css/images/lquote.png +openair2/UTIL/OSD/css/images/true.png +openair2/UTIL/OSD/css/images/warning.png +openair2/UTIL/OSD/css/blueprint.css +openair2/UTIL/OSD/css/fix-ie-rtl.css +openair2/UTIL/OSD/css/fix-ie.css +openair2/UTIL/OSD/css/ie.css +openair2/UTIL/OSD/css/ie6.css +openair2/UTIL/OSD/css/print.css +openair2/UTIL/OSD/css/screen.css +openair2/UTIL/OSD/css/style.css +openair2/UTIL/OSD/jquery/jquery.js +openair2/UTIL/OSD/fake_oaisim +openair2/UTIL/OSD/form.php +openair2/UTIL/OSD/header.php +openair2/UTIL/OSD/httpd-result.conf +openair2/UTIL/OSD/index.php +openair2/UTIL/OSD/OCG.pid +openair2/UTIL/OSD/OpenAirEmu.conf +openair2/UTIL/OSD/Platform_is_running.php +openair2/UTIL/OSD/README.txt +openair2/UTIL/OSD/recep.php +openair2/UTIL/OSD/toto.php +openair2/UTIL/OTG/Doxyfile +openair2/UTIL/OTG/help_OTGplot.txt +openair2/UTIL/OTG/main.c +openair2/UTIL/OTG/otg.c +openair2/UTIL/OTG/otg.h +openair2/UTIL/OTG/otg_config.h +openair2/UTIL/OTG/otg_defs.h +openair2/UTIL/OTG/otg_externs.h +openair2/UTIL/OTG/otg_form.c +openair2/UTIL/OTG/otg_form.h +openair2/UTIL/OTG/otg_kpi.c +openair2/UTIL/OTG/otg_kpi.h +openair2/UTIL/OTG/otg_models.c +openair2/UTIL/OTG/otg_models.h +openair2/UTIL/OTG/otg_rx.c +openair2/UTIL/OTG/otg_rx.h +openair2/UTIL/OTG/otg_rx_socket.c +openair2/UTIL/OTG/otg_rx_socket.h +openair2/UTIL/OTG/otg_tx.c +openair2/UTIL/OTG/otg_tx.h +openair2/UTIL/OTG/otg_tx_socket.c +openair2/UTIL/OTG/otg_tx_socket.h +openair2/UTIL/OTG/otg_vars.h +openair2/UTIL/OTG/OTGplot +openair2/UTIL/OTG/traffic_config.h +openair2/UTIL/TIMER/umts_timer.c +openair2/UTIL/TIMER/umts_timer.h +openair2/UTIL/TIMER/umts_timer_proto_extern.h +openair2/UTIL/TIMER/umts_timer_struct.h +openair2/UTIL/TRACE/fifo_printf.c +openair2/UTIL/TRACE/fifo_printf.h +openair2/UTIL/TRACE/fifo_printf_proto_extern.h +openair2/UTIL/TRACE/print.h +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Definitions.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn +openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-CommonDataTypes.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Constants.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Containers.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-IEs.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Contents.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Descriptions.asn +openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU.asn +openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py +openair2/X2AP/x2ap.c +openair2/X2AP/x2ap.h +openair2/X2AP/x2ap_common.c +openair2/X2AP/x2ap_common.h +openair3/COMMON/as_message.h +openair3/COMMON/common_types.h +openair3/COMMON/gtpv1_u_messages_def.h +openair3/COMMON/gtpv1_u_messages_types.h +openair3/COMMON/intertask_interface_conf.h +openair3/COMMON/messages_def.h +openair3/COMMON/messages_types.h +openair3/COMMON/nas_messages_def.h +openair3/COMMON/nas_messages_types.h +openair3/COMMON/s1ap_messages_def.h +openair3/COMMON/s1ap_messages_types.h +openair3/COMMON/sctp_messages_def.h +openair3/COMMON/sctp_messages_types.h +openair3/COMMON/security_types.h +openair3/COMMON/tasks_def.h +openair3/COMMON/udp_messages_def.h +openair3/COMMON/udp_messages_types.h +openair3/DOCS/DOXYGEN/Doxyfile.in +openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf +openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex +openair3/DOCS/Latex/EPC/EPC.pdf +openair3/DOCS/Latex/EPC/EPC.tex +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h +openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h +openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c +openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h +openair3/GTPV1-U/nw-gtpv1u/AUTHORS +openair3/GTPV1-U/nw-gtpv1u/ChangeLog +openair3/GTPV1-U/nw-gtpv1u/COPYING +openair3/GTPV1-U/nw-gtpv1u/NEWS +openair3/GTPV1-U/nw-gtpv1u/README +openair3/GTPV1-U/gtpv1u.h +openair3/GTPV1-U/gtpv1u_eNB.c +openair3/GTPV1-U/gtpv1u_eNB_defs.h +openair3/GTPV1-U/gtpv1u_eNB_task.h +openair3/GTPV1-U/gtpv1u_sgw_defs.h +openair3/GTPV1-U/gtpv1u_task.c +openair3/GTPV1-U/gtpv1u_teid_pool.c +openair3/NAS/COMMON/API/NETWORK/as_message.c +openair3/NAS/COMMON/API/NETWORK/as_message.h +openair3/NAS/COMMON/API/NETWORK/l2_message.h +openair3/NAS/COMMON/API/NETWORK/nas_message.c +openair3/NAS/COMMON/API/NETWORK/nas_message.h +openair3/NAS/COMMON/API/NETWORK/network_api.c +openair3/NAS/COMMON/API/NETWORK/network_api.h +openair3/NAS/COMMON/EMM/MSG/AttachAccept.c +openair3/NAS/COMMON/EMM/MSG/AttachAccept.h +openair3/NAS/COMMON/EMM/MSG/AttachComplete.c +openair3/NAS/COMMON/EMM/MSG/AttachComplete.h +openair3/NAS/COMMON/EMM/MSG/AttachReject.c +openair3/NAS/COMMON/EMM/MSG/AttachReject.h +openair3/NAS/COMMON/EMM/MSG/AttachRequest.c +openair3/NAS/COMMON/EMM/MSG/AttachRequest.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h +openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c +openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h +openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c +openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h +openair3/NAS/COMMON/EMM/MSG/DetachAccept.c +openair3/NAS/COMMON/EMM/MSG/DetachAccept.h +openair3/NAS/COMMON/EMM/MSG/DetachRequest.c +openair3/NAS/COMMON/EMM/MSG/DetachRequest.h +openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c +openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h +openair3/NAS/COMMON/EMM/MSG/emm_cause.h +openair3/NAS/COMMON/EMM/MSG/emm_msg.c +openair3/NAS/COMMON/EMM/MSG/emm_msg.h +openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h +openair3/NAS/COMMON/EMM/MSG/EmmInformation.c +openair3/NAS/COMMON/EMM/MSG/EmmInformation.h +openair3/NAS/COMMON/EMM/MSG/EmmStatus.c +openair3/NAS/COMMON/EMM/MSG/EmmStatus.h +openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c +openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h +openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c +openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h +openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c +openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h +openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c +openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h +openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c +openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h +openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h +openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h +openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c +openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c +openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c +openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h +openair3/NAS/COMMON/EMM/MSG/ServiceReject.c +openair3/NAS/COMMON/EMM/MSG/ServiceReject.h +openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c +openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c +openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h +openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c +openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c +openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/esm_cause.h +openair3/NAS/COMMON/ESM/MSG/esm_msg.c +openair3/NAS/COMMON/ESM/MSG/esm_msg.h +openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h +openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c +openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h +openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c +openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h +openair3/NAS/COMMON/ESM/MSG/EsmStatus.c +openair3/NAS/COMMON/ESM/MSG/EsmStatus.h +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c +openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c +openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c +openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h +openair3/NAS/COMMON/IES/AccessPointName.c +openair3/NAS/COMMON/IES/AccessPointName.h +openair3/NAS/COMMON/IES/AdditionalUpdateResult.c +openair3/NAS/COMMON/IES/AdditionalUpdateResult.h +openair3/NAS/COMMON/IES/AdditionalUpdateType.c +openair3/NAS/COMMON/IES/AdditionalUpdateType.h +openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c +openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h +openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c +openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h +openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c +openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h +openair3/NAS/COMMON/IES/AuthenticationParameterRand.c +openair3/NAS/COMMON/IES/AuthenticationParameterRand.h +openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c +openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h +openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c +openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h +openair3/NAS/COMMON/IES/Cli.c +openair3/NAS/COMMON/IES/Cli.h +openair3/NAS/COMMON/IES/CsfbResponse.c +openair3/NAS/COMMON/IES/CsfbResponse.h +openair3/NAS/COMMON/IES/DaylightSavingTime.c +openair3/NAS/COMMON/IES/DaylightSavingTime.h +openair3/NAS/COMMON/IES/DetachType.c +openair3/NAS/COMMON/IES/DetachType.h +openair3/NAS/COMMON/IES/DrxParameter.c +openair3/NAS/COMMON/IES/DrxParameter.h +openair3/NAS/COMMON/IES/EmergencyNumberList.c +openair3/NAS/COMMON/IES/EmergencyNumberList.h +openair3/NAS/COMMON/IES/EmmCause.c +openair3/NAS/COMMON/IES/EmmCause.h +openair3/NAS/COMMON/IES/EpsAttachResult.c +openair3/NAS/COMMON/IES/EpsAttachResult.h +openair3/NAS/COMMON/IES/EpsAttachType.c +openair3/NAS/COMMON/IES/EpsAttachType.h +openair3/NAS/COMMON/IES/EpsBearerContextStatus.c +openair3/NAS/COMMON/IES/EpsBearerContextStatus.h +openair3/NAS/COMMON/IES/EpsBearerIdentity.c +openair3/NAS/COMMON/IES/EpsBearerIdentity.h +openair3/NAS/COMMON/IES/EpsMobileIdentity.c +openair3/NAS/COMMON/IES/EpsMobileIdentity.h +openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c +openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h +openair3/NAS/COMMON/IES/EpsQualityOfService.c +openair3/NAS/COMMON/IES/EpsQualityOfService.h +openair3/NAS/COMMON/IES/EpsUpdateResult.c +openair3/NAS/COMMON/IES/EpsUpdateResult.h +openair3/NAS/COMMON/IES/EpsUpdateType.c +openair3/NAS/COMMON/IES/EpsUpdateType.h +openair3/NAS/COMMON/IES/EsmCause.c +openair3/NAS/COMMON/IES/EsmCause.h +openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c +openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h +openair3/NAS/COMMON/IES/EsmMessageContainer.c +openair3/NAS/COMMON/IES/EsmMessageContainer.h +openair3/NAS/COMMON/IES/GprsTimer.c +openair3/NAS/COMMON/IES/GprsTimer.h +openair3/NAS/COMMON/IES/GutiType.c +openair3/NAS/COMMON/IES/GutiType.h +openair3/NAS/COMMON/IES/IdentityType2.c +openair3/NAS/COMMON/IES/IdentityType2.h +openair3/NAS/COMMON/IES/ImeisvRequest.c +openair3/NAS/COMMON/IES/ImeisvRequest.h +openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c +openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h +openair3/NAS/COMMON/IES/LcsClientIdentity.c +openair3/NAS/COMMON/IES/LcsClientIdentity.h +openair3/NAS/COMMON/IES/LcsIndicator.c +openair3/NAS/COMMON/IES/LcsIndicator.h +openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c +openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h +openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c +openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h +openair3/NAS/COMMON/IES/LocationAreaIdentification.c +openair3/NAS/COMMON/IES/LocationAreaIdentification.h +openair3/NAS/COMMON/IES/MessageType.c +openair3/NAS/COMMON/IES/MessageType.h +openair3/NAS/COMMON/IES/MobileIdentity.c +openair3/NAS/COMMON/IES/MobileIdentity.h +openair3/NAS/COMMON/IES/MobileStationClassmark2.c +openair3/NAS/COMMON/IES/MobileStationClassmark2.h +openair3/NAS/COMMON/IES/MobileStationClassmark3.c +openair3/NAS/COMMON/IES/MobileStationClassmark3.h +openair3/NAS/COMMON/IES/MsNetworkCapability.c +openair3/NAS/COMMON/IES/MsNetworkCapability.h +openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c +openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h +openair3/NAS/COMMON/IES/NasKeySetIdentifier.c +openair3/NAS/COMMON/IES/NasKeySetIdentifier.h +openair3/NAS/COMMON/IES/NasMessageContainer.c +openair3/NAS/COMMON/IES/NasMessageContainer.h +openair3/NAS/COMMON/IES/NasRequestType.c +openair3/NAS/COMMON/IES/NasRequestType.h +openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c +openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h +openair3/NAS/COMMON/IES/NetworkName.c +openair3/NAS/COMMON/IES/NetworkName.h +openair3/NAS/COMMON/IES/Nonce.c +openair3/NAS/COMMON/IES/Nonce.h +openair3/NAS/COMMON/IES/PacketFlowIdentifier.c +openair3/NAS/COMMON/IES/PacketFlowIdentifier.h +openair3/NAS/COMMON/IES/PagingIdentity.c +openair3/NAS/COMMON/IES/PagingIdentity.h +openair3/NAS/COMMON/IES/PdnAddress.c +openair3/NAS/COMMON/IES/PdnAddress.h +openair3/NAS/COMMON/IES/PdnType.c +openair3/NAS/COMMON/IES/PdnType.h +openair3/NAS/COMMON/IES/PlmnList.c +openair3/NAS/COMMON/IES/PlmnList.h +openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c +openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h +openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c +openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h +openair3/NAS/COMMON/IES/ProtocolDiscriminator.c +openair3/NAS/COMMON/IES/ProtocolDiscriminator.h +openair3/NAS/COMMON/IES/PTmsiSignature.c +openair3/NAS/COMMON/IES/PTmsiSignature.h +openair3/NAS/COMMON/IES/QualityOfService.c +openair3/NAS/COMMON/IES/QualityOfService.h +openair3/NAS/COMMON/IES/RadioPriority.c +openair3/NAS/COMMON/IES/RadioPriority.h +openair3/NAS/COMMON/IES/SecurityHeaderType.c +openair3/NAS/COMMON/IES/SecurityHeaderType.h +openair3/NAS/COMMON/IES/ServiceType.c +openair3/NAS/COMMON/IES/ServiceType.h +openair3/NAS/COMMON/IES/ShortMac.c +openair3/NAS/COMMON/IES/ShortMac.h +openair3/NAS/COMMON/IES/SsCode.c +openair3/NAS/COMMON/IES/SsCode.h +openair3/NAS/COMMON/IES/SupportedCodecList.c +openair3/NAS/COMMON/IES/SupportedCodecList.h +openair3/NAS/COMMON/IES/TimeZone.c +openair3/NAS/COMMON/IES/TimeZone.h +openair3/NAS/COMMON/IES/TimeZoneAndTime.c +openair3/NAS/COMMON/IES/TimeZoneAndTime.h +openair3/NAS/COMMON/IES/TmsiStatus.c +openair3/NAS/COMMON/IES/TmsiStatus.h +openair3/NAS/COMMON/IES/TrackingAreaIdentity.c +openair3/NAS/COMMON/IES/TrackingAreaIdentity.h +openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c +openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h +openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c +openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h +openair3/NAS/COMMON/IES/TrafficFlowTemplate.c +openair3/NAS/COMMON/IES/TrafficFlowTemplate.h +openair3/NAS/COMMON/IES/TransactionIdentifier.c +openair3/NAS/COMMON/IES/TransactionIdentifier.h +openair3/NAS/COMMON/IES/UeNetworkCapability.c +openair3/NAS/COMMON/IES/UeNetworkCapability.h +openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c +openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h +openair3/NAS/COMMON/IES/UeSecurityCapability.c +openair3/NAS/COMMON/IES/UeSecurityCapability.h +openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c +openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h +openair3/NAS/COMMON/UTIL/tst/timer.c +openair3/NAS/COMMON/UTIL/tst/timer_debug.txt +openair3/NAS/COMMON/UTIL/device.c +openair3/NAS/COMMON/UTIL/device.h +openair3/NAS/COMMON/UTIL/memory.c +openair3/NAS/COMMON/UTIL/memory.h +openair3/NAS/COMMON/UTIL/nas_log.c +openair3/NAS/COMMON/UTIL/nas_log.h +openair3/NAS/COMMON/UTIL/nas_timer.c +openair3/NAS/COMMON/UTIL/nas_timer.h +openair3/NAS/COMMON/UTIL/OctetString.c +openair3/NAS/COMMON/UTIL/OctetString.h +openair3/NAS/COMMON/UTIL/parser.c +openair3/NAS/COMMON/UTIL/parser.h +openair3/NAS/COMMON/UTIL/socket.c +openair3/NAS/COMMON/UTIL/socket.h +openair3/NAS/COMMON/UTIL/stty.c +openair3/NAS/COMMON/UTIL/TLVDecoder.c +openair3/NAS/COMMON/UTIL/TLVDecoder.h +openair3/NAS/COMMON/UTIL/TLVEncoder.c +openair3/NAS/COMMON/UTIL/TLVEncoder.h +openair3/NAS/COMMON/commonDef.h +openair3/NAS/COMMON/networkDef.h +openair3/NAS/COMMON/securityDef.h +openair3/NAS/COMMON/userDef.h +openair3/NAS/TEST/AS_SIMULATOR/as_data.c +openair3/NAS/TEST/AS_SIMULATOR/as_data.h +openair3/NAS/TEST/AS_SIMULATOR/as_process.c +openair3/NAS/TEST/AS_SIMULATOR/as_process.h +openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c +openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c +openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h +openair3/NAS/TEST/AS_SIMULATOR/nas_data.c +openair3/NAS/TEST/AS_SIMULATOR/nas_data.h +openair3/NAS/TEST/AS_SIMULATOR/nas_process.c +openair3/NAS/TEST/AS_SIMULATOR/nas_process.h +openair3/NAS/TEST/MSC/ActivatePDN.png +openair3/NAS/TEST/MSC/AuthenticationReject.png +openair3/NAS/TEST/MSC/DeactivatePDN.png +openair3/NAS/TEST/MSC/InitialAttach.png +openair3/NAS/TEST/MSC/InitialAttachReject.png +openair3/NAS/TEST/MSC/msc_gen.py +openair3/NAS/TEST/MSC/NomalDetach.png +openair3/NAS/TEST/MSC/README +openair3/NAS/TEST/MSC/SwitchOffDetach.png +openair3/NAS/TEST/NETWORK/network_parser.c +openair3/NAS/TEST/NETWORK/network_parser.h +openair3/NAS/TEST/NETWORK/network_simulator.c +openair3/NAS/TEST/NETWORK/README +openair3/NAS/TEST/USER/user_parser.c +openair3/NAS/TEST/USER/user_parser.h +openair3/NAS/TEST/USER/user_simulator.c +openair3/NAS/TOOLS/conf2uedata.c +openair3/NAS/TOOLS/conf2uedata.h +openair3/NAS/TOOLS/conf_emm.c +openair3/NAS/TOOLS/conf_emm.h +openair3/NAS/TOOLS/conf_network.c +openair3/NAS/TOOLS/conf_network.h +openair3/NAS/TOOLS/conf_parser.c +openair3/NAS/TOOLS/conf_parser.h +openair3/NAS/TOOLS/conf_user_data.c +openair3/NAS/TOOLS/conf_user_data.h +openair3/NAS/TOOLS/conf_user_plmn.c +openair3/NAS/TOOLS/conf_user_plmn.h +openair3/NAS/TOOLS/conf_usim.c +openair3/NAS/TOOLS/conf_usim.h +openair3/NAS/TOOLS/display.c +openair3/NAS/TOOLS/display.h +openair3/NAS/TOOLS/fs.c +openair3/NAS/TOOLS/fs.h +openair3/NAS/TOOLS/network.h +openair3/NAS/TOOLS/nvram.c +openair3/NAS/TOOLS/ue_bcom_test.conf +openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf +openair3/NAS/TOOLS/ue_tcl_test.conf +openair3/NAS/TOOLS/usim.c +openair3/NAS/UE/API/USER/tst/at_parser.c +openair3/NAS/UE/API/USER/tst/at_parser.in +openair3/NAS/UE/API/USER/tst/at_parser.in.bis +openair3/NAS/UE/API/USER/tst/at_parser.out +openair3/NAS/UE/API/USER/tst/at_parser.out.bis +openair3/NAS/UE/API/USER/tst/smartcom.txt +openair3/NAS/UE/API/USER/at_command.c +openair3/NAS/UE/API/USER/at_command.h +openair3/NAS/UE/API/USER/at_error.c +openair3/NAS/UE/API/USER/at_error.h +openair3/NAS/UE/API/USER/at_response.c +openair3/NAS/UE/API/USER/at_response.h +openair3/NAS/UE/API/USER/user_api.c +openair3/NAS/UE/API/USER/user_api.h +openair3/NAS/UE/API/USER/user_api_defs.h +openair3/NAS/UE/API/USER/user_indication.c +openair3/NAS/UE/API/USER/user_indication.h +openair3/NAS/UE/API/USIM/aka_functions.c +openair3/NAS/UE/API/USIM/aka_functions.h +openair3/NAS/UE/API/USIM/usim_api.c +openair3/NAS/UE/API/USIM/usim_api.h +openair3/NAS/UE/EMM/SAP/emm_as.c +openair3/NAS/UE/EMM/SAP/emm_as.h +openair3/NAS/UE/EMM/SAP/emm_asDef.h +openair3/NAS/UE/EMM/SAP/emm_esm.c +openair3/NAS/UE/EMM/SAP/emm_esm.h +openair3/NAS/UE/EMM/SAP/emm_esmDef.h +openair3/NAS/UE/EMM/SAP/emm_fsm.c +openair3/NAS/UE/EMM/SAP/emm_fsm.h +openair3/NAS/UE/EMM/SAP/emm_recv.c +openair3/NAS/UE/EMM/SAP/emm_recv.h +openair3/NAS/UE/EMM/SAP/emm_reg.c +openair3/NAS/UE/EMM/SAP/emm_reg.h +openair3/NAS/UE/EMM/SAP/emm_regDef.h +openair3/NAS/UE/EMM/SAP/emm_sap.c +openair3/NAS/UE/EMM/SAP/emm_sap.h +openair3/NAS/UE/EMM/SAP/emm_send.c +openair3/NAS/UE/EMM/SAP/emm_send.h +openair3/NAS/UE/EMM/SAP/EmmDeregistered.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c +openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c +openair3/NAS/UE/EMM/SAP/EmmNull.c +openair3/NAS/UE/EMM/SAP/EmmRegistered.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c +openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c +openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c +openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c +openair3/NAS/UE/EMM/Attach.c +openair3/NAS/UE/EMM/Authentication.c +openair3/NAS/UE/EMM/Authentication.h +openair3/NAS/UE/EMM/Detach.c +openair3/NAS/UE/EMM/emm_fsm_defs.h +openair3/NAS/UE/EMM/emm_main.c +openair3/NAS/UE/EMM/emm_main.h +openair3/NAS/UE/EMM/emm_proc.h +openair3/NAS/UE/EMM/emm_proc_defs.h +openair3/NAS/UE/EMM/emm_timers.h +openair3/NAS/UE/EMM/emmData.h +openair3/NAS/UE/EMM/EmmStatusHdl.c +openair3/NAS/UE/EMM/Identification.c +openair3/NAS/UE/EMM/IdleMode.c +openair3/NAS/UE/EMM/IdleMode.h +openair3/NAS/UE/EMM/IdleMode_defs.h +openair3/NAS/UE/EMM/LowerLayer.c +openair3/NAS/UE/EMM/LowerLayer.h +openair3/NAS/UE/EMM/LowerLayer_defs.h +openair3/NAS/UE/EMM/SecurityModeControl.c +openair3/NAS/UE/EMM/SecurityModeControl.h +openair3/NAS/UE/EMM/ServiceRequestHdl.c +openair3/NAS/UE/EMM/TrackingAreaUpdate.c +openair3/NAS/UE/ESM/SAP/esm_recv.c +openair3/NAS/UE/ESM/SAP/esm_recv.h +openair3/NAS/UE/ESM/SAP/esm_sap.c +openair3/NAS/UE/ESM/SAP/esm_sap.h +openair3/NAS/UE/ESM/SAP/esm_sapDef.h +openair3/NAS/UE/ESM/SAP/esm_send.c +openair3/NAS/UE/ESM/SAP/esm_send.h +openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c +openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c +openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c +openair3/NAS/UE/ESM/esm_ebr.c +openair3/NAS/UE/ESM/esm_ebr.h +openair3/NAS/UE/ESM/esm_ebr_context.c +openair3/NAS/UE/ESM/esm_ebr_context.h +openair3/NAS/UE/ESM/esm_ip.c +openair3/NAS/UE/ESM/esm_main.c +openair3/NAS/UE/ESM/esm_main.h +openair3/NAS/UE/ESM/esm_proc.h +openair3/NAS/UE/ESM/esm_pt.c +openair3/NAS/UE/ESM/esm_pt.h +openair3/NAS/UE/ESM/esm_pt_defs.h +openair3/NAS/UE/ESM/esmData.h +openair3/NAS/UE/ESM/EsmStatusHdl.c +openair3/NAS/UE/ESM/PdnConnectivity.c +openair3/NAS/UE/ESM/PdnDisconnect.c +openair3/NAS/UE/nas_itti_messaging.c +openair3/NAS/UE/nas_itti_messaging.h +openair3/NAS/UE/nas_network.c +openair3/NAS/UE/nas_network.h +openair3/NAS/UE/nas_parser.c +openair3/NAS/UE/nas_parser.h +openair3/NAS/UE/nas_proc.c +openair3/NAS/UE/nas_proc.h +openair3/NAS/UE/nas_proc_defs.h +openair3/NAS/UE/nas_ue_task.c +openair3/NAS/UE/nas_ue_task.h +openair3/NAS/UE/nas_user.c +openair3/NAS/UE/nas_user.h +openair3/NAS/UE/UEprocess.c +openair3/NAS/UE/user_defs.h +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn +openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn +openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn +openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn +openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py +openair3/S1AP/MESSAGES/ASN1/README +openair3/S1AP/s1ap_common.c +openair3/S1AP/s1ap_common.h +openair3/S1AP/s1ap_eNB.c +openair3/S1AP/s1ap_eNB.h +openair3/S1AP/s1ap_eNB_context_management_procedures.c +openair3/S1AP/s1ap_eNB_context_management_procedures.h +openair3/S1AP/s1ap_eNB_decoder.c +openair3/S1AP/s1ap_eNB_decoder.h +openair3/S1AP/s1ap_eNB_default_values.h +openair3/S1AP/s1ap_eNB_defs.h +openair3/S1AP/s1ap_eNB_encoder.c +openair3/S1AP/s1ap_eNB_encoder.h +openair3/S1AP/s1ap_eNB_handlers.c +openair3/S1AP/s1ap_eNB_handlers.h +openair3/S1AP/s1ap_eNB_itti_messaging.c +openair3/S1AP/s1ap_eNB_itti_messaging.h +openair3/S1AP/s1ap_eNB_management_procedures.c +openair3/S1AP/s1ap_eNB_management_procedures.h +openair3/S1AP/s1ap_eNB_nas_procedures.c +openair3/S1AP/s1ap_eNB_nas_procedures.h +openair3/S1AP/s1ap_eNB_nnsf.c +openair3/S1AP/s1ap_eNB_nnsf.h +openair3/S1AP/s1ap_eNB_overload.c +openair3/S1AP/s1ap_eNB_overload.h +openair3/S1AP/s1ap_eNB_trace.c +openair3/S1AP/s1ap_eNB_trace.h +openair3/S1AP/s1ap_eNB_ue_context.c +openair3/S1AP/s1ap_eNB_ue_context.h +openair3/SCTP/sctp_common.c +openair3/SCTP/sctp_common.h +openair3/SCTP/sctp_default_values.h +openair3/SCTP/sctp_eNB_defs.h +openair3/SCTP/sctp_eNB_itti_messaging.c +openair3/SCTP/sctp_eNB_itti_messaging.h +openair3/SCTP/sctp_eNB_task.c +openair3/SCTP/sctp_eNB_task.h +openair3/SCTP/sctp_primitives_client.c +openair3/SCTP/sctp_primitives_client.h +openair3/SECU/kdf.c +openair3/SECU/key_nas_deriver.c +openair3/SECU/key_nas_encryption.c +openair3/SECU/nas_stream_eea1.c +openair3/SECU/nas_stream_eea2.c +openair3/SECU/nas_stream_eia1.c +openair3/SECU/nas_stream_eia2.c +openair3/SECU/rijndael.c +openair3/SECU/rijndael.h +openair3/SECU/secu_defs.h +openair3/SECU/snow3g.c +openair3/SECU/snow3g.h +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf +openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml +openair3/TEST/EPC_TEST/generate_scenario.c +openair3/TEST/EPC_TEST/generate_scenario.h +openair3/TEST/EPC_TEST/play_scenario.c +openair3/TEST/EPC_TEST/play_scenario.h +openair3/TEST/EPC_TEST/play_scenario_decode.c +openair3/TEST/EPC_TEST/play_scenario_display.c +openair3/TEST/EPC_TEST/play_scenario_fsm.c +openair3/TEST/EPC_TEST/play_scenario_parse.c +openair3/TEST/EPC_TEST/play_scenario_s1ap.c +openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c +openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h +openair3/TEST/EPC_TEST/play_scenario_sctp.c +openair3/TEST/oaisim_mme_client_test.c +openair3/TEST/oaisim_mme_itti_test.c +openair3/TEST/oaisim_mme_list_benchmark.c +openair3/TEST/oaisim_mme_s1ap_test.c +openair3/TEST/oaisim_mme_sctp_test.c +openair3/TEST/oaisim_mme_test_s1c.c +openair3/TEST/oaisim_mme_test_s1c.h +openair3/TEST/oaisim_mme_test_s1c_s1ap.c +openair3/TEST/oaisim_mme_test_s1c_s1ap.h +openair3/TEST/oaisim_mme_test_s1c_scenario.c +openair3/TEST/oaisim_mme_test_s1c_scenario.h +openair3/TEST/oaisim_mme_test_s1c_scenario1.c +openair3/TEST/test_aes128_cmac_encrypt.c +openair3/TEST/test_aes128_ctr_decrypt.c +openair3/TEST/test_aes128_ctr_encrypt.c +openair3/TEST/test_kdf.c +openair3/TEST/test_s1ap.c +openair3/TEST/test_secu.c +openair3/TEST/test_secu_kenb.c +openair3/TEST/test_secu_knas.c +openair3/TEST/test_secu_knas_encrypt_eea1.c +openair3/TEST/test_secu_knas_encrypt_eea2.c +openair3/TEST/test_secu_knas_encrypt_eia1.c +openair3/TEST/test_secu_knas_encrypt_eia2.c +openair3/TEST/test_secu_knas_stream_int.c +openair3/UDP/udp_eNB_task.c +openair3/UDP/udp_eNB_task.h +openair3/UTILS/CONF/COPYING +openair3/UTILS/conversions.c +openair3/UTILS/conversions.h +openair3/UTILS/enum_string.c +openair3/UTILS/enum_string.h +openair3/UTILS/log.c +openair3/UTILS/log.h +openair3/UTILS/mcc_mnc_itu.c +openair3/UTILS/mcc_mnc_itu.h +openair3/UTILS/mme_config.c +openair3/UTILS/mme_config.h +openair3/UTILS/mme_default_values.h +openair3/UTILS/mme_parser.y +openair3/UTILS/mme_scanner.l +openair3/UTILS/queue.h +openair3/UTILS/tree.h +openair3/valgrind.sh +svn2git/authors.txt +svn2git/authors_original.txt +svn2git/authors_original_java_output.txt +svn2git/check_diff_author.sh +svn2git/git-author-rewrite.sh +svn2git/README.txt +targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c +targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h +targets/ARCH/COMMON/common_lib.c +targets/ARCH/COMMON/common_lib.h +targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c +targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c +targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c +targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h +targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs +targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf +targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk +targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd +targets/ARCH/EXMIMO/BITSTREAM/program_fpga +targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd +targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd +targets/ARCH/EXMIMO/DEFS/openair_device.h +targets/ARCH/EXMIMO/DEFS/pcie_interface.h +targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h +targets/ARCH/EXMIMO/DRIVER/eurecom/do_reenumerate_expressmimo.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/do_reinsert_driver.sh +targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c +targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h +targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c +targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c +targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c +targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reenumerate_expressmimo.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reinsert_driver.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h +targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c +targets/ARCH/EXMIMO/DRIVER/exmimo3/test_script.sh +targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c +targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c +targets/ARCH/EXMIMO/DRIVER/readme.txt +targets/ARCH/EXMIMO/USERSPACE/LIB/example.c +targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c +targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h +targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c +targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo1 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m +targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m +targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp +targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp +targets/ARCH/LMSSDR/LimeSDR.ini +targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini +targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini +targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini +targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini +targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +targets/COMMON/create_tasks.c +targets/COMMON/create_tasks.h +targets/COMMON/openairinterface5g_limits.h +targets/COMMON/threads_t.h +targets/DOCS/images/oai_logo.png +targets/DOCS/api_icic.xml +targets/DOCS/Doxyfile +targets/DOCS/E-UTRAN_User_Guide.docx +targets/DOCS/E-UTRAN_User_Guide.pdf +targets/DOCS/oai_L1_L2_procedures.pdf +targets/DOCS/oaiemu.doc +targets/DOCS/oaisim_walkthrough.pdf +targets/DOCS/openair_header.tex +targets/DOCS/path_loss_oaisim.xlsx +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf +targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf +targets/PROJECTS/E-MBMS/build_all.bash +targets/PROJECTS/E-MBMS/enb.conf +targets/PROJECTS/E-MBMS/start_enb.bash +targets/PROJECTS/E-MBMS/start_ue.bash +targets/PROJECTS/E-MBMS/utils.bash +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.centos.nord.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.pft.memphis.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.epc_eur.local.exmimo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf +targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml +targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash +targets/PROJECTS/GENERIC-LTE-EPC/networks.bash +targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash +targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash +targets/PROJECTS/GENERIC-LTE-EPC/utils.bash +targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash +targets/PROJECTS/LOCALIZATION/filesave0811.mat +targets/PROJECTS/LOCALIZATION/generation.m +targets/PROJECTS/LOCALIZATION/initial_sync.m +targets/PROJECTS/LOCALIZATION/initparams.m +targets/PROJECTS/LOCALIZATION/plots.m +targets/PROJECTS/LOCALIZATION/recup.m +targets/PROJECTS/LOCALIZATION/where2.m +targets/PROJECTS/LOCALIZATION/where2_v1_final.mat +targets/PROJECTS/LOCALIZATION/where2_vf.m +targets/PROJECTS/TDDREC/v0/alterproj.m +targets/PROJECTS/TDDREC/v0/beamforming.m +targets/PROJECTS/TDDREC/v0/calibration.m +targets/PROJECTS/TDDREC/v0/genorthqpskseq.m +targets/PROJECTS/TDDREC/v0/genrandpskseq.m +targets/PROJECTS/TDDREC/v0/initparams.m +targets/PROJECTS/TDDREC/v0/initparams2.m +targets/PROJECTS/TDDREC/v0/ofdm_mod.m +targets/PROJECTS/TDDREC/v0/readme.txt +targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m +targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m +targets/PROJECTS/TDDREC/v0/runmeas_mimo.m +targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m +targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m +targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m +targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m +targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m +targets/PROJECTS/TDDREC/f_ch_est.m +targets/PROJECTS/TDDREC/f_ofdm_mod.m +targets/PROJECTS/TDDREC/f_ofdm_rx.m +targets/PROJECTS/TDDREC/f_ofdm_tx.m +targets/PROJECTS/TDDREC/f_tls_ap.m +targets/PROJECTS/TDDREC/f_tls_diag.m +targets/PROJECTS/TDDREC/f_tls_svd.m +targets/PROJECTS/TDDREC/s_beamforming.m +targets/PROJECTS/TDDREC/s_calib.m +targets/PROJECTS/TDDREC/s_draw_F.m +targets/PROJECTS/TDDREC/s_init_params.m +targets/PROJECTS/TDDREC/s_run_meas.m +targets/RT/LAUNCH_SCRIPTS/load_module.sh +targets/RT/LAUNCH_SCRIPTS/nas_enb.sh +targets/RT/LAUNCH_SCRIPTS/nas_ue.sh +targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh +targets/RT/LAUNCH_SCRIPTS/start_emos.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh +targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh +targets/RT/LAUNCH_SCRIPTS/start_rf.sh +targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh +targets/RT/LAUNCH_SCRIPTS/start_ue.sh +targets/RT/LAUNCH_SCRIPTS/start_ue2.sh +targets/RT/LAUNCH_SCRIPTS/stop_rf.sh +targets/RT/USER/TOOLS/thread_ipc.c +targets/RT/USER/TOOLS/thread_ipc.h +targets/RT/USER/condtest.c +targets/RT/USER/emos-raw.c +targets/RT/USER/eNB_exmimo2.gtkw +targets/RT/USER/eNB_transport_IQ.c +targets/RT/USER/eNB_usrp.gtkw +targets/RT/USER/exmimo2_2arxg.lime +targets/RT/USER/exmimo2_2brxg.lime +targets/RT/USER/init_b200.sh +targets/RT/USER/init_exmimo.sh +targets/RT/USER/init_exmimo2.sh +targets/RT/USER/init_rtai.sh +targets/RT/USER/lte-enb.c +targets/RT/USER/lte-ran.c +targets/RT/USER/lte-ru.c +targets/RT/USER/lte-softmodem.c +targets/RT/USER/lte-softmodem.h +targets/RT/USER/lte-ue.c +targets/RT/USER/make_for_usrp.sh +targets/RT/USER/msg_helper.c +targets/RT/USER/msg_many.c +targets/RT/USER/msg_many.h +targets/RT/USER/rau_if4_single_thread.gtkw +targets/RT/USER/rcc_if4.gtkw +targets/RT/USER/rcc_if5.gtkw +targets/RT/USER/rrh.c +targets/RT/USER/rrh.gtkw +targets/RT/USER/rrh_gw.c +targets/RT/USER/rrh_gw.h +targets/RT/USER/rrh_gw_externs.h +targets/RT/USER/rru_if4p5_single_thread.gtkw +targets/RT/USER/rru_if4p5_usrp.gtkw +targets/RT/USER/rru_if5_usrp.gtkw +targets/RT/USER/rt_wrapper.c +targets/RT/USER/rt_wrapper.h +targets/RT/USER/sleeptest.c +targets/RT/USER/stats.c +targets/RT/USER/stats.fd +targets/RT/USER/stats.h +targets/RT/USER/synctest.c +targets/RT/USER/ue_exmimo2.gtkw +targets/RT/USER/UE_transport_IQ.c +targets/RT/USER/ue_usrp.gtkw +targets/SCRIPTS/asn1_generate_rrc_messaging_c_code.bash +targets/SCRIPTS/install_asn1.sh +targets/SCRIPTS/install_asn1c_0.9.24.modified.bash +targets/SCRIPTS/msc_gen.py +targets/SCRIPTS/svn-merge-meld.py +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_ue +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/AT_serial_bouchon.py +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb_v2 +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue_cx2android +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_enb +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue1 +targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue2 +targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_26.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml +targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml +targets/SIMU/EXAMPLES/OSD/README.txt +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_multi_UE_nas +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_two_UE_PHY_nas +targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB_OAI_LITE/start_one_eNB_multi_UE_nas +targets/SIMU/PROC/SCRIPT/Run.py +targets/SIMU/PROC/channel_sim_proc.c +targets/SIMU/PROC/channel_sim_proc.h +targets/SIMU/PROC/interface.h +targets/SIMU/PROC/Process.c +targets/SIMU/PROC/Process.h +targets/SIMU/PROC/Tsync.h +targets/SIMU/USER/files/MI_16qam.csv +targets/SIMU/USER/files/MI_16qam.txt +targets/SIMU/USER/files/MI_4qam.csv +targets/SIMU/USER/files/MI_4qam.txt +targets/SIMU/USER/files/MI_64qam.csv +targets/SIMU/USER/files/MI_64qam.txt +targets/SIMU/USER/channel_sim.c +targets/SIMU/USER/cor_SF_sim.c +targets/SIMU/USER/cor_SF_sim.h +targets/SIMU/USER/event_handler.c +targets/SIMU/USER/event_handler.h +targets/SIMU/USER/init_lte.c +targets/SIMU/USER/init_lte.h +targets/SIMU/USER/oaisim.c +targets/SIMU/USER/oaisim.h +targets/SIMU/USER/oaisim_config.c +targets/SIMU/USER/oaisim_config.h +targets/SIMU/USER/oaisim_functions.c +targets/SIMU/USER/oaisim_functions.h +targets/SIMU/USER/oaisim_pad.c +targets/SIMU/USER/phy_procedures_sim_form.c +targets/SIMU/USER/phy_procedures_sim_form.fd +targets/SIMU/USER/phy_procedures_sim_form.h +targets/SIMU/USER/plot_results.m +targets/SIMU/USER/sinr_sim.c +targets/SIMU/USER/threadpool.c +targets/SIMU/USER/threadpool.h +targets/SIMU/USER/valgrind.sh +targets/TEST/AT_COMMANDS/oaisim.c +targets/TEST/OAI/case01.py +targets/TEST/OAI/case02.py +targets/TEST/OAI/case03.py +targets/TEST/OAI/case04.py +targets/TEST/OAI/case05.py +targets/TEST/OAI/case11.py +targets/TEST/OAI/case12.py +targets/TEST/OAI/case13.py +targets/TEST/OAI/core.py +targets/TEST/OAI/log.py +targets/TEST/OAI/openair.py +targets/TEST/OAI/README +targets/TEST/OAI/test01.py +targets/TEST/OAI/test02.py +targets/TEST/PACKET_TRACER/messages/Msg4.txt +targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt +targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt +targets/TEST/PACKET_TRACER/messages/sib1.txt +targets/TEST/PACKET_TRACER/messages/sib2.txt +targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt +targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt +targets/TEST/PACKET_TRACER/messages/sib3.txt +targets/TEST/PACKET_TRACER/pt.c +targets/TEST/PACKET_TRACER/README.txt +targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt +targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c +targets/TEST/PDCP/readme.txt +targets/TEST/PDCP/test_pdcp.c +targets/TEST/PDCP/test_pdcp.h +targets/TEST/PDCP/test_util.h +targets/TEST/PDCP/todo.txt +targets/TEST/RLC_AM_V9.3.0/oaisim.c +targets/TEST/RLC_UM_V9.3.0/oaisim.c +targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp +targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp +targets/TEST/ROHDE_SCHWARZ/TcpClient.h +targets/build_helper.bash +targets/build_oai.bash +targets/itti_vcd_tasks.sav +targets/Makerules +targets/perf_oai.bash +targets/README.txt +LICENSE +maketags +NOTICE.txt +oaienv +pre-commit +README.txt \ No newline at end of file diff --git a/enb_dev.includes b/enb_dev.includes new file mode 100755 index 0000000000..a4921c1d5b --- /dev/null +++ b/enb_dev.includes @@ -0,0 +1,143 @@ +cmake_targets/lte_build_oai/build/CMakeFiles/R10.5 +cmake_targets/lte_build_oai/build/CMakeFiles/R11.2 +cmake_targets/lte_build_oai/build/CMakeFiles/Rel14 +common +common/utils +common/utils/collection +common/utils/hashtable +common/utils/itti +common/utils/itti_analyzer/common +common/utils/itti_analyzer/libbuffers +common/utils/itti_analyzer/libparser +common/utils/itti_analyzer/libresolver +common/utils/itti_analyzer/libui +common/utils/msc +common/utils/T +common/utils/T/tracer +common/utils/T/tracer/filter +common/utils/T/tracer/gui +common/utils/T/tracer/logger +common/utils/T/tracer/view +openair1/PHY +openair1/PHY/CODING +openair1/PHY/INIT +openair1/PHY/LTE_ESTIMATION +openair1/PHY/LTE_REFSIG +openair1/PHY/LTE_TRANSPORT +openair1/PHY/MODULATION +openair1/PHY/TOOLS +openair1/SCHED +openair1/SIMULATION/ETH_TRANSPORT +openair1/SIMULATION/LTE_PHY +openair1/SIMULATION/RF +openair1/SIMULATION/TOOLS +openair2/COMMON +openair2/DOCS/TEMPLATES/CODE +openair2/ENB_APP +openair2/ENB_APP/CONTROL_MODULES/MAC +openair2/LAYER2 +openair2/LAYER2/MAC +openair2/LAYER2/PDCP_v10.1.0 +openair2/LAYER2/RLC +openair2/LAYER2/RLC/AM_v9.3.0 +openair2/LAYER2/RLC/TM_v9.3.0 +openair2/LAYER2/RLC/UM_v9.3.0 +openair2/NAS/DRIVER/CELLULAR/CTL_TOOL +openair2/NAS/DRIVER/CELLULAR/NASMT +openair2/NAS/DRIVER/CELLULAR/NASRG +openair2/NAS/SIMU_CELLULAR +openair2/NETWORK_DRIVER/LITE +openair2/NETWORK_DRIVER/MESH +openair2/NETWORK_DRIVER/UE_IP +openair2/PHY_INTERFACE +openair2/RRC/L2_INTERFACE +openair2/RRC/LITE +openair2/RRC/LITE/MESSAGES +openair2/RRC/NAS +openair2/UTIL/ASYNC_IF +openair2/UTIL/BIGPHYS +openair2/UTIL/CLI +openair2/UTIL/FIFO +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist +openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack +openair2/UTIL/LFDS/liblfds6.1.1/test/src +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700 +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer +openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack +openair2/UTIL/LFDS/liblfds7.0.0/test/src +openair2/UTIL/LISTS +openair2/UTIL/LOG +openair2/UTIL/MATH +openair2/UTIL/MEM +openair2/UTIL/OCG +openair2/UTIL/OMG +openair2/UTIL/OMV +openair2/UTIL/OPT +openair2/UTIL/OSA +openair2/UTIL/OTG +openair2/UTIL/TIMER +openair2/UTIL/TRACE +openair2/X2AP +openair3/COMMON +openair3/GTPV1-U +openair3/GTPV1-U/nw-gtpv1u/include +openair3/GTPV1-U/nw-gtpv1u/shared +openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld +openair3/NAS/COMMON +openair3/NAS/COMMON/API/NETWORK +openair3/NAS/COMMON/EMM/MSG +openair3/NAS/COMMON/ESM/MSG +openair3/NAS/COMMON/IES +openair3/NAS/COMMON/UTIL +openair3/NAS/TEST/AS_SIMULATOR +openair3/NAS/TEST/NETWORK +openair3/NAS/TEST/USER +openair3/NAS/TOOLS +openair3/NAS/UE +openair3/NAS/UE/API/USER +openair3/NAS/UE/API/USIM +openair3/NAS/UE/EMM +openair3/NAS/UE/EMM/SAP +openair3/NAS/UE/ESM +openair3/NAS/UE/ESM/SAP +openair3/S1AP +openair3/SCTP +openair3/SECU +openair3/TEST +openair3/TEST/EPC_TEST +openair3/UDP +openair3/UTILS +targets/ARCH/BLADERF/USERSPACE/LIB +targets/ARCH/COMMON +targets/ARCH/ETHERNET/USERSPACE/LIB +targets/ARCH/EXMIMO/DEFS +targets/ARCH/EXMIMO/DRIVER/eurecom +targets/ARCH/EXMIMO/DRIVER/exmimo3 +targets/ARCH/EXMIMO/DRIVER/telecomparistech +targets/ARCH/EXMIMO/USERSPACE/LIB +targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT +targets/ARCH/EXMIMO/USERSPACE/OCTAVE +targets/COMMON +targets/RT/USER +targets/RT/USER/TOOLS +targets/SIMU/PROC +targets/SIMU/USER +targets/TEST/PDCP +targets/TEST/ROHDE_SCHWARZ \ No newline at end of file diff --git a/oai5g_development.config b/oai5g_development.config old mode 100644 new mode 100755 diff --git a/oai5g_development.creator b/oai5g_development.creator old mode 100644 new mode 100755 diff --git a/oai5g_development.files b/oai5g_development.files old mode 100644 new mode 100755 diff --git a/oai5g_development.includes b/oai5g_development.includes old mode 100644 new mode 100755 diff --git a/oaienv b/oaienv old mode 100644 new mode 100755 diff --git a/openair1/Makefile b/openair1/Makefile old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte.c b/openair1/PHY/CODING/3gpplte.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte_sse.c b/openair1/PHY/CODING/3gpplte_sse.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder.c b/openair1/PHY/CODING/3gpplte_turbo_decoder.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/Makefile b/openair1/PHY/CODING/Makefile old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/Makefile.arm b/openair1/PHY/CODING/Makefile.arm old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/README.txt b/openair1/PHY/CODING/README.txt old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/TESTBENCH/Makefile b/openair1/PHY/CODING/TESTBENCH/Makefile old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/TESTBENCH/README.txt b/openair1/PHY/CODING/TESTBENCH/README.txt old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/TESTBENCH/ltetest.c b/openair1/PHY/CODING/TESTBENCH/ltetest.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/TESTBENCH/pdcch_test.c b/openair1/PHY/CODING/TESTBENCH/pdcch_test.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/TESTBENCH/viterbi_test.c b/openair1/PHY/CODING/TESTBENCH/viterbi_test.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/ccoding_byte.c b/openair1/PHY/CODING/ccoding_byte.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/ccoding_byte_lte.c b/openair1/PHY/CODING/ccoding_byte_lte.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/crc_byte.c b/openair1/PHY/CODING/crc_byte.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/defs.h b/openair1/PHY/CODING/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/extern.h b/openair1/PHY/CODING/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/extern_3GPPinterleaver.h b/openair1/PHY/CODING/extern_3GPPinterleaver.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/lte_interleaver.h b/openair1/PHY/CODING/lte_interleaver.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/lte_interleaver2.h b/openair1/PHY/CODING/lte_interleaver2.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/lte_interleaver_inline.h b/openair1/PHY/CODING/lte_interleaver_inline.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/lte_rate_matching.c b/openair1/PHY/CODING/lte_rate_matching.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/lte_segmentation.c b/openair1/PHY/CODING/lte_segmentation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/lte_tf.m b/openair1/PHY/CODING/lte_tf.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/scrambler.h b/openair1/PHY/CODING/scrambler.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/vars.h b/openair1/PHY/CODING/vars.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/viterbi.c b/openair1/PHY/CODING/viterbi.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/CODING/viterbi_lte.c b/openair1/PHY/CODING/viterbi_lte.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/README.txt b/openair1/PHY/INIT/README.txt old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/defs.h b/openair1/PHY/INIT/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/extern.h b/openair1/PHY/INIT/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/init_top.c b/openair1/PHY/INIT/init_top.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/lte_param_init.c b/openair1/PHY/INIT/lte_param_init.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/lte_parms.c b/openair1/PHY/INIT/lte_parms.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/INIT/vars.h b/openair1/PHY/INIT/vars.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/README.txt b/openair1/PHY/LTE_ESTIMATION/README.txt old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/adjust_gain.c b/openair1/PHY/LTE_ESTIMATION/adjust_gain.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m b/openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/defs.h b/openair1/PHY/LTE_ESTIMATION/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/extern.h b/openair1/PHY/LTE_ESTIMATION/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/filt16_32.h b/openair1/PHY/LTE_ESTIMATION/filt16_32.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/filt96_32.h b/openair1/PHY/LTE_ESTIMATION/filt96_32.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m b/openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/freq_equalization.c b/openair1/PHY/LTE_ESTIMATION/freq_equalization.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c b/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c b/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/pss6144.h b/openair1/PHY/LTE_ESTIMATION/pss6144.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_ESTIMATION/vars.h b/openair1/PHY/LTE_ESTIMATION/vars.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/README.txt b/openair1/PHY/LTE_REFSIG/README.txt old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/defs.h b/openair1/PHY/LTE_REFSIG/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/gen_mod_table.m b/openair1/PHY/LTE_REFSIG/gen_mod_table.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c b/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c b/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c b/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_gold.c b/openair1/PHY/LTE_REFSIG/lte_gold.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c b/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_ul.m b/openair1/PHY/LTE_REFSIG/lte_ul.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/lte_ul_ref.c b/openair1/PHY/LTE_REFSIG/lte_ul_ref.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/mod_table.h b/openair1/PHY/LTE_REFSIG/mod_table.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/primary_synch.h b/openair1/PHY/LTE_REFSIG/primary_synch.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_REFSIG/primary_synch.m b/openair1/PHY/LTE_REFSIG/primary_synch.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/README.txt b/openair1/PHY/LTE_TRANSPORT/README.txt old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dci.h b/openair1/PHY/LTE_TRANSPORT/dci.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/drs_modulation.c b/openair1/PHY/LTE_TRANSPORT/drs_modulation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/extern.h b/openair1/PHY/LTE_TRANSPORT/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/group_hopping.c b/openair1/PHY/LTE_TRANSPORT/group_hopping.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.h b/openair1/PHY/LTE_TRANSPORT/if4_tools.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/if5_tools.c b/openair1/PHY/LTE_TRANSPORT/if5_tools.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/if5_tools.h b/openair1/PHY/LTE_TRANSPORT/if5_tools.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/initial_sync.c b/openair1/PHY/LTE_TRANSPORT/initial_sync.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/lte_mcs.c b/openair1/PHY/LTE_TRANSPORT/lte_mcs.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h b/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/mdci.h b/openair1/PHY/LTE_TRANSPORT/mdci.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pbch.c b/openair1/PHY/LTE_TRANSPORT/pbch.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pcfich.c b/openair1/PHY/LTE_TRANSPORT/pcfich.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pch.c b/openair1/PHY/LTE_TRANSPORT/pch.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pilots.c b/openair1/PHY/LTE_TRANSPORT/pilots.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c b/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c b/openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pmch.c b/openair1/PHY/LTE_TRANSPORT/pmch.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/power_control.c b/openair1/PHY/LTE_TRANSPORT/power_control.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/prach.h b/openair1/PHY/LTE_TRANSPORT/prach.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pss.c b/openair1/PHY/LTE_TRANSPORT/pss.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/rar_tools.c b/openair1/PHY/LTE_TRANSPORT/rar_tools.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/srs_modulation.c b/openair1/PHY/LTE_TRANSPORT/srs_modulation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/sss.c b/openair1/PHY/LTE_TRANSPORT/sss.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/sss.h b/openair1/PHY/LTE_TRANSPORT/sss.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/sss_gen.m b/openair1/PHY/LTE_TRANSPORT/sss_gen.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/uci.h b/openair1/PHY/LTE_TRANSPORT/uci.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/uci_tools.c b/openair1/PHY/LTE_TRANSPORT/uci_tools.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/vars.h b/openair1/PHY/LTE_TRANSPORT/vars.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/LTE_TRANSPORT/vrb_maps.m b/openair1/PHY/LTE_TRANSPORT/vrb_maps.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/beamforming.c b/openair1/PHY/MODULATION/beamforming.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/compute_bf_weights.c b/openair1/PHY/MODULATION/compute_bf_weights.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/defs.h b/openair1/PHY/MODULATION/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/extern.h b/openair1/PHY/MODULATION/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/gen_7_5_kHz.m b/openair1/PHY/MODULATION/gen_7_5_kHz.m old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/kHz_7_5.h b/openair1/PHY/MODULATION/kHz_7_5.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/ofdm_mod.c b/openair1/PHY/MODULATION/ofdm_mod.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/prach625Hz.h b/openair1/PHY/MODULATION/prach625Hz.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/slot_fep.c b/openair1/PHY/MODULATION/slot_fep.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/slot_fep_mbsfn.c b/openair1/PHY/MODULATION/slot_fep_mbsfn.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/slot_fep_ul.c b/openair1/PHY/MODULATION/slot_fep_ul.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/ul_7_5_kHz.c b/openair1/PHY/MODULATION/ul_7_5_kHz.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/MODULATION/vars.h b/openair1/PHY/MODULATION/vars.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/Makefile.inc b/openair1/PHY/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/8bit_rxdemux.c b/openair1/PHY/TOOLS/8bit_rxdemux.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/8bit_txmux.c b/openair1/PHY/TOOLS/8bit_txmux.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/Makefile b/openair1/PHY/TOOLS/Makefile old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/alaw_lut.h b/openair1/PHY/TOOLS/alaw_lut.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/angle.c b/openair1/PHY/TOOLS/angle.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/cadd_sv.c b/openair1/PHY/TOOLS/cadd_sv.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/cadd_vv.c b/openair1/PHY/TOOLS/cadd_vv.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/cdot_prod.c b/openair1/PHY/TOOLS/cdot_prod.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/cmult_sv.c b/openair1/PHY/TOOLS/cmult_sv.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/cmult_vv.c b/openair1/PHY/TOOLS/cmult_vv.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/costable.h b/openair1/PHY/TOOLS/costable.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/dB_routines.c b/openair1/PHY/TOOLS/dB_routines.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/dB_routines.h b/openair1/PHY/TOOLS/dB_routines.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/defs.h b/openair1/PHY/TOOLS/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/extern.h b/openair1/PHY/TOOLS/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/file_output.c b/openair1/PHY/TOOLS/file_output.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/invSqrt.c b/openair1/PHY/TOOLS/invSqrt.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/log2_approx.c b/openair1/PHY/TOOLS/log2_approx.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/lte_dfts.c b/openair1/PHY/TOOLS/lte_dfts.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/lte_phy_scope.c b/openair1/PHY/TOOLS/lte_phy_scope.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/lte_phy_scope.h b/openair1/PHY/TOOLS/lte_phy_scope.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/lte_phy_scope_tm4.c b/openair1/PHY/TOOLS/lte_phy_scope_tm4.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/lut.c b/openair1/PHY/TOOLS/lut.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/memory_routines.c b/openair1/PHY/TOOLS/memory_routines.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/read_F.c b/openair1/PHY/TOOLS/read_F.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/signal_energy.c b/openair1/PHY/TOOLS/signal_energy.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/smbv.c b/openair1/PHY/TOOLS/smbv.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/smbv.h b/openair1/PHY/TOOLS/smbv.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/sqrt.c b/openair1/PHY/TOOLS/sqrt.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/time_meas.c b/openair1/PHY/TOOLS/time_meas.c old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/time_meas.h b/openair1/PHY/TOOLS/time_meas.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddle12288.h b/openair1/PHY/TOOLS/twiddle12288.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddle1536.h b/openair1/PHY/TOOLS/twiddle1536.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddle18432.h b/openair1/PHY/TOOLS/twiddle18432.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddle24576.h b/openair1/PHY/TOOLS/twiddle24576.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddle6144.h b/openair1/PHY/TOOLS/twiddle6144.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddles4096.h b/openair1/PHY/TOOLS/twiddles4096.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/twiddles8192.h b/openair1/PHY/TOOLS/twiddles8192.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/TOOLS/vars.h b/openair1/PHY/TOOLS/vars.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/defs.h b/openair1/PHY/defs.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/extern.h b/openair1/PHY/extern.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/impl_defs_lte.h b/openair1/PHY/impl_defs_lte.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/impl_defs_top.h b/openair1/PHY/impl_defs_top.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/sse_intrin.h b/openair1/PHY/sse_intrin.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/types.h b/openair1/PHY/types.h old mode 100644 new mode 100755 diff --git a/openair1/PHY/vars.h b/openair1/PHY/vars.h old mode 100644 new mode 100755 diff --git a/openair1/README.TXT b/openair1/README.TXT old mode 100644 new mode 100755 diff --git a/openair1/SCHED/Makefile.inc b/openair1/SCHED/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair1/SCHED/defs.h b/openair1/SCHED/defs.h old mode 100644 new mode 100755 diff --git a/openair1/SCHED/extern.h b/openair1/SCHED/extern.h old mode 100644 new mode 100755 diff --git a/openair1/SCHED/phy_mac_stub.c b/openair1/SCHED/phy_mac_stub.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/phy_procedures_emos.h b/openair1/SCHED/phy_procedures_emos.h old mode 100644 new mode 100755 diff --git a/openair1/SCHED/phy_procedures_lte_common.c b/openair1/SCHED/phy_procedures_lte_common.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/pucch_pc.c b/openair1/SCHED/pucch_pc.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/pusch_pc.c b/openair1/SCHED/pusch_pc.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/rt_compat.h b/openair1/SCHED/rt_compat.h old mode 100644 new mode 100755 diff --git a/openair1/SCHED/ru_procedures.c b/openair1/SCHED/ru_procedures.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/srs_pc.c b/openair1/SCHED/srs_pc.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/vars.h b/openair1/SCHED/vars.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc b/openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/README.txt b/openair1/SIMULATION/ETH_TRANSPORT/README.txt old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c b/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/defs.h b/openair1/SIMULATION/ETH_TRANSPORT/defs.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c b/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/extern.h b/openair1/SIMULATION/ETH_TRANSPORT/extern.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c b/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/proto.h b/openair1/SIMULATION/ETH_TRANSPORT/proto.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/socket.c b/openair1/SIMULATION/ETH_TRANSPORT/socket.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/socket.h b/openair1/SIMULATION/ETH_TRANSPORT/socket.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/vars.h b/openair1/SIMULATION/ETH_TRANSPORT/vars.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m b/openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m b/openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m b/openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m b/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m b/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m b/openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m b/openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/Makefile b/openair1/SIMULATION/LTE_PHY/Makefile old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/README.txt b/openair1/SIMULATION/LTE_PHY/README.txt old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex b/openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/blerSimus.zip b/openair1/SIMULATION/LTE_PHY/blerSimus.zip old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/fancyheadings.sty b/openair1/SIMULATION/LTE_PHY/fancyheadings.sty old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/framegen.c b/openair1/SIMULATION/LTE_PHY/framegen.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.c b/openair1/SIMULATION/LTE_PHY/gpib_send.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.h b/openair1/SIMULATION/LTE_PHY/gpib_send.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/launch_sim.sh b/openair1/SIMULATION/LTE_PHY/launch_sim.sh old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pbch_awgn.txt b/openair1/SIMULATION/LTE_PHY/pbch_awgn.txt old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt b/openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pbchsim.c b/openair1/SIMULATION/LTE_PHY/pbchsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh b/openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m b/openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pdcchsim.c b/openair1/SIMULATION/LTE_PHY/pdcchsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/p b/openair1/SIMULATION/LTE_PHY/plotTools/p old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m b/openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/prachsim.c b/openair1/SIMULATION/LTE_PHY/prachsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h b/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c b/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/scansim.c b/openair1/SIMULATION/LTE_PHY/scansim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/signalanalyzer.c b/openair1/SIMULATION/LTE_PHY/signalanalyzer.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/signalanalyzer.h b/openair1/SIMULATION/LTE_PHY/signalanalyzer.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/syncsim.c b/openair1/SIMULATION/LTE_PHY/syncsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/test.c b/openair1/SIMULATION/LTE_PHY/test.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/ulsim2.c b/openair1/SIMULATION/LTE_PHY/ulsim2.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/LTE_PHY/unitary_defs.h b/openair1/SIMULATION/LTE_PHY/unitary_defs.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/Makefile.inc b/openair1/SIMULATION/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/RF/Makefile b/openair1/SIMULATION/RF/Makefile old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/RF/README.txt b/openair1/SIMULATION/RF/README.txt old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/RF/adc.c b/openair1/SIMULATION/RF/adc.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/RF/dac.c b/openair1/SIMULATION/RF/dac.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/RF/defs.h b/openair1/SIMULATION/RF/defs.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/RF/rf.c b/openair1/SIMULATION/RF/rf.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/abstraction.c b/openair1/SIMULATION/TOOLS/abstraction.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/ch_desc_proto.c b/openair1/SIMULATION/TOOLS/ch_desc_proto.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/corr_mat.m b/openair1/SIMULATION/TOOLS/corr_mat.m old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/defs.h b/openair1/SIMULATION/TOOLS/defs.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/gauss.c b/openair1/SIMULATION/TOOLS/gauss.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/llr_quantization.c b/openair1/SIMULATION/TOOLS/llr_quantization.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/multipath_channel.c b/openair1/SIMULATION/TOOLS/multipath_channel.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/multipath_tv_channel.c b/openair1/SIMULATION/TOOLS/multipath_tv_channel.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/random_channel.c b/openair1/SIMULATION/TOOLS/random_channel.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/rangen_double.c b/openair1/SIMULATION/TOOLS/rangen_double.c old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/scm_corrmat.h b/openair1/SIMULATION/TOOLS/scm_corrmat.h old mode 100644 new mode 100755 diff --git a/openair1/SIMULATION/TOOLS/taus.c b/openair1/SIMULATION/TOOLS/taus.c old mode 100644 new mode 100755 diff --git a/openair2/COMMON/as_message.h b/openair2/COMMON/as_message.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/commonDef.h b/openair2/COMMON/commonDef.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/gtpv1_u_messages_def.h b/openair2/COMMON/gtpv1_u_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/gtpv1_u_messages_types.h b/openair2/COMMON/gtpv1_u_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/intertask_interface_conf.h b/openair2/COMMON/intertask_interface_conf.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/mac_messages_def.h b/openair2/COMMON/mac_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/mac_messages_types.h b/openair2/COMMON/mac_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/mac_primitives.h b/openair2/COMMON/mac_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/mac_rlc_primitives.h b/openair2/COMMON/mac_rlc_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/mac_rrc_primitives.h b/openair2/COMMON/mac_rrc_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/messages_def.h b/openair2/COMMON/messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/messages_types.h b/openair2/COMMON/messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/nas_messages_def.h b/openair2/COMMON/nas_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/nas_messages_types.h b/openair2/COMMON/nas_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/networkDef.h b/openair2/COMMON/networkDef.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/openair_defs.h b/openair2/COMMON/openair_defs.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/openair_types.h b/openair2/COMMON/openair_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/pdcp_messages_def.h b/openair2/COMMON/pdcp_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/pdcp_messages_types.h b/openair2/COMMON/pdcp_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/phy_messages_def.h b/openair2/COMMON/phy_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/phy_messages_types.h b/openair2/COMMON/phy_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/platform_constants.h b/openair2/COMMON/platform_constants.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/platform_types.h b/openair2/COMMON/platform_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/ral_messages_def.h b/openair2/COMMON/ral_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/ral_messages_types.h b/openair2/COMMON/ral_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rlc_messages_def.h b/openair2/COMMON/rlc_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rlc_messages_types.h b/openair2/COMMON/rlc_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rrc_messages_def.h b/openair2/COMMON/rrc_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rrm_config_structs.h b/openair2/COMMON/rrm_config_structs.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rrm_constants.h b/openair2/COMMON/rrm_constants.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rtos_header.h b/openair2/COMMON/rtos_header.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/s1ap_messages_def.h b/openair2/COMMON/s1ap_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/s1ap_messages_types.h b/openair2/COMMON/s1ap_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/sctp_messages_def.h b/openair2/COMMON/sctp_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/sctp_messages_types.h b/openair2/COMMON/sctp_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/tasks_def.h b/openair2/COMMON/tasks_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/udp_messages_def.h b/openair2/COMMON/udp_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/udp_messages_types.h b/openair2/COMMON/udp_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/x2ap_messages_def.h b/openair2/COMMON/x2ap_messages_def.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/x2ap_messages_types.h b/openair2/COMMON/x2ap_messages_types.h old mode 100644 new mode 100755 diff --git a/openair2/DOCS/DOXYGEN/images/Transmission.png b/openair2/DOCS/DOXYGEN/images/Transmission.png old mode 100644 new mode 100755 diff --git a/openair2/DOCS/DOXYGEN/images/Transmission.ps b/openair2/DOCS/DOXYGEN/images/Transmission.ps old mode 100644 new mode 100755 diff --git a/openair2/DOCS/Documentation/flow.txt b/openair2/DOCS/Documentation/flow.txt old mode 100644 new mode 100755 diff --git a/openair2/DOCS/TEMPLATES/CODE/Doxyfile b/openair2/DOCS/TEMPLATES/CODE/Doxyfile old mode 100644 new mode 100755 diff --git a/openair2/DOCS/TEMPLATES/CODE/example_doxy.h b/openair2/DOCS/TEMPLATES/CODE/example_doxy.h old mode 100644 new mode 100755 diff --git a/openair2/DOCS/TEMPLATES/CODE/images/arch.eps b/openair2/DOCS/TEMPLATES/CODE/images/arch.eps old mode 100644 new mode 100755 diff --git a/openair2/DOCS/TEMPLATES/CODE/images/arch.png b/openair2/DOCS/TEMPLATES/CODE/images/arch.png old mode 100644 new mode 100755 diff --git a/openair2/DOCS/TEMPLATES/README/Readme.doxy b/openair2/DOCS/TEMPLATES/README/Readme.doxy old mode 100644 new mode 100755 diff --git a/openair2/DOCS/TEMPLATES/README/readme.txt b/openair2/DOCS/TEMPLATES/README/readme.txt old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/config_common.proto b/openair2/ENB_APP/MESSAGES/V2/config_common.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/config_messages.proto b/openair2/ENB_APP/MESSAGES/V2/config_messages.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/control_delegation.proto b/openair2/ENB_APP/MESSAGES/V2/control_delegation.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto b/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/flexran.proto b/openair2/ENB_APP/MESSAGES/V2/flexran.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/header.proto b/openair2/ENB_APP/MESSAGES/V2/header.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto b/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/stats_common.proto b/openair2/ENB_APP/MESSAGES/V2/stats_common.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/stats_messages.proto b/openair2/ENB_APP/MESSAGES/V2/stats_messages.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/MESSAGES/V2/time_common.proto b/openair2/ENB_APP/MESSAGES/V2/time_common.proto old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/Makefile.inc b/openair2/ENB_APP/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/enb_app.c b/openair2/ENB_APP/enb_app.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/enb_app.h b/openair2/ENB_APP/enb_app.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/enb_config.h b/openair2/ENB_APP/enb_config.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent.c b/openair2/ENB_APP/flexran_agent.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent.h b/openair2/ENB_APP/flexran_agent.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_async.c b/openair2/ENB_APP/flexran_agent_async.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_async.h b/openair2/ENB_APP/flexran_agent_async.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_common.c b/openair2/ENB_APP/flexran_agent_common.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_common.h b/openair2/ENB_APP/flexran_agent_common.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_common_internal.c b/openair2/ENB_APP/flexran_agent_common_internal.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_common_internal.h b/openair2/ENB_APP/flexran_agent_common_internal.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_defs.h b/openair2/ENB_APP/flexran_agent_defs.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_extern.h b/openair2/ENB_APP/flexran_agent_extern.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_handler.c b/openair2/ENB_APP/flexran_agent_handler.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_net_comm.c b/openair2/ENB_APP/flexran_agent_net_comm.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_net_comm.h b/openair2/ENB_APP/flexran_agent_net_comm.h old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_task_manager.c b/openair2/ENB_APP/flexran_agent_task_manager.c old mode 100644 new mode 100755 diff --git a/openair2/ENB_APP/flexran_agent_task_manager.h b/openair2/ENB_APP/flexran_agent_task_manager.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c old mode 100644 new mode 100755 index 42c1efe12f..30346b70de --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -419,8 +419,8 @@ void config_dedicated(int Mod_idP, uint16_t rnti, struct PhysicalConfigDedicated *physicalConfigDedicated) { - int UE_id = find_UE_id(Mod_idP, rnti); - eNB->UE_list.UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; + //int UE_id = find_UE_id(Mod_idP, rnti); + //eNB->UE_list.UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; } diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 3fd9857568..995f03483e 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -412,954 +412,6 @@ set_ul_DAI( // changes to pre-processor for eMTC //------------------------------------------------------------------------------ -void -schedule_ue_spec_br( - module_id_t module_idP, - frame_t frameP, - sub_frame_t subframeP, - int* mbsfn_flag -) -//------------------------------------------------------------------------------ -{ - - uint8_t CC_id; - int UE_id; - unsigned char aggregation; - mac_rlc_status_resp_t rlc_status; - unsigned char header_len_dcch = 0, header_len_dcch_tmp = 0; - unsigned char header_len_dtch = 0, header_len_dtch_tmp = 0, header_len_dtch_last = 0; - unsigned char ta_len = 0; - unsigned char sdu_lcids[NB_RB_MAX], lcid, offset, num_sdus = 0; - uint16_t nb_rb, nb_rb_temp, nb_available_rb; - uint16_t TBS, j, sdu_lengths[NB_RB_MAX], rnti, padding = 0, post_padding = 0; - unsigned char dlsch_buffer[MAX_DLSCH_PAYLOAD_BYTES]; - unsigned char round = 0; - unsigned char harq_pid = 0; - eNB_UE_STATS *eNB_UE_stats = NULL; - uint16_t sdu_length_total = 0; - - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - UE_list_t *UE_list = &eNB->UE_list; - int continue_flag = 0; - int32_t normalized_rx_power, target_rx_power; - int32_t tpc = 1; - static int32_t tpc_accumulated = 0; - UE_sched_ctrl *ue_sched_ctl; - int mcs; - int i; - int min_rb_unit[MAX_NUM_CCs]; - int N_RB_DL[MAX_NUM_CCs]; - int total_nb_available_rb[MAX_NUM_CCs]; - int N_RBG[MAX_NUM_CCs]; - nfapi_dl_config_request_body_t *dl_req; - nfapi_dl_config_request_pdu_t *dl_config_pdu; - nfapi_tx_request_pdu_t *TX_req; - int tdd_sfa; - -#if 0 - if (UE_list->head == -1) { - return; - } -#endif - - uint8_t *vrb_map; - int first_rb; - start_meas(&eNB->schedule_dlsch); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_IN); - - - // for TDD: check that we have to act here, otherwise return - //if (cc[0].tdd_Config) { - // tdd_sfa = cc[0].tdd_Config->subframeAssignment; - // switch (subframeP) { - // case 0: - // // always continue - // break; - // case 1: - // return; - // break; - // case 2: - // return; - // break; - // case 3: - // if ((tdd_sfa != 2) && (tdd_sfa != 5)) return; - // break; - // case 4: - // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 5: - // break; - // case 6: - // case 7: - // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 8: - // if ((tdd_sfa != 2) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 9: - // if ((tdd_sfa != 1) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 6)) return; - // break; - - // } - //} - //weight = get_ue_weight(module_idP,UE_id); - aggregation = 2; - for (CC_id = 0; CC_idmessage.dl_Bandwidth); - min_rb_unit[CC_id] = get_min_rb_unit(module_idP, CC_id); - // get number of PRBs less those used by common channels - total_nb_available_rb[CC_id] = N_RB_DL[CC_id]; - for (i = 0; imessage.dl_Bandwidth); - - // store the global enb stats: - eNB->eNB_stats[CC_id].num_dlactive_UEs = UE_list->num_UEs; - eNB->eNB_stats[CC_id].available_prbs = total_nb_available_rb[CC_id]; - eNB->eNB_stats[CC_id].total_available_prbs += total_nb_available_rb[CC_id]; - eNB->eNB_stats[CC_id].dlsch_bytes_tx = 0; - eNB->eNB_stats[CC_id].dlsch_pdus_tx = 0; - } - - /// CALLING Pre_Processor for downlink scheduling (Returns estimation of RBs required by each UE and the allocation on sub-band) - - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_IN); - /*start_meas(&eNB->schedule_dlsch_preprocessor); - dlsch_scheduler_pre_processor(module_idP, - frameP, - subframeP, - N_RBG, - mbsfn_flag); - stop_meas(&eNB->schedule_dlsch_preprocessor);*/ - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_OUT); - - - for (CC_id = 0; CC_idDL_req[CC_id].dl_config_request_body; - - if (mbsfn_flag[CC_id]>0) - continue; - - for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) - { - first_rb = 0; - vrb_map[first_rb] = 1; - vrb_map[first_rb + 1] = 1; - vrb_map[first_rb + 2] = 1; - vrb_map[first_rb + 3] = 1; - vrb_map[first_rb + 4] = 1; - vrb_map[first_rb + 5] = 1; - - continue_flag = 0; // reset the flag to allow allocation for the remaining UEs - rnti = UE_RNTI(module_idP, UE_id); - eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; - ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; - - - if (rnti == NOT_A_RNTI) { - LOG_D(MAC, "Cannot find rnti for UE_id %d (num_UEs %d)\n", UE_id, UE_list->num_UEs); - continue_flag = 1; - } - - if (eNB_UE_stats == NULL) { - LOG_D(MAC, "[eNB] Cannot find eNB_UE_stats\n"); - continue_flag = 1; - } - - //if (continue_flag != 1) { - // switch (get_tmode(module_idP, CC_id, UE_id)) { - // case 1: - // case 2: - // case 7: - // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), - // eNB_UE_stats->dl_cqi, - // format1); - // break; - // case 3: - // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), - // eNB_UE_stats->dl_cqi, - // format2A); - // break; - // default: - // LOG_W(MAC, "Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); - // aggregation = 2; - // } - //} /* if (continue_flag != 1 */ - - if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || // no RBs allocated - CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, aggregation, rnti) - ) { - LOG_D(MAC, "[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", - module_idP, frameP, UE_id, CC_id); - continue_flag = 1; //to next user (there might be rbs availiable for other UEs in TM5 - } - - //if (cc[CC_id].tdd_Config != NULL) { //TDD - // set_ue_dai(subframeP, - // UE_id, - // CC_id, - // cc[CC_id].tdd_Config->subframeAssignment, - // UE_list); - // // update UL DAI after DLSCH scheduling - // set_ul_DAI(module_idP, UE_id, CC_id, frameP, subframeP); - //} - - /*if (continue_flag == 1) { - add_ue_dlsch_info(module_idP, - CC_id, - UE_id, - subframeP, - S_DL_NONE); - continue; - }*/ - - nb_available_rb = 6; // to be checked - harq_pid = ue_sched_ctl->harq_pid[CC_id]; - round = ue_sched_ctl->round[CC_id]; - UE_list->eNB_UE_stats[CC_id][UE_id].crnti = rnti; - UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); - UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid; - UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; - - sdu_length_total = 0; - num_sdus = 0; - - /* - DevCheck(((eNB_UE_stats->dl_cqi < MIN_CQI_VALUE) || (eNB_UE_stats->dl_cqi > MAX_CQI_VALUE)), - eNB_UE_stats->dl_cqi, MIN_CQI_VALUE, MAX_CQI_VALUE); - */ - eNB_UE_stats->dlsch_mcs1 = cqi_to_mcs[eNB_UE_stats->dl_cqi]; //to be checked - eNB_UE_stats->dlsch_mcs1 = cmin(eNB_UE_stats->dlsch_mcs1, 15); - - - // store stats - UE_list->eNB_UE_stats[CC_id][UE_id].dl_cqi = eNB_UE_stats->dl_cqi; - - // initializing the rb allocation indicator for each UE - //to be checked - for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0; - } - - LOG_D(MAC, "[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, rb %d, cqi %d, mcs %d, rrc %d)\n", - module_idP, frameP, UE_id, CC_id, rnti, harq_pid, round, nb_available_rb, - eNB_UE_stats->dl_cqi, eNB_UE_stats->dlsch_mcs1, - UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status); - - - - /* process retransmission */ - - if (round > 0) { - // get freq_allocation - nb_rb = UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid]; - - if (nb_rb <= nb_available_rb) { - if (cc[CC_id].tdd_Config != NULL) { - UE_list->UE_template[CC_id][UE_id].DAI++; - update_ul_dci(module_idP, CC_id, rnti, UE_list->UE_template[CC_id][UE_id].DAI); - LOG_D(MAC, "DAI update: CC_id %d subframeP %d: UE %d, DAI %d\n", CC_id, subframeP, UE_id, UE_list->UE_template[CC_id][UE_id].DAI); - } - - if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { - for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - } - } - else { - nb_rb_temp = nb_rb; - j = 0; - - while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { - UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - - if ((j == N_RBG[CC_id] - 1) && - ((N_RB_DL[CC_id] == 25) || - (N_RB_DL[CC_id] == 50))) { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; - } - else { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; - } - } - - j = j + 1; - } - } - - nb_available_rb -= nb_rb; - /* - eNB->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; - eNB->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; - - for(j=0; jmu_mimo_mode[UE_id].rballoc_sub[j] = UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j]; - } - */ - - switch (get_tmode(module_idP, CC_id, UE_id)) { - case 1: - case 2: - case 7: - default: - { - - // rmax from SIB2 information - rmax = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->mpdcch_NumRepetition_RA_r13; - // choose r3 by default for RAR (Table 9.1.5-5) - rep = 2; - // get actual repetition count from Table 9.1.5-3 - reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); - // get narrowband according to higher-layer config - num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; - RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; - first_rb = RA_template->msg2_narrowband * 6; - - if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPE2)>0)) { - // MPDCCH configuration for RAR - - - - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, - "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; - RA_template->msg2_mpdcch_repetition_cnt++; - dl_req->number_pdu++; - - } //repetition_count==0 && SF condition met - else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - RA_template->msg2_mpdcch_repetition_cnt++; - if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case - // wait 2 subframes for PDSCH transmission - if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; - else RA_template->Msg2_frame = frameP; - RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 - } - else { - AssertFatal(1 == 0, "TDD case not done yet\n"); - } - } // mpdcch_repetition_count == reps - if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - // Program PDSCH - RA_template->generate_rar = 0; - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - // Program UL processing for Msg3, same as regular LTE - get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); - - - fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = 7; - TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; - } - } - - } - - /*dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3;*/ - - - if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, - rnti)) { - dl_req->number_dci++; - dl_req->number_pdu++; - - } - else { - // No TX request for retransmission (check if null request for FAPI) - } - } - - add_ue_dlsch_info(module_idP, - CC_id, - UE_id, - subframeP, - S_DL_SCHEDULED); - - //eNB_UE_stats->dlsch_trials[round]++; - UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx = nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx += nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = eNB_UE_stats->dlsch_mcs1; - } - else { - LOG_D(MAC, "[eNB %d] Frame %d CC_id %d : don't schedule UE %d, its retransmission takes more resources than we have\n", - module_idP, frameP, CC_id, UE_id); - } - } - else { /* This is a potentially new SDU opportunity */ - - rlc_status.bytes_in_buffer = 0; - // Now check RLC information to compute number of required RBs - // get maximum TBS size for RLC request - //to be checked - TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); - // check first for RLC data on DCCH - // add the length for all the control elements (timing adv, drx, etc) : header + payload - - ta_len = (ue_sched_ctl->ta_update != 0) ? 2 : 0; - - header_len_dcch = 2; // 2 bytes DCCH SDU subheader - - if (TBS - ta_len - header_len_dcch > 0) { - rlc_status = mac_rlc_status_ind( - module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH, - (TBS - ta_len - header_len_dcch)); // transport block set size - - sdu_lengths[0] = 0; - - if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit - LOG_D(MAC, "[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n", - module_idP, frameP, CC_id, TBS - header_len_dcch); - sdu_lengths[0] = mac_rlc_data_req( - module_idP, - rnti, - module_idP, - frameP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH, - TBS, //not used - (char *)&dlsch_buffer[0]); - - T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); - - LOG_D(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes from RLC\n", module_idP, CC_id, sdu_lengths[0]); - sdu_length_total = sdu_lengths[0]; - sdu_lcids[0] = DCCH; - UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH] += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH] += sdu_lengths[0]; - num_sdus = 1; -#ifdef DEBUG_eNB_SCHEDULER - LOG_T(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[0]); - - for (j = 0; j 0) { - rlc_status = mac_rlc_status_ind( - module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH + 1, - (TBS - ta_len - header_len_dcch - sdu_length_total)); // transport block set size less allocations for timing advance and - // DCCH SDU - sdu_lengths[num_sdus] = 0; - - if (rlc_status.bytes_in_buffer > 0) { - LOG_I(MAC, "[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n", - module_idP, frameP, CC_id, TBS - header_len_dcch - sdu_length_total); - sdu_lengths[num_sdus] += mac_rlc_data_req( - module_idP, - rnti, - module_idP, - frameP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH + 1, - TBS, //not used - (char *)&dlsch_buffer[sdu_length_total]); - - T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_INT(DCCH + 1), T_INT(sdu_lengths[num_sdus])); - - sdu_lcids[num_sdus] = DCCH1; - sdu_length_total += sdu_lengths[num_sdus]; - header_len_dcch += 2; - UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH1] += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH1] += sdu_lengths[num_sdus]; - num_sdus++; -#ifdef DEBUG_eNB_SCHEDULER - LOG_T(MAC, "[eNB %d][DCCH1] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[num_sdus]); - - for (j = 0; j= DTCH; lcid--) { - // TBD: check if the lcid is active - - header_len_dtch += 3; - header_len_dtch_last = 3; - LOG_D(MAC, "[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)\n", - module_idP, frameP, lcid, TBS, - TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); - - if (TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch > 0) { // NN: > 2 ? - rlc_status = mac_rlc_status_ind(module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - lcid, - TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); - - - if (rlc_status.bytes_in_buffer > 0) { - - LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)\n", - module_idP, frameP, TBS - header_len_dcch - sdu_length_total - header_len_dtch, lcid, header_len_dtch); - sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, - rnti, - module_idP, - frameP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - lcid, - TBS, //not used - (char*)&dlsch_buffer[sdu_length_total]); - T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); - - LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d \n", module_idP, sdu_lengths[num_sdus], lcid); - sdu_lcids[num_sdus] = lcid; - sdu_length_total += sdu_lengths[num_sdus]; - UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[lcid] += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[lcid] += sdu_lengths[num_sdus]; - if (sdu_lengths[num_sdus] < 128) { - header_len_dtch--; - header_len_dtch_last--; - } - num_sdus++; - } // no data for this LCID - else { - header_len_dtch -= 3; - } - } // no TBS left - else { - header_len_dtch -= 3; - break; - } - } - if (header_len_dtch == 0) - header_len_dtch_last = 0; - // there is at least one SDU - // if (num_sdus > 0 ){ - if ((sdu_length_total + header_len_dcch + header_len_dtch)> 0) { - - // Now compute number of required RBs for total sdu length - // Assume RAH format 2 - // adjust header lengths - header_len_dcch_tmp = header_len_dcch; - header_len_dtch_tmp = header_len_dtch; - if (header_len_dtch == 0) { - header_len_dcch = (header_len_dcch >0) ? 1 : 0;//header_len_dcch; // remove length field - } - else { - header_len_dtch_last -= 1; // now use it to find how many bytes has to be removed for the last MAC SDU - header_len_dtch = (header_len_dtch > 0) ? header_len_dtch - header_len_dtch_last : header_len_dtch; // remove length field for the last SDU - } - - mcs = eNB_UE_stats->dlsch_mcs1; - - if (mcs == 0) { - nb_rb = 4; // don't let the TBS get too small - } - else { - nb_rb = min_rb_unit[CC_id]; - } - - TBS = get_TBS_DL(mcs, nb_rb); - - while (TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) { - nb_rb += min_rb_unit[CC_id]; // - - if (nb_rb>nb_available_rb) { // if we've gone beyond the maximum number of RBs - // (can happen if N_RB_DL is odd) - TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); - nb_rb = nb_available_rb; - break; - } - - TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_rb); - } - ///////////////////////////////////////////////////////////// - // alter the allocation of the emtc UE here - ////////////////////////////////////////////////////////////// - if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { - for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - } - } - else { - nb_rb_temp = nb_rb; - j = 0; - - while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { - UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - - if ((j == N_RBG[CC_id] - 1) && - ((N_RB_DL[CC_id] == 25) || - (N_RB_DL[CC_id] == 50))) { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; - } - else { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; - } - } - - j = j + 1; - } - } - /////////////////////////////////// - - - // decrease mcs until TBS falls below required length - while ((TBS > (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (mcs>0)) { - mcs--; - TBS = get_TBS_DL(mcs, nb_rb); - } - - // if we have decreased too much or we don't have enough RBs, increase MCS - while ((TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (((ue_sched_ctl->dl_pow_off[CC_id]>0) && (mcs<28)) - || ((ue_sched_ctl->dl_pow_off[CC_id] == 0) && (mcs <= 15)))) { - mcs++; - TBS = get_TBS_DL(mcs, nb_rb); - } - - LOG_D(MAC, "dlsch_mcs before and after the rate matching = (%d, %d)\n", eNB_UE_stats->dlsch_mcs1, mcs); - -#ifdef DEBUG_eNB_SCHEDULER - LOG_D(MAC, "[eNB %d] CC_id %d Generated DLSCH header (mcs %d, TBS %d, nb_rb %d)\n", - module_idP, CC_id, mcs, TBS, nb_rb); - // msg("[MAC][eNB ] Reminder of DLSCH with random data %d %d %d %d \n", - // TBS, sdu_length_total, offset, TBS-sdu_length_total-offset); -#endif - - if ((TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len) <= 2) { - padding = (TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len); - post_padding = 0; - } - else { - padding = 0; - - // adjust the header len - if (header_len_dtch == 0) { - header_len_dcch = header_len_dcch_tmp; - } - else { //if (( header_len_dcch==0)&&((header_len_dtch==1)||(header_len_dtch==2))) - header_len_dtch = header_len_dtch_tmp; - } - - post_padding = TBS - sdu_length_total - header_len_dcch - header_len_dtch - ta_len; // 1 is for the postpadding header - } - - - offset = generate_dlsch_header((unsigned char*)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], - num_sdus, //num_sdus - sdu_lengths, // - sdu_lcids, - 255, // no drx - ue_sched_ctl->ta_update, // timing advance - NULL, // contention res id - padding, - post_padding); - - //#ifdef DEBUG_eNB_SCHEDULER - if (ue_sched_ctl->ta_update) { - LOG_I(MAC, - "[eNB %d][DLSCH] Frame %d Generate header for UE_id %d on CC_id %d: sdu_length_total %d, num_sdus %d, sdu_lengths[0] %d, sdu_lcids[0] %d => payload offset %d,timing advance value : %d, padding %d,post_padding %d,(mcs %d, TBS %d, nb_rb %d),header_dcch %d, header_dtch %d\n", - module_idP, frameP, UE_id, CC_id, sdu_length_total, num_sdus, sdu_lengths[0], sdu_lcids[0], offset, - ue_sched_ctl->ta_update, padding, post_padding, mcs, TBS, nb_rb, header_len_dcch, header_len_dtch); - } - //#endif -#ifdef DEBUG_eNB_SCHEDULER - LOG_T(MAC, "[eNB %d] First 16 bytes of DLSCH : \n"); - - for (i = 0; i<16; i++) { - LOG_T(MAC, "%x.", dlsch_buffer[i]); - } - - LOG_T(MAC, "\n"); -#endif - // cycle through SDUs and place in dlsch_buffer - memcpy(&UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset], dlsch_buffer, sdu_length_total); - // memcpy(RC.mac[0].DLSCH_pdu[0][0].payload[0][offset],dcch_buffer,sdu_lengths[0]); - - // fill remainder of DLSCH with random data - for (j = 0; j<(TBS - sdu_length_total - offset); j++) { - UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset + sdu_length_total + j] = (char)(taus() & 0xff); - } - - - if (opt_enabled == 1) { - trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], - TBS, module_idP, 3, UE_RNTI(module_idP, UE_id), - eNB->frame, eNB->subframe, 0, 0); - LOG_D(OPT, "[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", - module_idP, CC_id, frameP, UE_RNTI(module_idP, UE_id), TBS); - } - - T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_BUFFER(UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS)); - - UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb; - - add_ue_dlsch_info(module_idP, - CC_id, - UE_id, - subframeP, - S_DL_SCHEDULED); - // store stats - eNB->eNB_stats[CC_id].dlsch_bytes_tx += sdu_length_total; - eNB->eNB_stats[CC_id].dlsch_pdus_tx += 1; - - UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used += nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = mcs; - UE_list->eNB_UE_stats[CC_id][UE_id].TBS = TBS; - - UE_list->eNB_UE_stats[CC_id][UE_id].overhead_bytes = TBS - sdu_length_total; - UE_list->eNB_UE_stats[CC_id][UE_id].total_sdu_bytes += sdu_length_total; - UE_list->eNB_UE_stats[CC_id][UE_id].total_pdu_bytes += TBS; - UE_list->eNB_UE_stats[CC_id][UE_id].total_num_pdus += 1; - - - - // do PUCCH power control - // this is the normalized RX power - eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; - normalized_rx_power = eNB_UE_stats->Po_PUCCH_dBm; - target_rx_power = get_target_pucch_rx_power(module_idP, CC_id) + 20; - - // this assumes accumulated tpc - // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out - int32_t framex10psubframe = UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame * 10 + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe; - if (((framex10psubframe + 10) <= (frameP * 10 + subframeP)) || //normal case - ((framex10psubframe>(frameP * 10 + subframeP)) && (((10240 - framex10psubframe + frameP * 10 + subframeP) >= 10)))) //frame wrap-around - if (eNB_UE_stats->Po_PUCCH_update == 1) { - eNB_UE_stats->Po_PUCCH_update = 0; - - UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; - UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; - - if (normalized_rx_power>(target_rx_power + 1)) { - tpc = 0; //-1 - tpc_accumulated--; - } - else if (normalized_rx_power<(target_rx_power - 1)) { - tpc = 2; //+1 - tpc_accumulated++; - } - else { - tpc = 1; //0 - } - /* - LOG_I(MAC,"[eNB %d] DLSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", - module_idP,frameP, subframeP,harq_pid,tpc, - tpc_accumulated,normalized_rx_power,target_rx_power);*/ - - } // Po_PUCCH has been updated - else { - tpc = 1; //0 - } // time to do TPC update - else { - tpc = 1; //0 - } - - //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = tpc; // dont adjust power when retransmitting - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; - ////deactivate second codeword - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_2 = 0; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_2 = 1; - // - dl_req->number_dci++; - dl_req->number_pdu++; - - // Toggle NDI for next time - LOG_D(MAC, "CC_id %d Frame %d, subframeP %d: Toggling Format1 NDI for UE %d (rnti %x/%d) oldNDI %d\n", - CC_id, frameP, subframeP, UE_id, - UE_list->UE_template[CC_id][UE_id].rnti, harq_pid, UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]); - - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid] = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid] = mcs; - UE_list->UE_template[CC_id][UE_id].oldmcs2[harq_pid] = 0; - - eNB->TX_req[CC_id].sfn_sf = (frameP << 3) + subframeP; - TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; - TX_req->pdu_length = TBS; - TX_req->pdu_index = eNB->pdu_index[CC_id]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = TBS; - TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char)UE_id].payload[harq_pid]; - eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; - - } - else { // There is no data from RLC or MAC header, so don't schedule - - } - } - - - } // UE_id loop - } // CC_id loop - - - fill_DLSCH_dci(module_idP, frameP, subframeP, mbsfn_flag); - - stop_meas(&eNB->schedule_dlsch); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); - -} //------------------------------------------------------------------------------ void diff --git a/openair2/LAYER2/MAC/eNB_scheduler_mch.c b/openair2/LAYER2/MAC/eNB_scheduler_mch.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c old mode 100644 new mode 100755 index 2c83802677..1aadc0b1bf --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -396,7 +396,11 @@ void rx_sdu(const module_id_t enb_mod_idP, rx_lengths[i], ENB_FLAG_YES, enb_mod_idP, - 0); + 0 + #ifdef Rel14 + ,(eNB->common_channels[CC_idP].RA_template[ii].rach_resource_type>0) + #endif + ); if (num_ce >0) { // handle msg3 which is not RRCConnectionRequest diff --git a/openair2/LAYER2/MAC/extern.h b/openair2/LAYER2/MAC/extern.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/flexran_agent_mac_proto.h b/openair2/LAYER2/MAC/flexran_agent_mac_proto.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c b/openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c b/openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c b/openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h b/openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/flexran_dci_conversions.h b/openair2/LAYER2/MAC/flexran_dci_conversions.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/l1_helpers.c b/openair2/LAYER2/MAC/l1_helpers.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/lte_transport_init.c b/openair2/LAYER2/MAC/lte_transport_init.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/main.c b/openair2/LAYER2/MAC/main.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/openair2_proc.c b/openair2/LAYER2/MAC/openair2_proc.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/proto.h b/openair2/LAYER2/MAC/proto.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/MAC/vars.h b/openair2/LAYER2/MAC/vars.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/Makefile.inc b/openair2/LAYER2/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/Makefile b/openair2/LAYER2/RLC/UM_v9.3.0/Makefile old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/README b/openair2/LAYER2/RLC/UM_v9.3.0/README old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/mac_primitives.h b/openair2/LAYER2/RLC/mac_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc.c b/openair2/LAYER2/RLC/rlc.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc.h b/openair2/LAYER2/RLC/rlc.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc_def.h b/openair2/LAYER2/RLC/rlc_def.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc_def_lte.h b/openair2/LAYER2/RLC/rlc_def_lte.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc_mac.c b/openair2/LAYER2/RLC/rlc_mac.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc_mpls.c b/openair2/LAYER2/RLC/rlc_mpls.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc_primitives.h b/openair2/LAYER2/RLC/rlc_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/RLC/rlc_rrc.c b/openair2/LAYER2/RLC/rlc_rrc.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/openair2_proc.c b/openair2/LAYER2/openair2_proc.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/register.c b/openair2/LAYER2/register.c old mode 100644 new mode 100755 diff --git a/openair2/LAYER2/register.h b/openair2/LAYER2/register.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c b/openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h b/openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c b/openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c b/openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/Makefile.inc b/openair2/NAS/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h b/openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h old mode 100644 new mode 100755 diff --git a/openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c b/openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c old mode 100644 new mode 100755 diff --git a/openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c b/openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/classifier.c b/openair2/NETWORK_DRIVER/LITE/classifier.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/common.c b/openair2/NETWORK_DRIVER/LITE/common.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/constant.h b/openair2/NETWORK_DRIVER/LITE/constant.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/device.c b/openair2/NETWORK_DRIVER/LITE/device.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/ioctl.c b/openair2/NETWORK_DRIVER/LITE/ioctl.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/ioctl.h b/openair2/NETWORK_DRIVER/LITE/ioctl.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/local.h b/openair2/NETWORK_DRIVER/LITE/local.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/netlink.c b/openair2/NETWORK_DRIVER/LITE/netlink.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/proto_extern.h b/openair2/NETWORK_DRIVER/LITE/proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/sap.h b/openair2/NETWORK_DRIVER/LITE/sap.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/LITE/tool.c b/openair2/NETWORK_DRIVER/LITE/tool.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c b/openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/classifier.c b/openair2/NETWORK_DRIVER/MESH/classifier.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/common.c b/openair2/NETWORK_DRIVER/MESH/common.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/constant.h b/openair2/NETWORK_DRIVER/MESH/constant.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/device.c b/openair2/NETWORK_DRIVER/MESH/device.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/ioctl.c b/openair2/NETWORK_DRIVER/MESH/ioctl.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/ioctl.h b/openair2/NETWORK_DRIVER/MESH/ioctl.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/local.h b/openair2/NETWORK_DRIVER/MESH/local.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/mesh.c b/openair2/NETWORK_DRIVER/MESH/mesh.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/netlink.c b/openair2/NETWORK_DRIVER/MESH/netlink.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/proto_extern.h b/openair2/NETWORK_DRIVER/MESH/proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h b/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/sap.h b/openair2/NETWORK_DRIVER/MESH/sap.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/MESH/tool.c b/openair2/NETWORK_DRIVER/MESH/tool.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/common.c b/openair2/NETWORK_DRIVER/UE_IP/common.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/constant.h b/openair2/NETWORK_DRIVER/UE_IP/constant.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/device.c b/openair2/NETWORK_DRIVER/UE_IP/device.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/local.h b/openair2/NETWORK_DRIVER/UE_IP/local.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/netlink.c b/openair2/NETWORK_DRIVER/UE_IP/netlink.c old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h b/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/NETWORK_DRIVER/UE_IP/sap.h b/openair2/NETWORK_DRIVER/UE_IP/sap.h old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/IF_Module.h b/openair2/PHY_INTERFACE/IF_Module.h old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/defs.h b/openair2/PHY_INTERFACE/defs.h old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/extern.h b/openair2/PHY_INTERFACE/extern.h old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/mac_phy_primitives.c b/openair2/PHY_INTERFACE/mac_phy_primitives.c old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/mac_phy_primitives.h b/openair2/PHY_INTERFACE/mac_phy_primitives.h old mode 100644 new mode 100755 diff --git a/openair2/PHY_INTERFACE/vars.h b/openair2/PHY_INTERFACE/vars.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/L2_interface.c b/openair2/RRC/LITE/L2_interface.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/Makefile b/openair2/RRC/LITE/MESSAGES/Makefile old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/Makefile.inc b/openair2/RRC/LITE/MESSAGES/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/README.txt b/openair2/RRC/LITE/MESSAGES/README.txt old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c old mode 100644 new mode 100755 index 9f70de708e..126526deed --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2260,9 +2260,9 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; - epdcch_setconfig_r11->ext2 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11_ext2)); + epdcch_setconfig_r11->ext2 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2)); epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; - epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11_ext2_mpdcch_config_r13)); + epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13)); epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1_patch b/openair2/RRC/LITE/MESSAGES/asn1_patch old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/rtai_mem.c b/openair2/RRC/LITE/MESSAGES/rtai_mem.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/rtai_mem.h b/openair2/RRC/LITE/MESSAGES/rtai_mem.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/extern.h b/openair2/RRC/LITE/extern.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/mesh_top.c b/openair2/RRC/LITE/mesh_top.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/plmn_data.h b/openair2/RRC/LITE/plmn_data.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/proto.h b/openair2/RRC/LITE/proto.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_2_rrm_msg.c b/openair2/RRC/LITE/rrc_2_rrm_msg.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_UE_ral.c b/openair2/RRC/LITE/rrc_UE_ral.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_UE_ral.h b/openair2/RRC/LITE/rrc_UE_ral.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_GTPV1U.c b/openair2/RRC/LITE/rrc_eNB_GTPV1U.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_GTPV1U.h b/openair2/RRC/LITE/rrc_eNB_GTPV1U.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_S1AP.c b/openair2/RRC/LITE/rrc_eNB_S1AP.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_S1AP.h b/openair2/RRC/LITE/rrc_eNB_S1AP.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_UE_context.c b/openair2/RRC/LITE/rrc_eNB_UE_context.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_UE_context.h b/openair2/RRC/LITE/rrc_eNB_UE_context.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_ral.c b/openair2/RRC/LITE/rrc_eNB_ral.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_eNB_ral.h b/openair2/RRC/LITE/rrc_eNB_ral.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_rrm_interface.c b/openair2/RRC/LITE/rrc_rrm_interface.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_rrm_interface.h b/openair2/RRC/LITE/rrc_rrm_interface.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrc_types.h b/openair2/RRC/LITE/rrc_types.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/rrm_2_rrc_msg.c b/openair2/RRC/LITE/rrm_2_rrc_msg.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/utils.c b/openair2/RRC/LITE/utils.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/vars.h b/openair2/RRC/LITE/vars.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/NAS/Makefile.inc b/openair2/RRC/NAS/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/RRC/NAS/nas_config.c b/openair2/RRC/NAS/nas_config.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/NAS/nas_config.h b/openair2/RRC/NAS/nas_config.h old mode 100644 new mode 100755 diff --git a/openair2/RRC/NAS/rb_config.c b/openair2/RRC/NAS/rb_config.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/NAS/rb_config.h b/openair2/RRC/NAS/rb_config.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/link_manager.c b/openair2/UTIL/ASYNC_IF/link_manager.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/link_manager.h b/openair2/UTIL/ASYNC_IF/link_manager.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/message_queue.c b/openair2/UTIL/ASYNC_IF/message_queue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/message_queue.h b/openair2/UTIL/ASYNC_IF/message_queue.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/ringbuffer_queue.c b/openair2/UTIL/ASYNC_IF/ringbuffer_queue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/ringbuffer_queue.h b/openair2/UTIL/ASYNC_IF/ringbuffer_queue.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/socket_link.c b/openair2/UTIL/ASYNC_IF/socket_link.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/ASYNC_IF/socket_link.h b/openair2/UTIL/ASYNC_IF/socket_link.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/BIGPHYS/bigphys.c b/openair2/UTIL/BIGPHYS/bigphys.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/BIGPHYS/defs.h b/openair2/UTIL/BIGPHYS/defs.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/CLI/cli.c b/openair2/UTIL/CLI/cli.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/CLI/cli.h b/openair2/UTIL/CLI/cli.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/CLI/cli_cmd.c b/openair2/UTIL/CLI/cli_cmd.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/CLI/cli_if.h b/openair2/UTIL/CLI/cli_if.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/CLI/cli_server.c b/openair2/UTIL/CLI/cli_server.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/FIFO/pad_list.c b/openair2/UTIL/FIFO/pad_list.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/FIFO/pad_list.h b/openair2/UTIL/FIFO/pad_list.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/FIFO/types.h b/openair2/UTIL/FIFO/types.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.linux b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.linux old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.windows b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.windows old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt b/openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux b/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.windows b/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.windows old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln b/openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj b/openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_and_gnumake/Makefile b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_and_gnumake/Makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Makefile b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/makefile b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.user old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.user old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.user old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/gcc_and_gnumake/Makefile b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/gcc_and_gnumake/Makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/sdk_for_windows_7_and_gnumake/makefile b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/sdk_for_windows_7_and_gnumake/makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.user old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LISTS/list.c b/openair2/UTIL/LISTS/list.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LISTS/list.h b/openair2/UTIL/LISTS/list.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LISTS/list2.c b/openair2/UTIL/LISTS/list2.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/README.txt b/openair2/UTIL/LOG/README.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/log.c b/openair2/UTIL/LOG/log.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/log.h b/openair2/UTIL/LOG/log.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/log_extern.h b/openair2/UTIL/LOG/log_extern.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/log_if.h b/openair2/UTIL/LOG/log_if.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.c b/openair2/UTIL/LOG/vcd_signal_dumper.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.h b/openair2/UTIL/LOG/vcd_signal_dumper.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MATH/crc_byte.c b/openair2/UTIL/MATH/crc_byte.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MATH/oml.c b/openair2/UTIL/MATH/oml.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MATH/oml.h b/openair2/UTIL/MATH/oml.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MATH/random.c b/openair2/UTIL/MATH/random.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MATH/random_proto_extern.h b/openair2/UTIL/MATH/random_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MATH/taus.c b/openair2/UTIL/MATH/taus.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MEM/mem_block.c b/openair2/UTIL/MEM/mem_block.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MEM/mem_block.h b/openair2/UTIL/MEM/mem_block.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MEM/mem_mngt.c b/openair2/UTIL/MEM/mem_mngt.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MEM/mem_mngt_proto_extern.h b/openair2/UTIL/MEM/mem_mngt_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/MEM/mem_pool.h b/openair2/UTIL/MEM/mem_pool.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/Makefile.inc b/openair2/UTIL/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/.directory b/openair2/UTIL/OCG/.directory old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/Doxyfile b/openair2/UTIL/OCG/Doxyfile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG.c b/openair2/UTIL/OCG/OCG.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG.h b/openair2/UTIL/OCG/OCG.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_call_emu.c b/openair2/UTIL/OCG/OCG_call_emu.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_call_emu.h b/openair2/UTIL/OCG/OCG_call_emu.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_config_mobi.c b/openair2/UTIL/OCG/OCG_config_mobi.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_config_mobi.h b/openair2/UTIL/OCG/OCG_config_mobi.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_create_dir.c b/openair2/UTIL/OCG/OCG_create_dir.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_create_dir.h b/openair2/UTIL/OCG/OCG_create_dir.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_detect_file.c b/openair2/UTIL/OCG/OCG_detect_file.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_detect_file.h b/openair2/UTIL/OCG/OCG_detect_file.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_extern.h b/openair2/UTIL/OCG/OCG_extern.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_generate_report.c b/openair2/UTIL/OCG/OCG_generate_report.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_generate_report.h b/openair2/UTIL/OCG/OCG_generate_report.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_get_opt.c b/openair2/UTIL/OCG/OCG_get_opt.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_get_opt.h b/openair2/UTIL/OCG/OCG_get_opt.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_if.h b/openair2/UTIL/OCG/OCG_if.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_parse_XML.c b/openair2/UTIL/OCG/OCG_parse_XML.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_parse_XML.h b/openair2/UTIL/OCG/OCG_parse_XML.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_parse_filename.c b/openair2/UTIL/OCG/OCG_parse_filename.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_parse_filename.h b/openair2/UTIL/OCG/OCG_parse_filename.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_save_XML.c b/openair2/UTIL/OCG/OCG_save_XML.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_save_XML.h b/openair2/UTIL/OCG/OCG_save_XML.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/OCG_vars.h b/openair2/UTIL/OCG/OCG_vars.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml b/openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/eurecom_20110208110244.xml b/openair2/UTIL/OCG/eurecom_20110208110244.xml old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml b/openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/makefile b/openair2/UTIL/OCG/makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/readme.txt b/openair2/UTIL/OCG/readme.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OCG/temp_output/OCG_report.xml b/openair2/UTIL/OCG/temp_output/OCG_report.xml old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf b/openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf b/openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/README.TXT b/openair2/UTIL/OMG/TRACE/README.TXT old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/example_trace.tr b/openair2/UTIL/OMG/TRACE/example_trace.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/handover.tr b/openair2/UTIL/OMG/TRACE/handover.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/handover_1ue.tr b/openair2/UTIL/OMG/TRACE/handover_1ue.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr b/openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/mobility_2ues.tr b/openair2/UTIL/OMG/TRACE/mobility_2ues.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/mobility_3ues.tr b/openair2/UTIL/OMG/TRACE/mobility_3ues.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/regular.tr b/openair2/UTIL/OMG/TRACE/regular.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/static_1enb.tr b/openair2/UTIL/OMG/TRACE/static_1enb.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/static_2ues.tr b/openair2/UTIL/OMG/TRACE/static_2ues.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/TRACE/zero_speed.tr b/openair2/UTIL/OMG/TRACE/zero_speed.tr old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/common.c b/openair2/UTIL/OMG/common.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/defs.h b/openair2/UTIL/OMG/defs.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/grid.c b/openair2/UTIL/OMG/grid.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/grid.h b/openair2/UTIL/OMG/grid.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/job.c b/openair2/UTIL/OMG/job.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/makefile b/openair2/UTIL/OMG/makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/makefile_old b/openair2/UTIL/OMG/makefile_old old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/makefile_standalone b/openair2/UTIL/OMG/makefile_standalone old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/mobility.txt b/openair2/UTIL/OMG/mobility.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/mobility_parser.c b/openair2/UTIL/OMG/mobility_parser.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/mobility_parser.h b/openair2/UTIL/OMG/mobility_parser.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/omg.c b/openair2/UTIL/OMG/omg.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/omg.h b/openair2/UTIL/OMG/omg.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/omg_constants.h b/openair2/UTIL/OMG/omg_constants.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/omg_hashtable.c b/openair2/UTIL/OMG/omg_hashtable.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/omg_hashtable.h b/openair2/UTIL/OMG/omg_hashtable.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/omg_vars.h b/openair2/UTIL/OMG/omg_vars.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/rwalk.c b/openair2/UTIL/OMG/rwalk.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/rwalk.h b/openair2/UTIL/OMG/rwalk.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/rwp.c b/openair2/UTIL/OMG/rwp.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/rwp.h b/openair2/UTIL/OMG/rwp.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/static.c b/openair2/UTIL/OMG/static.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/static.h b/openair2/UTIL/OMG/static.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/steadystaterwp.c b/openair2/UTIL/OMG/steadystaterwp.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/steadystaterwp.h b/openair2/UTIL/OMG/steadystaterwp.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/trace.c b/openair2/UTIL/OMG/trace.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/trace.h b/openair2/UTIL/OMG/trace.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/trace_hashtable.c b/openair2/UTIL/OMG/trace_hashtable.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMG/trace_hashtable.h b/openair2/UTIL/OMG/trace_hashtable.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/README.txt b/openair2/UTIL/OMV/README.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/blue.png b/openair2/UTIL/OMV/blue.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/communicationthread.cpp b/openair2/UTIL/OMV/communicationthread.cpp old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/communicationthread.h b/openair2/UTIL/OMV/communicationthread.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/green.png b/openair2/UTIL/OMV/green.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/jpg.jpeg b/openair2/UTIL/OMV/jpg.jpeg old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/mus.png b/openair2/UTIL/OMV/mus.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/mywindow.cpp b/openair2/UTIL/OMV/mywindow.cpp old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/mywindow.h b/openair2/UTIL/OMV/mywindow.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/new.jpg b/openair2/UTIL/OMV/new.jpg old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/new2.jpg b/openair2/UTIL/OMV/new2.jpg old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/omv.cpp b/openair2/UTIL/OMV/omv.cpp old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/openglwidget.cpp b/openair2/UTIL/OMV/openglwidget.cpp old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/openglwidget.h b/openair2/UTIL/OMV/openglwidget.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/red.png b/openair2/UTIL/OMV/red.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/structures.h b/openair2/UTIL/OMV/structures.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/white.png b/openair2/UTIL/OMV/white.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OMV/wow.png b/openair2/UTIL/OMV/wow.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OPT/README.txt b/openair2/UTIL/OPT/README.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OPT/mac_pcap.h b/openair2/UTIL/OPT/mac_pcap.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OPT/opt.h b/openair2/UTIL/OPT/opt.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OPT/packet-mac-lte.h b/openair2/UTIL/OPT/packet-mac-lte.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OPT/probe.c b/openair2/UTIL/OPT/probe.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OPT/vars.h b/openair2/UTIL/OPT/vars.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/README b/openair2/UTIL/OSA/README old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_defs.h b/openair2/UTIL/OSA/osa_defs.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_internal.h b/openair2/UTIL/OSA/osa_internal.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_key_deriver.c b/openair2/UTIL/OSA/osa_key_deriver.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_rijndael.c b/openair2/UTIL/OSA/osa_rijndael.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_rijndael.h b/openair2/UTIL/OSA/osa_rijndael.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_snow3g.c b/openair2/UTIL/OSA/osa_snow3g.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_snow3g.h b/openair2/UTIL/OSA/osa_snow3g.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_stream_eea.c b/openair2/UTIL/OSA/osa_stream_eea.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSA/osa_stream_eia.c b/openair2/UTIL/OSA/osa_stream_eia.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/OCG.pid b/openair2/UTIL/OSD/OCG.pid old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/OpenAirEmu.conf b/openair2/UTIL/OSD/OpenAirEmu.conf old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/Platform_is_running.php b/openair2/UTIL/OSD/Platform_is_running.php old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/README.txt b/openair2/UTIL/OSD/README.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/blueprint.css b/openair2/UTIL/OSD/css/blueprint.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/fix-ie-rtl.css b/openair2/UTIL/OSD/css/fix-ie-rtl.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/fix-ie.css b/openair2/UTIL/OSD/css/fix-ie.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/ie.css b/openair2/UTIL/OSD/css/ie.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/ie6.css b/openair2/UTIL/OSD/css/ie6.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/images/false.png b/openair2/UTIL/OSD/css/images/false.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/images/false2.png b/openair2/UTIL/OSD/css/images/false2.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/images/lquote.png b/openair2/UTIL/OSD/css/images/lquote.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/images/true.png b/openair2/UTIL/OSD/css/images/true.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/images/warning.png b/openair2/UTIL/OSD/css/images/warning.png old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/print.css b/openair2/UTIL/OSD/css/print.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/screen.css b/openair2/UTIL/OSD/css/screen.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/css/style.css b/openair2/UTIL/OSD/css/style.css old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/form.php b/openair2/UTIL/OSD/form.php old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/header.php b/openair2/UTIL/OSD/header.php old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/httpd-result.conf b/openair2/UTIL/OSD/httpd-result.conf old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/index.php b/openair2/UTIL/OSD/index.php old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/jquery/jquery.js b/openair2/UTIL/OSD/jquery/jquery.js old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/recep.php b/openair2/UTIL/OSD/recep.php old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OSD/toto.php b/openair2/UTIL/OSD/toto.php old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/Doxyfile b/openair2/UTIL/OTG/Doxyfile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/help_OTGplot.txt b/openair2/UTIL/OTG/help_OTGplot.txt old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/main.c b/openair2/UTIL/OTG/main.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/makefile b/openair2/UTIL/OTG/makefile old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg.c b/openair2/UTIL/OTG/otg.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg.h b/openair2/UTIL/OTG/otg.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_config.h b/openair2/UTIL/OTG/otg_config.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_defs.h b/openair2/UTIL/OTG/otg_defs.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_externs.h b/openair2/UTIL/OTG/otg_externs.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_form.c b/openair2/UTIL/OTG/otg_form.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_form.h b/openair2/UTIL/OTG/otg_form.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_kpi.c b/openair2/UTIL/OTG/otg_kpi.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_kpi.h b/openair2/UTIL/OTG/otg_kpi.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_models.c b/openair2/UTIL/OTG/otg_models.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_models.h b/openair2/UTIL/OTG/otg_models.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_rx.c b/openair2/UTIL/OTG/otg_rx.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_rx.h b/openair2/UTIL/OTG/otg_rx.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_rx_socket.c b/openair2/UTIL/OTG/otg_rx_socket.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_rx_socket.h b/openair2/UTIL/OTG/otg_rx_socket.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_tx.c b/openair2/UTIL/OTG/otg_tx.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_tx.h b/openair2/UTIL/OTG/otg_tx.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_tx_socket.c b/openair2/UTIL/OTG/otg_tx_socket.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_tx_socket.h b/openair2/UTIL/OTG/otg_tx_socket.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/otg_vars.h b/openair2/UTIL/OTG/otg_vars.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/OTG/traffic_config.h b/openair2/UTIL/OTG/traffic_config.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TIMER/umts_timer.c b/openair2/UTIL/TIMER/umts_timer.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TIMER/umts_timer.h b/openair2/UTIL/TIMER/umts_timer.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TIMER/umts_timer_proto_extern.h b/openair2/UTIL/TIMER/umts_timer_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TIMER/umts_timer_struct.h b/openair2/UTIL/TIMER/umts_timer_struct.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TRACE/fifo_printf.c b/openair2/UTIL/TRACE/fifo_printf.c old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TRACE/fifo_printf.h b/openair2/UTIL/TRACE/fifo_printf.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TRACE/fifo_printf_proto_extern.h b/openair2/UTIL/TRACE/fifo_printf_proto_extern.h old mode 100644 new mode 100755 diff --git a/openair2/UTIL/TRACE/print.h b/openair2/UTIL/TRACE/print.h old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/Makefile.inc b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/Makefile.inc old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn b/openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn old mode 100644 new mode 100755 diff --git a/openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py b/openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py old mode 100644 new mode 100755 diff --git a/openair2/X2AP/x2ap.c b/openair2/X2AP/x2ap.c old mode 100644 new mode 100755 diff --git a/openair2/X2AP/x2ap.h b/openair2/X2AP/x2ap.h old mode 100644 new mode 100755 diff --git a/openair2/X2AP/x2ap_common.c b/openair2/X2AP/x2ap_common.c old mode 100644 new mode 100755 diff --git a/openair2/X2AP/x2ap_common.h b/openair2/X2AP/x2ap_common.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/as_message.h b/openair3/COMMON/as_message.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/common_types.h b/openair3/COMMON/common_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/gtpv1_u_messages_def.h b/openair3/COMMON/gtpv1_u_messages_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/gtpv1_u_messages_types.h b/openair3/COMMON/gtpv1_u_messages_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/intertask_interface_conf.h b/openair3/COMMON/intertask_interface_conf.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/messages_def.h b/openair3/COMMON/messages_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/messages_types.h b/openair3/COMMON/messages_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/nas_messages_def.h b/openair3/COMMON/nas_messages_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/nas_messages_types.h b/openair3/COMMON/nas_messages_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/s1ap_messages_def.h b/openair3/COMMON/s1ap_messages_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/s1ap_messages_types.h b/openair3/COMMON/s1ap_messages_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/sctp_messages_def.h b/openair3/COMMON/sctp_messages_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/sctp_messages_types.h b/openair3/COMMON/sctp_messages_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/security_types.h b/openair3/COMMON/security_types.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/tasks_def.h b/openair3/COMMON/tasks_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/udp_messages_def.h b/openair3/COMMON/udp_messages_def.h old mode 100644 new mode 100755 diff --git a/openair3/COMMON/udp_messages_types.h b/openair3/COMMON/udp_messages_types.h old mode 100644 new mode 100755 diff --git a/openair3/DOCS/DOXYGEN/Doxyfile.in b/openair3/DOCS/DOXYGEN/Doxyfile.in old mode 100644 new mode 100755 diff --git a/openair3/DOCS/DOXYGEN/Makefile.am b/openair3/DOCS/DOXYGEN/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf b/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf old mode 100644 new mode 100755 diff --git a/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex b/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex old mode 100644 new mode 100755 diff --git a/openair3/DOCS/Latex/EPC/EPC.pdf b/openair3/DOCS/Latex/EPC/EPC.pdf old mode 100644 new mode 100755 diff --git a/openair3/DOCS/Latex/EPC/EPC.tex b/openair3/DOCS/Latex/EPC/EPC.tex old mode 100644 new mode 100755 diff --git a/openair3/DOCS/Latex/EPC/Makefile b/openair3/DOCS/Latex/EPC/Makefile old mode 100644 new mode 100755 diff --git a/openair3/DOCS/Makefile.am b/openair3/DOCS/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/Makefile.am b/openair3/GTPV1-U/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/Makefile.eNB b/openair3/GTPV1-U/Makefile.eNB old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u.h b/openair3/GTPV1-U/gtpv1u.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u_eNB.c b/openair3/GTPV1-U/gtpv1u_eNB.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u_eNB_defs.h b/openair3/GTPV1-U/gtpv1u_eNB_defs.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u_eNB_task.h b/openair3/GTPV1-U/gtpv1u_eNB_task.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u_sgw_defs.h b/openair3/GTPV1-U/gtpv1u_sgw_defs.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u_task.c b/openair3/GTPV1-U/gtpv1u_task.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/gtpv1u_teid_pool.c b/openair3/GTPV1-U/gtpv1u_teid_pool.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/AUTHORS b/openair3/GTPV1-U/nw-gtpv1u/AUTHORS old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/COPYING b/openair3/GTPV1-U/nw-gtpv1u/COPYING old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/ChangeLog b/openair3/GTPV1-U/nw-gtpv1u/ChangeLog old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/NEWS b/openair3/GTPV1-U/nw-gtpv1u/NEWS old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/README b/openair3/GTPV1-U/nw-gtpv1u/README old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am b/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in b/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h old mode 100644 new mode 100755 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/Makefile b/openair3/NAS/COMMON/API/NETWORK/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/as_message.c b/openair3/NAS/COMMON/API/NETWORK/as_message.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/as_message.h b/openair3/NAS/COMMON/API/NETWORK/as_message.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/l2_message.h b/openair3/NAS/COMMON/API/NETWORK/l2_message.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/nas_message.c b/openair3/NAS/COMMON/API/NETWORK/nas_message.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/nas_message.h b/openair3/NAS/COMMON/API/NETWORK/nas_message.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/network_api.c b/openair3/NAS/COMMON/API/NETWORK/network_api.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/API/NETWORK/network_api.h b/openair3/NAS/COMMON/API/NETWORK/network_api.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachAccept.c b/openair3/NAS/COMMON/EMM/MSG/AttachAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachAccept.h b/openair3/NAS/COMMON/EMM/MSG/AttachAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachComplete.c b/openair3/NAS/COMMON/EMM/MSG/AttachComplete.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachComplete.h b/openair3/NAS/COMMON/EMM/MSG/AttachComplete.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachReject.c b/openair3/NAS/COMMON/EMM/MSG/AttachReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachReject.h b/openair3/NAS/COMMON/EMM/MSG/AttachReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachRequest.c b/openair3/NAS/COMMON/EMM/MSG/AttachRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachRequest.h b/openair3/NAS/COMMON/EMM/MSG/AttachRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c b/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h b/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachAccept.c b/openair3/NAS/COMMON/EMM/MSG/DetachAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachAccept.h b/openair3/NAS/COMMON/EMM/MSG/DetachAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachRequest.c b/openair3/NAS/COMMON/EMM/MSG/DetachRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachRequest.h b/openair3/NAS/COMMON/EMM/MSG/DetachRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c b/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h b/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmInformation.c b/openair3/NAS/COMMON/EMM/MSG/EmmInformation.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmInformation.h b/openair3/NAS/COMMON/EMM/MSG/EmmInformation.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmStatus.c b/openair3/NAS/COMMON/EMM/MSG/EmmStatus.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmStatus.h b/openair3/NAS/COMMON/EMM/MSG/EmmStatus.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c b/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h b/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c b/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h b/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c b/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h b/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/Makefile b/openair3/NAS/COMMON/EMM/MSG/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h b/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h b/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c b/openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c b/openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c b/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h b/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceReject.c b/openair3/NAS/COMMON/EMM/MSG/ServiceReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceReject.h b/openair3/NAS/COMMON/EMM/MSG/ServiceReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c b/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h b/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c b/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h b/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_cause.h b/openair3/NAS/COMMON/EMM/MSG/emm_cause.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_msg.c b/openair3/NAS/COMMON/EMM/MSG/emm_msg.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_msg.h b/openair3/NAS/COMMON/EMM/MSG/emm_msg.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h b/openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c b/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h b/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c b/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h b/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmStatus.c b/openair3/NAS/COMMON/ESM/MSG/EsmStatus.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmStatus.h b/openair3/NAS/COMMON/ESM/MSG/EsmStatus.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/Makefile b/openair3/NAS/COMMON/ESM/MSG/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_cause.h b/openair3/NAS/COMMON/ESM/MSG/esm_cause.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_msg.c b/openair3/NAS/COMMON/ESM/MSG/esm_msg.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_msg.h b/openair3/NAS/COMMON/ESM/MSG/esm_msg.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h b/openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AccessPointName.c b/openair3/NAS/COMMON/IES/AccessPointName.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AccessPointName.h b/openair3/NAS/COMMON/IES/AccessPointName.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateResult.c b/openair3/NAS/COMMON/IES/AdditionalUpdateResult.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateResult.h b/openair3/NAS/COMMON/IES/AdditionalUpdateResult.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateType.c b/openair3/NAS/COMMON/IES/AdditionalUpdateType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateType.h b/openair3/NAS/COMMON/IES/AdditionalUpdateType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c b/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h b/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c b/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h b/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c b/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h b/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterRand.c b/openair3/NAS/COMMON/IES/AuthenticationParameterRand.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterRand.h b/openair3/NAS/COMMON/IES/AuthenticationParameterRand.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c b/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h b/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c b/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h b/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/Cli.c b/openair3/NAS/COMMON/IES/Cli.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/Cli.h b/openair3/NAS/COMMON/IES/Cli.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/CsfbResponse.c b/openair3/NAS/COMMON/IES/CsfbResponse.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/CsfbResponse.h b/openair3/NAS/COMMON/IES/CsfbResponse.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/DaylightSavingTime.c b/openair3/NAS/COMMON/IES/DaylightSavingTime.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/DaylightSavingTime.h b/openair3/NAS/COMMON/IES/DaylightSavingTime.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/DetachType.c b/openair3/NAS/COMMON/IES/DetachType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/DetachType.h b/openair3/NAS/COMMON/IES/DetachType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/DrxParameter.c b/openair3/NAS/COMMON/IES/DrxParameter.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/DrxParameter.h b/openair3/NAS/COMMON/IES/DrxParameter.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EmergencyNumberList.c b/openair3/NAS/COMMON/IES/EmergencyNumberList.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EmergencyNumberList.h b/openair3/NAS/COMMON/IES/EmergencyNumberList.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EmmCause.c b/openair3/NAS/COMMON/IES/EmmCause.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EmmCause.h b/openair3/NAS/COMMON/IES/EmmCause.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsAttachResult.c b/openair3/NAS/COMMON/IES/EpsAttachResult.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsAttachResult.h b/openair3/NAS/COMMON/IES/EpsAttachResult.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsAttachType.c b/openair3/NAS/COMMON/IES/EpsAttachType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsAttachType.h b/openair3/NAS/COMMON/IES/EpsAttachType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsBearerContextStatus.c b/openair3/NAS/COMMON/IES/EpsBearerContextStatus.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsBearerContextStatus.h b/openair3/NAS/COMMON/IES/EpsBearerContextStatus.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsBearerIdentity.c b/openair3/NAS/COMMON/IES/EpsBearerIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsBearerIdentity.h b/openair3/NAS/COMMON/IES/EpsBearerIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsMobileIdentity.c b/openair3/NAS/COMMON/IES/EpsMobileIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsMobileIdentity.h b/openair3/NAS/COMMON/IES/EpsMobileIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c b/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h b/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsQualityOfService.c b/openair3/NAS/COMMON/IES/EpsQualityOfService.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsQualityOfService.h b/openair3/NAS/COMMON/IES/EpsQualityOfService.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateResult.c b/openair3/NAS/COMMON/IES/EpsUpdateResult.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateResult.h b/openair3/NAS/COMMON/IES/EpsUpdateResult.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateType.c b/openair3/NAS/COMMON/IES/EpsUpdateType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateType.h b/openair3/NAS/COMMON/IES/EpsUpdateType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EsmCause.c b/openair3/NAS/COMMON/IES/EsmCause.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EsmCause.h b/openair3/NAS/COMMON/IES/EsmCause.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c b/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h b/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EsmMessageContainer.c b/openair3/NAS/COMMON/IES/EsmMessageContainer.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/EsmMessageContainer.h b/openair3/NAS/COMMON/IES/EsmMessageContainer.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/GprsTimer.c b/openair3/NAS/COMMON/IES/GprsTimer.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/GprsTimer.h b/openair3/NAS/COMMON/IES/GprsTimer.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/GutiType.c b/openair3/NAS/COMMON/IES/GutiType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/GutiType.h b/openair3/NAS/COMMON/IES/GutiType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/IdentityType2.c b/openair3/NAS/COMMON/IES/IdentityType2.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/IdentityType2.h b/openair3/NAS/COMMON/IES/IdentityType2.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ImeisvRequest.c b/openair3/NAS/COMMON/IES/ImeisvRequest.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ImeisvRequest.h b/openair3/NAS/COMMON/IES/ImeisvRequest.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c b/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h b/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LcsClientIdentity.c b/openair3/NAS/COMMON/IES/LcsClientIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LcsClientIdentity.h b/openair3/NAS/COMMON/IES/LcsClientIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LcsIndicator.c b/openair3/NAS/COMMON/IES/LcsIndicator.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LcsIndicator.h b/openair3/NAS/COMMON/IES/LcsIndicator.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c b/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h b/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c b/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h b/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LocationAreaIdentification.c b/openair3/NAS/COMMON/IES/LocationAreaIdentification.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/LocationAreaIdentification.h b/openair3/NAS/COMMON/IES/LocationAreaIdentification.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/Makefile b/openair3/NAS/COMMON/IES/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MessageType.c b/openair3/NAS/COMMON/IES/MessageType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MessageType.h b/openair3/NAS/COMMON/IES/MessageType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MobileIdentity.c b/openair3/NAS/COMMON/IES/MobileIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MobileIdentity.h b/openair3/NAS/COMMON/IES/MobileIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark2.c b/openair3/NAS/COMMON/IES/MobileStationClassmark2.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark2.h b/openair3/NAS/COMMON/IES/MobileStationClassmark2.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark3.c b/openair3/NAS/COMMON/IES/MobileStationClassmark3.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark3.h b/openair3/NAS/COMMON/IES/MobileStationClassmark3.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MsNetworkCapability.c b/openair3/NAS/COMMON/IES/MsNetworkCapability.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MsNetworkCapability.h b/openair3/NAS/COMMON/IES/MsNetworkCapability.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c b/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h b/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasKeySetIdentifier.c b/openair3/NAS/COMMON/IES/NasKeySetIdentifier.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasKeySetIdentifier.h b/openair3/NAS/COMMON/IES/NasKeySetIdentifier.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasMessageContainer.c b/openair3/NAS/COMMON/IES/NasMessageContainer.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasMessageContainer.h b/openair3/NAS/COMMON/IES/NasMessageContainer.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasRequestType.c b/openair3/NAS/COMMON/IES/NasRequestType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasRequestType.h b/openair3/NAS/COMMON/IES/NasRequestType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c b/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h b/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NetworkName.c b/openair3/NAS/COMMON/IES/NetworkName.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/NetworkName.h b/openair3/NAS/COMMON/IES/NetworkName.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/Nonce.c b/openair3/NAS/COMMON/IES/Nonce.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/Nonce.h b/openair3/NAS/COMMON/IES/Nonce.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PTmsiSignature.c b/openair3/NAS/COMMON/IES/PTmsiSignature.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PTmsiSignature.h b/openair3/NAS/COMMON/IES/PTmsiSignature.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PacketFlowIdentifier.c b/openair3/NAS/COMMON/IES/PacketFlowIdentifier.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PacketFlowIdentifier.h b/openair3/NAS/COMMON/IES/PacketFlowIdentifier.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PagingIdentity.c b/openair3/NAS/COMMON/IES/PagingIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PagingIdentity.h b/openair3/NAS/COMMON/IES/PagingIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PdnAddress.c b/openair3/NAS/COMMON/IES/PdnAddress.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PdnAddress.h b/openair3/NAS/COMMON/IES/PdnAddress.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PdnType.c b/openair3/NAS/COMMON/IES/PdnType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PdnType.h b/openair3/NAS/COMMON/IES/PdnType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PlmnList.c b/openair3/NAS/COMMON/IES/PlmnList.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/PlmnList.h b/openair3/NAS/COMMON/IES/PlmnList.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c b/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h b/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c b/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h b/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ProtocolDiscriminator.c b/openair3/NAS/COMMON/IES/ProtocolDiscriminator.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ProtocolDiscriminator.h b/openair3/NAS/COMMON/IES/ProtocolDiscriminator.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/QualityOfService.c b/openair3/NAS/COMMON/IES/QualityOfService.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/QualityOfService.h b/openair3/NAS/COMMON/IES/QualityOfService.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/RadioPriority.c b/openair3/NAS/COMMON/IES/RadioPriority.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/RadioPriority.h b/openair3/NAS/COMMON/IES/RadioPriority.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/SecurityHeaderType.c b/openair3/NAS/COMMON/IES/SecurityHeaderType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/SecurityHeaderType.h b/openair3/NAS/COMMON/IES/SecurityHeaderType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ServiceType.c b/openair3/NAS/COMMON/IES/ServiceType.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ServiceType.h b/openair3/NAS/COMMON/IES/ServiceType.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ShortMac.c b/openair3/NAS/COMMON/IES/ShortMac.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/ShortMac.h b/openair3/NAS/COMMON/IES/ShortMac.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/SsCode.c b/openair3/NAS/COMMON/IES/SsCode.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/SsCode.h b/openair3/NAS/COMMON/IES/SsCode.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/SupportedCodecList.c b/openair3/NAS/COMMON/IES/SupportedCodecList.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/SupportedCodecList.h b/openair3/NAS/COMMON/IES/SupportedCodecList.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TimeZone.c b/openair3/NAS/COMMON/IES/TimeZone.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TimeZone.h b/openair3/NAS/COMMON/IES/TimeZone.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TimeZoneAndTime.c b/openair3/NAS/COMMON/IES/TimeZoneAndTime.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TimeZoneAndTime.h b/openair3/NAS/COMMON/IES/TimeZoneAndTime.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TmsiStatus.c b/openair3/NAS/COMMON/IES/TmsiStatus.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TmsiStatus.h b/openair3/NAS/COMMON/IES/TmsiStatus.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentity.c b/openair3/NAS/COMMON/IES/TrackingAreaIdentity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentity.h b/openair3/NAS/COMMON/IES/TrackingAreaIdentity.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c b/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h b/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c b/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h b/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowTemplate.c b/openair3/NAS/COMMON/IES/TrafficFlowTemplate.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowTemplate.h b/openair3/NAS/COMMON/IES/TrafficFlowTemplate.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TransactionIdentifier.c b/openair3/NAS/COMMON/IES/TransactionIdentifier.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/TransactionIdentifier.h b/openair3/NAS/COMMON/IES/TransactionIdentifier.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/UeNetworkCapability.c b/openair3/NAS/COMMON/IES/UeNetworkCapability.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/UeNetworkCapability.h b/openair3/NAS/COMMON/IES/UeNetworkCapability.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c b/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h b/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/UeSecurityCapability.c b/openair3/NAS/COMMON/IES/UeSecurityCapability.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/UeSecurityCapability.h b/openair3/NAS/COMMON/IES/UeSecurityCapability.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c b/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h b/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/Makefile b/openair3/NAS/COMMON/UTIL/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/OctetString.c b/openair3/NAS/COMMON/UTIL/OctetString.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/OctetString.h b/openair3/NAS/COMMON/UTIL/OctetString.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/TLVDecoder.c b/openair3/NAS/COMMON/UTIL/TLVDecoder.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/TLVDecoder.h b/openair3/NAS/COMMON/UTIL/TLVDecoder.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/TLVEncoder.c b/openair3/NAS/COMMON/UTIL/TLVEncoder.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/TLVEncoder.h b/openair3/NAS/COMMON/UTIL/TLVEncoder.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/device.c b/openair3/NAS/COMMON/UTIL/device.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/device.h b/openair3/NAS/COMMON/UTIL/device.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/memory.c b/openair3/NAS/COMMON/UTIL/memory.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/memory.h b/openair3/NAS/COMMON/UTIL/memory.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/nas_log.c b/openair3/NAS/COMMON/UTIL/nas_log.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/nas_log.h b/openair3/NAS/COMMON/UTIL/nas_log.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/nas_timer.c b/openair3/NAS/COMMON/UTIL/nas_timer.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/nas_timer.h b/openair3/NAS/COMMON/UTIL/nas_timer.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/parser.c b/openair3/NAS/COMMON/UTIL/parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/parser.h b/openair3/NAS/COMMON/UTIL/parser.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/socket.c b/openair3/NAS/COMMON/UTIL/socket.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/socket.h b/openair3/NAS/COMMON/UTIL/socket.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/stty.c b/openair3/NAS/COMMON/UTIL/stty.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/tst/Makefile b/openair3/NAS/COMMON/UTIL/tst/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/tst/timer.c b/openair3/NAS/COMMON/UTIL/tst/timer.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/UTIL/tst/timer_debug.txt b/openair3/NAS/COMMON/UTIL/tst/timer_debug.txt old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/commonDef.h b/openair3/NAS/COMMON/commonDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/networkDef.h b/openair3/NAS/COMMON/networkDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/securityDef.h b/openair3/NAS/COMMON/securityDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/COMMON/userDef.h b/openair3/NAS/COMMON/userDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/Makefile b/openair3/NAS/TEST/AS_SIMULATOR/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_data.c b/openair3/NAS/TEST/AS_SIMULATOR/as_data.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_data.h b/openair3/NAS/TEST/AS_SIMULATOR/as_data.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_process.c b/openair3/NAS/TEST/AS_SIMULATOR/as_process.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_process.h b/openair3/NAS/TEST/AS_SIMULATOR/as_process.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c b/openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c b/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h b/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_data.c b/openair3/NAS/TEST/AS_SIMULATOR/nas_data.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_data.h b/openair3/NAS/TEST/AS_SIMULATOR/nas_data.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_process.c b/openair3/NAS/TEST/AS_SIMULATOR/nas_process.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_process.h b/openair3/NAS/TEST/AS_SIMULATOR/nas_process.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/ActivatePDN.png b/openair3/NAS/TEST/MSC/ActivatePDN.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/AuthenticationReject.png b/openair3/NAS/TEST/MSC/AuthenticationReject.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/DeactivatePDN.png b/openair3/NAS/TEST/MSC/DeactivatePDN.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/InitialAttach.png b/openair3/NAS/TEST/MSC/InitialAttach.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/InitialAttachReject.png b/openair3/NAS/TEST/MSC/InitialAttachReject.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/NomalDetach.png b/openair3/NAS/TEST/MSC/NomalDetach.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/README b/openair3/NAS/TEST/MSC/README old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/MSC/SwitchOffDetach.png b/openair3/NAS/TEST/MSC/SwitchOffDetach.png old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/NETWORK/Makefile b/openair3/NAS/TEST/NETWORK/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/NETWORK/README b/openair3/NAS/TEST/NETWORK/README old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/NETWORK/network_parser.c b/openair3/NAS/TEST/NETWORK/network_parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/NETWORK/network_parser.h b/openair3/NAS/TEST/NETWORK/network_parser.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/NETWORK/network_simulator.c b/openair3/NAS/TEST/NETWORK/network_simulator.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/USER/Makefile b/openair3/NAS/TEST/USER/Makefile old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/USER/user_parser.c b/openair3/NAS/TEST/USER/user_parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/USER/user_parser.h b/openair3/NAS/TEST/USER/user_parser.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TEST/USER/user_simulator.c b/openair3/NAS/TEST/USER/user_simulator.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf2uedata.c b/openair3/NAS/TOOLS/conf2uedata.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf2uedata.h b/openair3/NAS/TOOLS/conf2uedata.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_emm.c b/openair3/NAS/TOOLS/conf_emm.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_emm.h b/openair3/NAS/TOOLS/conf_emm.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_network.c b/openair3/NAS/TOOLS/conf_network.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_network.h b/openair3/NAS/TOOLS/conf_network.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_parser.c b/openair3/NAS/TOOLS/conf_parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_parser.h b/openair3/NAS/TOOLS/conf_parser.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_user_data.c b/openair3/NAS/TOOLS/conf_user_data.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_user_data.h b/openair3/NAS/TOOLS/conf_user_data.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_user_plmn.c b/openair3/NAS/TOOLS/conf_user_plmn.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_user_plmn.h b/openair3/NAS/TOOLS/conf_user_plmn.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_usim.c b/openair3/NAS/TOOLS/conf_usim.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/conf_usim.h b/openair3/NAS/TOOLS/conf_usim.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/display.c b/openair3/NAS/TOOLS/display.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/display.h b/openair3/NAS/TOOLS/display.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/fs.c b/openair3/NAS/TOOLS/fs.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/fs.h b/openair3/NAS/TOOLS/fs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/network.h b/openair3/NAS/TOOLS/network.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/nvram.c b/openair3/NAS/TOOLS/nvram.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/ue_bcom_test.conf b/openair3/NAS/TOOLS/ue_bcom_test.conf old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf b/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/ue_tcl_test.conf b/openair3/NAS/TOOLS/ue_tcl_test.conf old mode 100644 new mode 100755 diff --git a/openair3/NAS/TOOLS/usim.c b/openair3/NAS/TOOLS/usim.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/at_command.c b/openair3/NAS/UE/API/USER/at_command.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/at_command.h b/openair3/NAS/UE/API/USER/at_command.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/at_error.c b/openair3/NAS/UE/API/USER/at_error.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/at_error.h b/openair3/NAS/UE/API/USER/at_error.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/at_response.c b/openair3/NAS/UE/API/USER/at_response.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/at_response.h b/openair3/NAS/UE/API/USER/at_response.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.c b/openair3/NAS/UE/API/USER/tst/at_parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.in b/openair3/NAS/UE/API/USER/tst/at_parser.in old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.in.bis b/openair3/NAS/UE/API/USER/tst/at_parser.in.bis old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.out b/openair3/NAS/UE/API/USER/tst/at_parser.out old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.out.bis b/openair3/NAS/UE/API/USER/tst/at_parser.out.bis old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/tst/smartcom.txt b/openair3/NAS/UE/API/USER/tst/smartcom.txt old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/user_api.c b/openair3/NAS/UE/API/USER/user_api.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/user_api.h b/openair3/NAS/UE/API/USER/user_api.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/user_api_defs.h b/openair3/NAS/UE/API/USER/user_api_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/user_indication.c b/openair3/NAS/UE/API/USER/user_indication.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USER/user_indication.h b/openair3/NAS/UE/API/USER/user_indication.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USIM/aka_functions.c b/openair3/NAS/UE/API/USIM/aka_functions.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USIM/aka_functions.h b/openair3/NAS/UE/API/USIM/aka_functions.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USIM/usim_api.c b/openair3/NAS/UE/API/USIM/usim_api.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/API/USIM/usim_api.h b/openair3/NAS/UE/API/USIM/usim_api.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/Attach.c b/openair3/NAS/UE/EMM/Attach.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/Authentication.c b/openair3/NAS/UE/EMM/Authentication.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/Authentication.h b/openair3/NAS/UE/EMM/Authentication.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/Detach.c b/openair3/NAS/UE/EMM/Detach.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/EmmStatusHdl.c b/openair3/NAS/UE/EMM/EmmStatusHdl.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/Identification.c b/openair3/NAS/UE/EMM/Identification.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/IdleMode.c b/openair3/NAS/UE/EMM/IdleMode.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/IdleMode.h b/openair3/NAS/UE/EMM/IdleMode.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/IdleMode_defs.h b/openair3/NAS/UE/EMM/IdleMode_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/LowerLayer.c b/openair3/NAS/UE/EMM/LowerLayer.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/LowerLayer.h b/openair3/NAS/UE/EMM/LowerLayer.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/LowerLayer_defs.h b/openair3/NAS/UE/EMM/LowerLayer_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregistered.c b/openair3/NAS/UE/EMM/SAP/EmmDeregistered.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmNull.c b/openair3/NAS/UE/EMM/SAP/EmmNull.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegistered.c b/openair3/NAS/UE/EMM/SAP/EmmRegistered.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_as.c b/openair3/NAS/UE/EMM/SAP/emm_as.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_as.h b/openair3/NAS/UE/EMM/SAP/emm_as.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_asDef.h b/openair3/NAS/UE/EMM/SAP/emm_asDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_esm.c b/openair3/NAS/UE/EMM/SAP/emm_esm.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_esm.h b/openair3/NAS/UE/EMM/SAP/emm_esm.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_esmDef.h b/openair3/NAS/UE/EMM/SAP/emm_esmDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_fsm.c b/openair3/NAS/UE/EMM/SAP/emm_fsm.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_fsm.h b/openair3/NAS/UE/EMM/SAP/emm_fsm.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_recv.c b/openair3/NAS/UE/EMM/SAP/emm_recv.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_recv.h b/openair3/NAS/UE/EMM/SAP/emm_recv.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_reg.c b/openair3/NAS/UE/EMM/SAP/emm_reg.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_reg.h b/openair3/NAS/UE/EMM/SAP/emm_reg.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_regDef.h b/openair3/NAS/UE/EMM/SAP/emm_regDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_sap.c b/openair3/NAS/UE/EMM/SAP/emm_sap.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_sap.h b/openair3/NAS/UE/EMM/SAP/emm_sap.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_send.c b/openair3/NAS/UE/EMM/SAP/emm_send.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SAP/emm_send.h b/openair3/NAS/UE/EMM/SAP/emm_send.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SecurityModeControl.c b/openair3/NAS/UE/EMM/SecurityModeControl.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/SecurityModeControl.h b/openair3/NAS/UE/EMM/SecurityModeControl.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/ServiceRequestHdl.c b/openair3/NAS/UE/EMM/ServiceRequestHdl.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/TrackingAreaUpdate.c b/openair3/NAS/UE/EMM/TrackingAreaUpdate.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emmData.h b/openair3/NAS/UE/EMM/emmData.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emm_fsm_defs.h b/openair3/NAS/UE/EMM/emm_fsm_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emm_main.c b/openair3/NAS/UE/EMM/emm_main.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emm_main.h b/openair3/NAS/UE/EMM/emm_main.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emm_proc.h b/openair3/NAS/UE/EMM/emm_proc.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emm_proc_defs.h b/openair3/NAS/UE/EMM/emm_proc_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/EMM/emm_timers.h b/openair3/NAS/UE/EMM/emm_timers.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c b/openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c b/openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c b/openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/EsmStatusHdl.c b/openair3/NAS/UE/ESM/EsmStatusHdl.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/PdnConnectivity.c b/openair3/NAS/UE/ESM/PdnConnectivity.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/PdnDisconnect.c b/openair3/NAS/UE/ESM/PdnDisconnect.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_recv.c b/openair3/NAS/UE/ESM/SAP/esm_recv.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_recv.h b/openair3/NAS/UE/ESM/SAP/esm_recv.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_sap.c b/openair3/NAS/UE/ESM/SAP/esm_sap.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_sap.h b/openair3/NAS/UE/ESM/SAP/esm_sap.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_sapDef.h b/openair3/NAS/UE/ESM/SAP/esm_sapDef.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_send.c b/openair3/NAS/UE/ESM/SAP/esm_send.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/SAP/esm_send.h b/openair3/NAS/UE/ESM/SAP/esm_send.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esmData.h b/openair3/NAS/UE/ESM/esmData.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_ebr.c b/openair3/NAS/UE/ESM/esm_ebr.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_ebr.h b/openair3/NAS/UE/ESM/esm_ebr.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_ebr_context.c b/openair3/NAS/UE/ESM/esm_ebr_context.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_ebr_context.h b/openair3/NAS/UE/ESM/esm_ebr_context.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_ip.c b/openair3/NAS/UE/ESM/esm_ip.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_main.c b/openair3/NAS/UE/ESM/esm_main.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_main.h b/openair3/NAS/UE/ESM/esm_main.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_proc.h b/openair3/NAS/UE/ESM/esm_proc.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_pt.c b/openair3/NAS/UE/ESM/esm_pt.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_pt.h b/openair3/NAS/UE/ESM/esm_pt.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/ESM/esm_pt_defs.h b/openair3/NAS/UE/ESM/esm_pt_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/UEprocess.c b/openair3/NAS/UE/UEprocess.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_itti_messaging.c b/openair3/NAS/UE/nas_itti_messaging.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_itti_messaging.h b/openair3/NAS/UE/nas_itti_messaging.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_network.c b/openair3/NAS/UE/nas_network.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_network.h b/openair3/NAS/UE/nas_network.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_parser.c b/openair3/NAS/UE/nas_parser.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_parser.h b/openair3/NAS/UE/nas_parser.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_proc.c b/openair3/NAS/UE/nas_proc.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_proc.h b/openair3/NAS/UE/nas_proc.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_proc_defs.h b/openair3/NAS/UE/nas_proc_defs.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_ue_task.c b/openair3/NAS/UE/nas_ue_task.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_ue_task.h b/openair3/NAS/UE/nas_ue_task.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_user.c b/openair3/NAS/UE/nas_user.c old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/nas_user.h b/openair3/NAS/UE/nas_user.h old mode 100644 new mode 100755 diff --git a/openair3/NAS/UE/user_defs.h b/openair3/NAS/UE/user_defs.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn b/openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn b/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn b/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn b/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn b/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn b/openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn b/openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/README b/openair3/S1AP/MESSAGES/ASN1/README old mode 100644 new mode 100755 diff --git a/openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py b/openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_common.c b/openair3/S1AP/s1ap_common.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_common.h b/openair3/S1AP/s1ap_common.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB.c b/openair3/S1AP/s1ap_eNB.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB.h b/openair3/S1AP/s1ap_eNB.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_context_management_procedures.c b/openair3/S1AP/s1ap_eNB_context_management_procedures.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_context_management_procedures.h b/openair3/S1AP/s1ap_eNB_context_management_procedures.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_decoder.c b/openair3/S1AP/s1ap_eNB_decoder.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_decoder.h b/openair3/S1AP/s1ap_eNB_decoder.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_default_values.h b/openair3/S1AP/s1ap_eNB_default_values.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_defs.h b/openair3/S1AP/s1ap_eNB_defs.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_encoder.c b/openair3/S1AP/s1ap_eNB_encoder.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_encoder.h b/openair3/S1AP/s1ap_eNB_encoder.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_handlers.c b/openair3/S1AP/s1ap_eNB_handlers.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_handlers.h b/openair3/S1AP/s1ap_eNB_handlers.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_itti_messaging.c b/openair3/S1AP/s1ap_eNB_itti_messaging.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_itti_messaging.h b/openair3/S1AP/s1ap_eNB_itti_messaging.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_management_procedures.c b/openair3/S1AP/s1ap_eNB_management_procedures.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_management_procedures.h b/openair3/S1AP/s1ap_eNB_management_procedures.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_nas_procedures.c b/openair3/S1AP/s1ap_eNB_nas_procedures.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_nas_procedures.h b/openair3/S1AP/s1ap_eNB_nas_procedures.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_nnsf.c b/openair3/S1AP/s1ap_eNB_nnsf.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_nnsf.h b/openair3/S1AP/s1ap_eNB_nnsf.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_overload.c b/openair3/S1AP/s1ap_eNB_overload.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_overload.h b/openair3/S1AP/s1ap_eNB_overload.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_trace.c b/openair3/S1AP/s1ap_eNB_trace.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_trace.h b/openair3/S1AP/s1ap_eNB_trace.h old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_ue_context.c b/openair3/S1AP/s1ap_eNB_ue_context.c old mode 100644 new mode 100755 diff --git a/openair3/S1AP/s1ap_eNB_ue_context.h b/openair3/S1AP/s1ap_eNB_ue_context.h old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_common.c b/openair3/SCTP/sctp_common.c old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_common.h b/openair3/SCTP/sctp_common.h old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_default_values.h b/openair3/SCTP/sctp_default_values.h old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_eNB_defs.h b/openair3/SCTP/sctp_eNB_defs.h old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_eNB_itti_messaging.c b/openair3/SCTP/sctp_eNB_itti_messaging.c old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_eNB_itti_messaging.h b/openair3/SCTP/sctp_eNB_itti_messaging.h old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_eNB_task.c b/openair3/SCTP/sctp_eNB_task.c old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_eNB_task.h b/openair3/SCTP/sctp_eNB_task.h old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_primitives_client.c b/openair3/SCTP/sctp_primitives_client.c old mode 100644 new mode 100755 diff --git a/openair3/SCTP/sctp_primitives_client.h b/openair3/SCTP/sctp_primitives_client.h old mode 100644 new mode 100755 diff --git a/openair3/SECU/kdf.c b/openair3/SECU/kdf.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/key_nas_deriver.c b/openair3/SECU/key_nas_deriver.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/key_nas_encryption.c b/openair3/SECU/key_nas_encryption.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/nas_stream_eea1.c b/openair3/SECU/nas_stream_eea1.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/nas_stream_eea2.c b/openair3/SECU/nas_stream_eea2.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/nas_stream_eia1.c b/openair3/SECU/nas_stream_eia1.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/nas_stream_eia2.c b/openair3/SECU/nas_stream_eia2.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/rijndael.c b/openair3/SECU/rijndael.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/rijndael.h b/openair3/SECU/rijndael.h old mode 100644 new mode 100755 diff --git a/openair3/SECU/secu_defs.h b/openair3/SECU/secu_defs.h old mode 100644 new mode 100755 diff --git a/openair3/SECU/snow3g.c b/openair3/SECU/snow3g.c old mode 100644 new mode 100755 diff --git a/openair3/SECU/snow3g.h b/openair3/SECU/snow3g.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/generate_scenario.c b/openair3/TEST/EPC_TEST/generate_scenario.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/generate_scenario.h b/openair3/TEST/EPC_TEST/generate_scenario.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario.c b/openair3/TEST/EPC_TEST/play_scenario.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario.h b/openair3/TEST/EPC_TEST/play_scenario.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_decode.c b/openair3/TEST/EPC_TEST/play_scenario_decode.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_display.c b/openair3/TEST/EPC_TEST/play_scenario_display.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_fsm.c b/openair3/TEST/EPC_TEST/play_scenario_fsm.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_parse.c b/openair3/TEST/EPC_TEST/play_scenario_parse.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h b/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/EPC_TEST/play_scenario_sctp.c b/openair3/TEST/EPC_TEST/play_scenario_sctp.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/Makefile.am b/openair3/TEST/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_client_test.c b/openair3/TEST/oaisim_mme_client_test.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_itti_test.c b/openair3/TEST/oaisim_mme_itti_test.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_list_benchmark.c b/openair3/TEST/oaisim_mme_list_benchmark.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_s1ap_test.c b/openair3/TEST/oaisim_mme_s1ap_test.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_sctp_test.c b/openair3/TEST/oaisim_mme_sctp_test.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c.c b/openair3/TEST/oaisim_mme_test_s1c.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c.h b/openair3/TEST/oaisim_mme_test_s1c.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.c b/openair3/TEST/oaisim_mme_test_s1c_s1ap.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.h b/openair3/TEST/oaisim_mme_test_s1c_s1ap.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario.c b/openair3/TEST/oaisim_mme_test_s1c_scenario.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario.h b/openair3/TEST/oaisim_mme_test_s1c_scenario.h old mode 100644 new mode 100755 diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario1.c b/openair3/TEST/oaisim_mme_test_s1c_scenario1.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_aes128_cmac_encrypt.c b/openair3/TEST/test_aes128_cmac_encrypt.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_aes128_ctr_decrypt.c b/openair3/TEST/test_aes128_ctr_decrypt.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_aes128_ctr_encrypt.c b/openair3/TEST/test_aes128_ctr_encrypt.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_kdf.c b/openair3/TEST/test_kdf.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_s1ap.c b/openair3/TEST/test_s1ap.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu.c b/openair3/TEST/test_secu.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_kenb.c b/openair3/TEST/test_secu_kenb.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_knas.c b/openair3/TEST/test_secu_knas.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_knas_encrypt_eea1.c b/openair3/TEST/test_secu_knas_encrypt_eea1.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_knas_encrypt_eea2.c b/openair3/TEST/test_secu_knas_encrypt_eea2.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_knas_encrypt_eia1.c b/openair3/TEST/test_secu_knas_encrypt_eia1.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_knas_encrypt_eia2.c b/openair3/TEST/test_secu_knas_encrypt_eia2.c old mode 100644 new mode 100755 diff --git a/openair3/TEST/test_secu_knas_stream_int.c b/openair3/TEST/test_secu_knas_stream_int.c old mode 100644 new mode 100755 diff --git a/openair3/UDP/udp_eNB_task.c b/openair3/UDP/udp_eNB_task.c old mode 100644 new mode 100755 diff --git a/openair3/UDP/udp_eNB_task.h b/openair3/UDP/udp_eNB_task.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/CONF/COPYING b/openair3/UTILS/CONF/COPYING old mode 100644 new mode 100755 diff --git a/openair3/UTILS/Makefile.am b/openair3/UTILS/Makefile.am old mode 100644 new mode 100755 diff --git a/openair3/UTILS/conversions.c b/openair3/UTILS/conversions.c old mode 100644 new mode 100755 diff --git a/openair3/UTILS/conversions.h b/openair3/UTILS/conversions.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/enum_string.c b/openair3/UTILS/enum_string.c old mode 100644 new mode 100755 diff --git a/openair3/UTILS/enum_string.h b/openair3/UTILS/enum_string.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/log.c b/openair3/UTILS/log.c old mode 100644 new mode 100755 diff --git a/openair3/UTILS/log.h b/openair3/UTILS/log.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mcc_mnc_itu.c b/openair3/UTILS/mcc_mnc_itu.c old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mcc_mnc_itu.h b/openair3/UTILS/mcc_mnc_itu.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mme_config.c b/openair3/UTILS/mme_config.c old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mme_config.h b/openair3/UTILS/mme_config.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mme_default_values.h b/openair3/UTILS/mme_default_values.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mme_parser.y b/openair3/UTILS/mme_parser.y old mode 100644 new mode 100755 diff --git a/openair3/UTILS/mme_scanner.l b/openair3/UTILS/mme_scanner.l old mode 100644 new mode 100755 diff --git a/openair3/UTILS/queue.h b/openair3/UTILS/queue.h old mode 100644 new mode 100755 diff --git a/openair3/UTILS/tree.h b/openair3/UTILS/tree.h old mode 100644 new mode 100755 diff --git a/openair3/valgrind.sh b/openair3/valgrind.sh old mode 100644 new mode 100755 diff --git a/pre-commit b/pre-commit old mode 100644 new mode 100755 diff --git a/svn2git/README.txt b/svn2git/README.txt old mode 100644 new mode 100755 diff --git a/svn2git/authors.txt b/svn2git/authors.txt old mode 100644 new mode 100755 diff --git a/svn2git/authors_original.txt b/svn2git/authors_original.txt old mode 100644 new mode 100755 diff --git a/svn2git/authors_original_java_output.txt b/svn2git/authors_original_java_output.txt old mode 100644 new mode 100755 diff --git a/svn2git/git-author-rewrite.sh b/svn2git/git-author-rewrite.sh old mode 100644 new mode 100755 diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/COMMON/common_lib.c b/targets/ARCH/COMMON/common_lib.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc b/targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc old mode 100644 new mode 100755 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h b/targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi b/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs b/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm b/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit b/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf b/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk b/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd b/targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd b/targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd b/targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DEFS/openair_device.h b/targets/ARCH/EXMIMO/DEFS/openair_device.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DEFS/pcie_interface.h b/targets/ARCH/EXMIMO/DEFS/pcie_interface.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh b/targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh b/targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/readme.txt b/targets/ARCH/EXMIMO/DRIVER/readme.txt old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/Makefile b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/Makefile old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile b/targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m old mode 100644 new mode 100755 diff --git a/targets/ARCH/LMSSDR/LimeSDR.ini b/targets/ARCH/LMSSDR/LimeSDR.ini old mode 100644 new mode 100755 diff --git a/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp b/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp old mode 100644 new mode 100755 diff --git a/targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp b/targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp old mode 100644 new mode 100755 diff --git a/targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc b/targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc old mode 100644 new mode 100755 diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp old mode 100644 new mode 100755 diff --git a/targets/COMMON/Makefile.inc b/targets/COMMON/Makefile.inc old mode 100644 new mode 100755 diff --git a/targets/COMMON/create_tasks.c b/targets/COMMON/create_tasks.c old mode 100644 new mode 100755 diff --git a/targets/COMMON/create_tasks.h b/targets/COMMON/create_tasks.h old mode 100644 new mode 100755 diff --git a/targets/COMMON/openairinterface5g_limits.h b/targets/COMMON/openairinterface5g_limits.h old mode 100644 new mode 100755 diff --git a/targets/COMMON/threads_t.h b/targets/COMMON/threads_t.h old mode 100644 new mode 100755 diff --git a/targets/DOCS/Doxyfile b/targets/DOCS/Doxyfile old mode 100644 new mode 100755 diff --git a/targets/DOCS/api_icic.xml b/targets/DOCS/api_icic.xml old mode 100644 new mode 100755 diff --git a/targets/DOCS/images/oai_logo.png b/targets/DOCS/images/oai_logo.png old mode 100644 new mode 100755 diff --git a/targets/DOCS/oaiemu.doc b/targets/DOCS/oaiemu.doc old mode 100644 new mode 100755 diff --git a/targets/DOCS/oaisim_walkthrough.pdf b/targets/DOCS/oaisim_walkthrough.pdf old mode 100644 new mode 100755 diff --git a/targets/DOCS/path_loss_oaisim.xlsx b/targets/DOCS/path_loss_oaisim.xlsx old mode 100644 new mode 100755 diff --git a/targets/Makefile b/targets/Makefile old mode 100644 new mode 100755 diff --git a/targets/Makefile.common b/targets/Makefile.common old mode 100644 new mode 100755 diff --git a/targets/Makerules b/targets/Makerules old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/filesave0811.mat b/targets/PROJECTS/LOCALIZATION/filesave0811.mat old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/generation.m b/targets/PROJECTS/LOCALIZATION/generation.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/initial_sync.m b/targets/PROJECTS/LOCALIZATION/initial_sync.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/initparams.m b/targets/PROJECTS/LOCALIZATION/initparams.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/plots.m b/targets/PROJECTS/LOCALIZATION/plots.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/recup.m b/targets/PROJECTS/LOCALIZATION/recup.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/where2.m b/targets/PROJECTS/LOCALIZATION/where2.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/where2_v1_final.mat b/targets/PROJECTS/LOCALIZATION/where2_v1_final.mat old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/LOCALIZATION/where2_vf.m b/targets/PROJECTS/LOCALIZATION/where2_vf.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_ch_est.m b/targets/PROJECTS/TDDREC/f_ch_est.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_ofdm_mod.m b/targets/PROJECTS/TDDREC/f_ofdm_mod.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_ofdm_rx.m b/targets/PROJECTS/TDDREC/f_ofdm_rx.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_ofdm_tx.m b/targets/PROJECTS/TDDREC/f_ofdm_tx.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_tls_ap.m b/targets/PROJECTS/TDDREC/f_tls_ap.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_tls_diag.m b/targets/PROJECTS/TDDREC/f_tls_diag.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/f_tls_svd.m b/targets/PROJECTS/TDDREC/f_tls_svd.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/s_beamforming.m b/targets/PROJECTS/TDDREC/s_beamforming.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/s_calib.m b/targets/PROJECTS/TDDREC/s_calib.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/s_draw_F.m b/targets/PROJECTS/TDDREC/s_draw_F.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/s_init_params.m b/targets/PROJECTS/TDDREC/s_init_params.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/s_run_meas.m b/targets/PROJECTS/TDDREC/s_run_meas.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/alterproj.m b/targets/PROJECTS/TDDREC/v0/alterproj.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/beamforming.m b/targets/PROJECTS/TDDREC/v0/beamforming.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/calibration.m b/targets/PROJECTS/TDDREC/v0/calibration.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/genorthqpskseq.m b/targets/PROJECTS/TDDREC/v0/genorthqpskseq.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/genrandpskseq.m b/targets/PROJECTS/TDDREC/v0/genrandpskseq.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/initparams.m b/targets/PROJECTS/TDDREC/v0/initparams.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/initparams2.m b/targets/PROJECTS/TDDREC/v0/initparams2.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/ofdm_mod.m b/targets/PROJECTS/TDDREC/v0/ofdm_mod.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/readme.txt b/targets/PROJECTS/TDDREC/v0/readme.txt old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m b/targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m b/targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_mimo.m b/targets/PROJECTS/TDDREC/v0/runmeas_mimo.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m b/targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m b/targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m b/targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m b/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m b/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m b/targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m b/targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m old mode 100644 new mode 100755 diff --git a/targets/README.txt b/targets/README.txt old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/load_module.sh b/targets/RT/LAUNCH_SCRIPTS/load_module.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh b/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh b/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh b/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_emos.sh b/targets/RT/LAUNCH_SCRIPTS/start_emos.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_rf.sh b/targets/RT/LAUNCH_SCRIPTS/start_rf.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh b/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_ue.sh b/targets/RT/LAUNCH_SCRIPTS/start_ue.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh b/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh old mode 100644 new mode 100755 diff --git a/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh b/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh old mode 100644 new mode 100755 diff --git a/targets/RT/Makefile b/targets/RT/Makefile old mode 100644 new mode 100755 diff --git a/targets/RT/USER/.runinfo b/targets/RT/USER/.runinfo old mode 100644 new mode 100755 diff --git a/targets/RT/USER/.ue.nvram b/targets/RT/USER/.ue.nvram old mode 100644 new mode 100755 diff --git a/targets/RT/USER/.ue_emm.nvram b/targets/RT/USER/.ue_emm.nvram old mode 100644 new mode 100755 diff --git a/targets/RT/USER/.usim.nvram b/targets/RT/USER/.usim.nvram old mode 100644 new mode 100755 diff --git a/targets/RT/USER/Makefile b/targets/RT/USER/Makefile old mode 100644 new mode 100755 diff --git a/targets/RT/USER/Makefile.agilent b/targets/RT/USER/Makefile.agilent old mode 100644 new mode 100755 diff --git a/targets/RT/USER/Makefile.msg_many b/targets/RT/USER/Makefile.msg_many old mode 100644 new mode 100755 diff --git a/targets/RT/USER/TOOLS/thread_ipc.c b/targets/RT/USER/TOOLS/thread_ipc.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/TOOLS/thread_ipc.h b/targets/RT/USER/TOOLS/thread_ipc.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/UE_transport_IQ.c b/targets/RT/USER/UE_transport_IQ.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/condtest.c b/targets/RT/USER/condtest.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/eNB_exmimo2.gtkw b/targets/RT/USER/eNB_exmimo2.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/eNB_transport_IQ.c b/targets/RT/USER/eNB_transport_IQ.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/eNB_usrp.gtkw b/targets/RT/USER/eNB_usrp.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/emos-raw.c b/targets/RT/USER/emos-raw.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/exmimo2_2arxg.lime b/targets/RT/USER/exmimo2_2arxg.lime old mode 100644 new mode 100755 diff --git a/targets/RT/USER/exmimo2_2brxg.lime b/targets/RT/USER/exmimo2_2brxg.lime old mode 100644 new mode 100755 diff --git a/targets/RT/USER/init_b200.sh b/targets/RT/USER/init_b200.sh old mode 100644 new mode 100755 diff --git a/targets/RT/USER/init_exmimo.sh b/targets/RT/USER/init_exmimo.sh old mode 100644 new mode 100755 diff --git a/targets/RT/USER/init_exmimo2.sh b/targets/RT/USER/init_exmimo2.sh old mode 100644 new mode 100755 diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/lte-ran.c b/targets/RT/USER/lte-ran.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/lte-softmodem.h b/targets/RT/USER/lte-softmodem.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/msg_helper.c b/targets/RT/USER/msg_helper.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/msg_many.c b/targets/RT/USER/msg_many.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/msg_many.h b/targets/RT/USER/msg_many.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rau_if4_single_thread.gtkw b/targets/RT/USER/rau_if4_single_thread.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rcc_if4.gtkw b/targets/RT/USER/rcc_if4.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rcc_if5.gtkw b/targets/RT/USER/rcc_if5.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rrh.c b/targets/RT/USER/rrh.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rrh.gtkw b/targets/RT/USER/rrh.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rrh_gw.c b/targets/RT/USER/rrh_gw.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rrh_gw.h b/targets/RT/USER/rrh_gw.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rrh_gw_externs.h b/targets/RT/USER/rrh_gw_externs.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rru_if4p5_single_thread.gtkw b/targets/RT/USER/rru_if4p5_single_thread.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rru_if4p5_usrp.gtkw b/targets/RT/USER/rru_if4p5_usrp.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rru_if5_usrp.gtkw b/targets/RT/USER/rru_if5_usrp.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rt_wrapper.c b/targets/RT/USER/rt_wrapper.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/rt_wrapper.h b/targets/RT/USER/rt_wrapper.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/sleeptest.c b/targets/RT/USER/sleeptest.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/stats.c b/targets/RT/USER/stats.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/stats.fd b/targets/RT/USER/stats.fd old mode 100644 new mode 100755 diff --git a/targets/RT/USER/stats.h b/targets/RT/USER/stats.h old mode 100644 new mode 100755 diff --git a/targets/RT/USER/synctest.c b/targets/RT/USER/synctest.c old mode 100644 new mode 100755 diff --git a/targets/RT/USER/ue_exmimo2.gtkw b/targets/RT/USER/ue_exmimo2.gtkw old mode 100644 new mode 100755 diff --git a/targets/RT/USER/ue_usrp.gtkw b/targets/RT/USER/ue_usrp.gtkw old mode 100644 new mode 100755 diff --git a/targets/SCRIPTS/install_asn1.sh b/targets/SCRIPTS/install_asn1.sh old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/Makefile b/targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/Makefile old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/Makefile b/targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/Makefile old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/README.txt b/targets/SIMU/EXAMPLES/OSD/README.txt old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml old mode 100644 new mode 100755 diff --git a/targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/Makefile b/targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/Makefile old mode 100644 new mode 100755 diff --git a/targets/SIMU/PROC/Process.c b/targets/SIMU/PROC/Process.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/PROC/Process.h b/targets/SIMU/PROC/Process.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/PROC/Tsync.h b/targets/SIMU/PROC/Tsync.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/PROC/channel_sim_proc.c b/targets/SIMU/PROC/channel_sim_proc.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/PROC/channel_sim_proc.h b/targets/SIMU/PROC/channel_sim_proc.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/PROC/interface.h b/targets/SIMU/PROC/interface.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/.ue.nvram b/targets/SIMU/USER/.ue.nvram old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/.ue_emm.nvram b/targets/SIMU/USER/.ue_emm.nvram old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/.usim.nvram b/targets/SIMU/USER/.usim.nvram old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/Makefile b/targets/SIMU/USER/Makefile old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/channel_sim.c b/targets/SIMU/USER/channel_sim.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/cor_SF_sim.c b/targets/SIMU/USER/cor_SF_sim.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/cor_SF_sim.h b/targets/SIMU/USER/cor_SF_sim.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/event_handler.c b/targets/SIMU/USER/event_handler.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/event_handler.h b/targets/SIMU/USER/event_handler.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/files/MI_16qam.csv b/targets/SIMU/USER/files/MI_16qam.csv old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/files/MI_16qam.txt b/targets/SIMU/USER/files/MI_16qam.txt old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/files/MI_4qam.csv b/targets/SIMU/USER/files/MI_4qam.csv old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/files/MI_4qam.txt b/targets/SIMU/USER/files/MI_4qam.txt old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/files/MI_64qam.csv b/targets/SIMU/USER/files/MI_64qam.csv old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/files/MI_64qam.txt b/targets/SIMU/USER/files/MI_64qam.txt old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/init_lte.c b/targets/SIMU/USER/init_lte.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/init_lte.h b/targets/SIMU/USER/init_lte.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim.c b/targets/SIMU/USER/oaisim.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim.h b/targets/SIMU/USER/oaisim.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim_config.c b/targets/SIMU/USER/oaisim_config.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim_config.h b/targets/SIMU/USER/oaisim_config.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim_functions.c b/targets/SIMU/USER/oaisim_functions.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim_functions.h b/targets/SIMU/USER/oaisim_functions.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/oaisim_pad.c b/targets/SIMU/USER/oaisim_pad.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/phy_procedures_sim_form.c b/targets/SIMU/USER/phy_procedures_sim_form.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/phy_procedures_sim_form.fd b/targets/SIMU/USER/phy_procedures_sim_form.fd old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/phy_procedures_sim_form.h b/targets/SIMU/USER/phy_procedures_sim_form.h old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/plot_results.m b/targets/SIMU/USER/plot_results.m old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/sinr_sim.c b/targets/SIMU/USER/sinr_sim.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/threadpool.c b/targets/SIMU/USER/threadpool.c old mode 100644 new mode 100755 diff --git a/targets/SIMU/USER/threadpool.h b/targets/SIMU/USER/threadpool.h old mode 100644 new mode 100755 diff --git a/targets/TEST/AT_COMMANDS/oaisim.c b/targets/TEST/AT_COMMANDS/oaisim.c old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/README b/targets/TEST/OAI/README old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case01.py b/targets/TEST/OAI/case01.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case02.py b/targets/TEST/OAI/case02.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case03.py b/targets/TEST/OAI/case03.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case04.py b/targets/TEST/OAI/case04.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case05.py b/targets/TEST/OAI/case05.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case11.py b/targets/TEST/OAI/case11.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case12.py b/targets/TEST/OAI/case12.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/case13.py b/targets/TEST/OAI/case13.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/core.py b/targets/TEST/OAI/core.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/log.py b/targets/TEST/OAI/log.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/openair.py b/targets/TEST/OAI/openair.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/test01.py b/targets/TEST/OAI/test01.py old mode 100644 new mode 100755 diff --git a/targets/TEST/OAI/test02.py b/targets/TEST/OAI/test02.py old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/README.txt b/targets/TEST/PACKET_TRACER/README.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/Msg4.txt b/targets/TEST/PACKET_TRACER/messages/Msg4.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt b/targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt b/targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/sib1.txt b/targets/TEST/PACKET_TRACER/messages/sib1.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/sib2.txt b/targets/TEST/PACKET_TRACER/messages/sib2.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt b/targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt b/targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/messages/sib3.txt b/targets/TEST/PACKET_TRACER/messages/sib3.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PACKET_TRACER/pt.c b/targets/TEST/PACKET_TRACER/pt.c old mode 100644 new mode 100755 diff --git a/targets/TEST/PDCP/readme.txt b/targets/TEST/PDCP/readme.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PDCP/test_pdcp.c b/targets/TEST/PDCP/test_pdcp.c old mode 100644 new mode 100755 diff --git a/targets/TEST/PDCP/test_pdcp.h b/targets/TEST/PDCP/test_pdcp.h old mode 100644 new mode 100755 diff --git a/targets/TEST/PDCP/test_util.h b/targets/TEST/PDCP/test_util.h old mode 100644 new mode 100755 diff --git a/targets/TEST/PDCP/todo.txt b/targets/TEST/PDCP/todo.txt old mode 100644 new mode 100755 diff --git a/targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c b/targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c old mode 100644 new mode 100755 diff --git a/targets/TEST/RLC_AM_V9.3.0/oaisim.c b/targets/TEST/RLC_AM_V9.3.0/oaisim.c old mode 100644 new mode 100755 diff --git a/targets/TEST/RLC_UM_V9.3.0/oaisim.c b/targets/TEST/RLC_UM_V9.3.0/oaisim.c old mode 100644 new mode 100755 diff --git a/targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp b/targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp old mode 100644 new mode 100755 diff --git a/targets/TEST/ROHDE_SCHWARZ/Makefile b/targets/TEST/ROHDE_SCHWARZ/Makefile old mode 100644 new mode 100755 diff --git a/targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp b/targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp old mode 100644 new mode 100755 diff --git a/targets/TEST/ROHDE_SCHWARZ/TcpClient.h b/targets/TEST/ROHDE_SCHWARZ/TcpClient.h old mode 100644 new mode 100755 diff --git a/targets/itti_vcd_tasks.sav b/targets/itti_vcd_tasks.sav old mode 100644 new mode 100755 From 85ef6b894d472acb212608af7b6969415fbbafb6 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Mon, 14 Aug 2017 11:40:56 +0200 Subject: [PATCH 021/109] solving minor issues --- openair2/LAYER2/MAC/config.c | 6 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 985 ++++++++++++++++++++++ openair2/RRC/LITE/MESSAGES/asn1_msg.c | 2 + 3 files changed, 991 insertions(+), 2 deletions(-) diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 30346b70de..4646c12580 100755 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -419,8 +419,10 @@ void config_dedicated(int Mod_idP, uint16_t rnti, struct PhysicalConfigDedicated *physicalConfigDedicated) { - //int UE_id = find_UE_id(Mod_idP, rnti); - //eNB->UE_list.UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; + eNB_MAC_INST *eNB = RC.mac[Mod_idP]; + + int UE_id = find_UE_id(Mod_idP, rnti); + eNB->UE_list.UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 995f03483e..38924ace91 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -413,6 +413,991 @@ set_ul_DAI( // changes to pre-processor for eMTC //------------------------------------------------------------------------------ +/*unsigned int getRepetition(UE_TEMPLATE * pue_template){ + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11; + + AssertFatal(pue_template->physicalConfigDedicated, "no RRC physical configuration for this UE ") ; + AssertFatal(pue_template->physicalConfigDedicated->ext4, "no RRC physical configuration for this UE ") ; + + + epdcch_setconfig_r11->setConfigId_r11 = 0; + epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; + epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; + //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; + + epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; + epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; + epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; + + epdcch_setconfig_r11->ext2 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2)); + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; + epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13)); + epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; + ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + +}*/ + +/* +void +schedule_ue_spec_br( + module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP, + int* mbsfn_flag +) +//------------------------------------------------------------------------------ +{ + + uint8_t CC_id; + int UE_id; + unsigned char aggregation; + mac_rlc_status_resp_t rlc_status; + unsigned char header_len_dcch = 0, header_len_dcch_tmp = 0; + unsigned char header_len_dtch = 0, header_len_dtch_tmp = 0, header_len_dtch_last = 0; + unsigned char ta_len = 0; + unsigned char sdu_lcids[NB_RB_MAX], lcid, offset, num_sdus = 0; + uint16_t nb_rb, nb_rb_temp, nb_available_rb; + uint16_t TBS, j, sdu_lengths[NB_RB_MAX], rnti, padding = 0, post_padding = 0; + unsigned char dlsch_buffer[MAX_DLSCH_PAYLOAD_BYTES]; + unsigned char round = 0; + unsigned char harq_pid = 0; + eNB_UE_STATS *eNB_UE_stats = NULL; + uint16_t sdu_length_total = 0; + + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + UE_list_t *UE_list = &eNB->UE_list; + int continue_flag = 0; + int32_t normalized_rx_power, target_rx_power; + int32_t tpc = 1; + static int32_t tpc_accumulated = 0; + UE_sched_ctrl *ue_sched_ctl; + int mcs; + int i; + int min_rb_unit[MAX_NUM_CCs]; + int N_RB_DL[MAX_NUM_CCs]; + int total_nb_available_rb[MAX_NUM_CCs]; + int N_RBG[MAX_NUM_CCs]; + nfapi_dl_config_request_body_t *dl_req; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_tx_request_pdu_t *TX_req; + int tdd_sfa; + +#if 0 + if (UE_list->head == -1) { + return; + } +#endif + + uint8_t *vrb_map; + int first_rb; + start_meas(&eNB->schedule_dlsch); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_IN); + + + // for TDD: check that we have to act here, otherwise return + //if (cc[0].tdd_Config) { + // tdd_sfa = cc[0].tdd_Config->subframeAssignment; + // switch (subframeP) { + // case 0: + // // always continue + // break; + // case 1: + // return; + // break; + // case 2: + // return; + // break; + // case 3: + // if ((tdd_sfa != 2) && (tdd_sfa != 5)) return; + // break; + // case 4: + // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 5: + // break; + // case 6: + // case 7: + // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 8: + // if ((tdd_sfa != 2) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 9: + // if ((tdd_sfa != 1) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 6)) return; + // break; + + // } + //} + //weight = get_ue_weight(module_idP,UE_id); + aggregation = 2; + for (CC_id = 0; CC_idmessage.dl_Bandwidth); + min_rb_unit[CC_id] = get_min_rb_unit(module_idP, CC_id); + // get number of PRBs less those used by common channels + total_nb_available_rb[CC_id] = N_RB_DL[CC_id]; + for (i = 0; imessage.dl_Bandwidth); + + // store the global enb stats: + eNB->eNB_stats[CC_id].num_dlactive_UEs = UE_list->num_UEs; + eNB->eNB_stats[CC_id].available_prbs = total_nb_available_rb[CC_id]; + eNB->eNB_stats[CC_id].total_available_prbs += total_nb_available_rb[CC_id]; + eNB->eNB_stats[CC_id].dlsch_bytes_tx = 0; + eNB->eNB_stats[CC_id].dlsch_pdus_tx = 0; + } + + /// CALLING Pre_Processor for downlink scheduling (Returns estimation of RBs required by each UE and the allocation on sub-band) + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_IN); + //start_meas(&eNB->schedule_dlsch_preprocessor); + //dlsch_scheduler_pre_processor(module_idP, + // frameP, + // subframeP, + // N_RBG, + // mbsfn_flag); + //stop_meas(&eNB->schedule_dlsch_preprocessor); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_OUT); + + + for (CC_id = 0; CC_idDL_req[CC_id].dl_config_request_body; + + if (mbsfn_flag[CC_id]>0) + continue; + + for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) + { + first_rb = 0; + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + continue_flag = 0; // reset the flag to allow allocation for the remaining UEs + rnti = UE_RNTI(module_idP, UE_id); + eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; + ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; + + + if (rnti == NOT_A_RNTI) { + LOG_D(MAC, "Cannot find rnti for UE_id %d (num_UEs %d)\n", UE_id, UE_list->num_UEs); + continue_flag = 1; + } + + if (eNB_UE_stats == NULL) { + LOG_D(MAC, "[eNB] Cannot find eNB_UE_stats\n"); + continue_flag = 1; + } + + //if (continue_flag != 1) { + // switch (get_tmode(module_idP, CC_id, UE_id)) { + // case 1: + // case 2: + // case 7: + // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), + // eNB_UE_stats->dl_cqi, + // format1); + // break; + // case 3: + // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), + // eNB_UE_stats->dl_cqi, + // format2A); + // break; + // default: + // LOG_W(MAC, "Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); + // aggregation = 2; + // } + //} + + if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || // no RBs allocated + CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, aggregation, rnti) + ) { + LOG_D(MAC, "[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", + module_idP, frameP, UE_id, CC_id); + continue_flag = 1; //to next user (there might be rbs availiable for other UEs in TM5 + } + + //if (cc[CC_id].tdd_Config != NULL) { //TDD + // set_ue_dai(subframeP, + // UE_id, + // CC_id, + // cc[CC_id].tdd_Config->subframeAssignment, + // UE_list); + // // update UL DAI after DLSCH scheduling + // set_ul_DAI(module_idP, UE_id, CC_id, frameP, subframeP); + //} + + //if (continue_flag == 1) { + // add_ue_dlsch_info(module_idP, + // CC_id, + // UE_id, + // subframeP, + // S_DL_NONE); + // continue; + // } + + nb_available_rb = 6; // to be checked + harq_pid = ue_sched_ctl->harq_pid[CC_id]; + round = ue_sched_ctl->round[CC_id]; + UE_list->eNB_UE_stats[CC_id][UE_id].crnti = rnti; + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); + UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid; + UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; + + sdu_length_total = 0; + num_sdus = 0; + + + //DevCheck(((eNB_UE_stats->dl_cqi < MIN_CQI_VALUE) || (eNB_UE_stats->dl_cqi > MAX_CQI_VALUE)), + //eNB_UE_stats->dl_cqi, MIN_CQI_VALUE, MAX_CQI_VALUE); + + eNB_UE_stats->dlsch_mcs1 = cqi_to_mcs[eNB_UE_stats->dl_cqi]; //to be checked + eNB_UE_stats->dlsch_mcs1 = cmin(eNB_UE_stats->dlsch_mcs1, 15); + + + // store stats + UE_list->eNB_UE_stats[CC_id][UE_id].dl_cqi = eNB_UE_stats->dl_cqi; + + // initializing the rb allocation indicator for each UE + //to be checked + for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0; + } + + LOG_D(MAC, "[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, rb %d, cqi %d, mcs %d, rrc %d)\n", + module_idP, frameP, UE_id, CC_id, rnti, harq_pid, round, nb_available_rb, + eNB_UE_stats->dl_cqi, eNB_UE_stats->dlsch_mcs1, + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status); + + + + // process retransmission + + if (round > 0) { + // get freq_allocation + nb_rb = UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid]; + + if (nb_rb <= nb_available_rb) { + if (cc[CC_id].tdd_Config != NULL) { + UE_list->UE_template[CC_id][UE_id].DAI++; + update_ul_dci(module_idP, CC_id, rnti, UE_list->UE_template[CC_id][UE_id].DAI); + LOG_D(MAC, "DAI update: CC_id %d subframeP %d: UE %d, DAI %d\n", CC_id, subframeP, UE_id, UE_list->UE_template[CC_id][UE_id].DAI); + } + + if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { + for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + } + } + else { + nb_rb_temp = nb_rb; + j = 0; + + while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + + if ((j == N_RBG[CC_id] - 1) && + ((N_RB_DL[CC_id] == 25) || + (N_RB_DL[CC_id] == 50))) { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; + } + else { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; + } + } + + j = j + 1; + } + } + + nb_available_rb -= nb_rb; + + //eNB->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; + //eNB->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; + + //for(j=0; jmu_mimo_mode[UE_id].rballoc_sub[j] = UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j]; + //} + + + switch (get_tmode(module_idP, CC_id, UE_id)) { + case 1: + case 2: + case 7: + default: + { + + // rmax from SIB2 information + rmax = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->mpdcch_NumRepetition_RA_r13; + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + // get narrowband according to higher-layer config + num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; + RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; + first_rb = RA_template->msg2_narrowband * 6; + + if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPE2)>0)) { + // MPDCCH configuration for RAR + + + + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + RA_template->msg2_mpdcch_repetition_cnt++; + dl_req->number_pdu++; + + } //repetition_count==0 && SF condition met + else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions + RA_template->msg2_mpdcch_repetition_cnt++; + if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; + else RA_template->Msg2_frame = frameP; + RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + } + else { + AssertFatal(1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { + // Program PDSCH + RA_template->generate_rar = 0; + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // Program UL processing for Msg3, same as regular LTE + get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + + + fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = 7; + TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + } + } + + } + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3; + + + if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, + rnti)) { + dl_req->number_dci++; + dl_req->number_pdu++; + + } + else { + // No TX request for retransmission (check if null request for FAPI) + } + } + + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_SCHEDULED); + + //eNB_UE_stats->dlsch_trials[round]++; + UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx = nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx += nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = eNB_UE_stats->dlsch_mcs1; + } + else { + LOG_D(MAC, "[eNB %d] Frame %d CC_id %d : don't schedule UE %d, its retransmission takes more resources than we have\n", + module_idP, frameP, CC_id, UE_id); + } + } + else { +// This is a potentially new SDU opportunity + + rlc_status.bytes_in_buffer = 0; + // Now check RLC information to compute number of required RBs + // get maximum TBS size for RLC request + //to be checked + TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); + // check first for RLC data on DCCH + // add the length for all the control elements (timing adv, drx, etc) : header + payload + + ta_len = (ue_sched_ctl->ta_update != 0) ? 2 : 0; + + header_len_dcch = 2; // 2 bytes DCCH SDU subheader + + if (TBS - ta_len - header_len_dcch > 0) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + (TBS - ta_len - header_len_dcch)); // transport block set size + + sdu_lengths[0] = 0; + + if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit + LOG_D(MAC, "[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP, frameP, CC_id, TBS - header_len_dcch); + sdu_lengths[0] = mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + TBS, //not used + (char *)&dlsch_buffer[0]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); + + LOG_D(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes from RLC\n", module_idP, CC_id, sdu_lengths[0]); + sdu_length_total = sdu_lengths[0]; + sdu_lcids[0] = DCCH; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH] += sdu_lengths[0]; + num_sdus = 1; +#ifdef DEBUG_eNB_SCHEDULER + LOG_T(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[0]); + + for (j = 0; j 0) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH + 1, + (TBS - ta_len - header_len_dcch - sdu_length_total)); // transport block set size less allocations for timing advance and + // DCCH SDU + sdu_lengths[num_sdus] = 0; + + if (rlc_status.bytes_in_buffer > 0) { + LOG_I(MAC, "[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP, frameP, CC_id, TBS - header_len_dcch - sdu_length_total); + sdu_lengths[num_sdus] += mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH + 1, + TBS, //not used + (char *)&dlsch_buffer[sdu_length_total]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH + 1), T_INT(sdu_lengths[num_sdus])); + + sdu_lcids[num_sdus] = DCCH1; + sdu_length_total += sdu_lengths[num_sdus]; + header_len_dcch += 2; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH1] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH1] += sdu_lengths[num_sdus]; + num_sdus++; +#ifdef DEBUG_eNB_SCHEDULER + LOG_T(MAC, "[eNB %d][DCCH1] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[num_sdus]); + + for (j = 0; j= DTCH; lcid--) { + // TBD: check if the lcid is active + + header_len_dtch += 3; + header_len_dtch_last = 3; + LOG_D(MAC, "[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)\n", + module_idP, frameP, lcid, TBS, + TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); + + if (TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch > 0) { // NN: > 2 ? + rlc_status = mac_rlc_status_ind(module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); + + + if (rlc_status.bytes_in_buffer > 0) { + + LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)\n", + module_idP, frameP, TBS - header_len_dcch - sdu_length_total - header_len_dtch, lcid, header_len_dtch); + sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS, //not used + (char*)&dlsch_buffer[sdu_length_total]); + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); + + LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d \n", module_idP, sdu_lengths[num_sdus], lcid); + sdu_lcids[num_sdus] = lcid; + sdu_length_total += sdu_lengths[num_sdus]; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[lcid] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[lcid] += sdu_lengths[num_sdus]; + if (sdu_lengths[num_sdus] < 128) { + header_len_dtch--; + header_len_dtch_last--; + } + num_sdus++; + } // no data for this LCID + else { + header_len_dtch -= 3; + } + } // no TBS left + else { + header_len_dtch -= 3; + break; + } + } + if (header_len_dtch == 0) + header_len_dtch_last = 0; + // there is at least one SDU + // if (num_sdus > 0 ){ + if ((sdu_length_total + header_len_dcch + header_len_dtch)> 0) { + + // Now compute number of required RBs for total sdu length + // Assume RAH format 2 + // adjust header lengths + header_len_dcch_tmp = header_len_dcch; + header_len_dtch_tmp = header_len_dtch; + if (header_len_dtch == 0) { + header_len_dcch = (header_len_dcch >0) ? 1 : 0;//header_len_dcch; // remove length field + } + else { + header_len_dtch_last -= 1; // now use it to find how many bytes has to be removed for the last MAC SDU + header_len_dtch = (header_len_dtch > 0) ? header_len_dtch - header_len_dtch_last : header_len_dtch; // remove length field for the last SDU + } + + mcs = eNB_UE_stats->dlsch_mcs1; + + if (mcs == 0) { + nb_rb = 4; // don't let the TBS get too small + } + else { + nb_rb = min_rb_unit[CC_id]; + } + + TBS = get_TBS_DL(mcs, nb_rb); + + while (TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) { + nb_rb += min_rb_unit[CC_id]; // + + if (nb_rb>nb_available_rb) { // if we've gone beyond the maximum number of RBs + // (can happen if N_RB_DL is odd) + TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); + nb_rb = nb_available_rb; + break; + } + + TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_rb); + } + ///////////////////////////////////////////////////////////// + // alter the allocation of the emtc UE here + ////////////////////////////////////////////////////////////// + if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { + for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + } + } + else { + nb_rb_temp = nb_rb; + j = 0; + + while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + + if ((j == N_RBG[CC_id] - 1) && + ((N_RB_DL[CC_id] == 25) || + (N_RB_DL[CC_id] == 50))) { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; + } + else { + nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; + } + } + + j = j + 1; + } + } + /////////////////////////////////// + + + // decrease mcs until TBS falls below required length + while ((TBS > (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (mcs>0)) { + mcs--; + TBS = get_TBS_DL(mcs, nb_rb); + } + + // if we have decreased too much or we don't have enough RBs, increase MCS + while ((TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (((ue_sched_ctl->dl_pow_off[CC_id]>0) && (mcs<28)) + || ((ue_sched_ctl->dl_pow_off[CC_id] == 0) && (mcs <= 15)))) { + mcs++; + TBS = get_TBS_DL(mcs, nb_rb); + } + + LOG_D(MAC, "dlsch_mcs before and after the rate matching = (%d, %d)\n", eNB_UE_stats->dlsch_mcs1, mcs); + +#ifdef DEBUG_eNB_SCHEDULER + LOG_D(MAC, "[eNB %d] CC_id %d Generated DLSCH header (mcs %d, TBS %d, nb_rb %d)\n", + module_idP, CC_id, mcs, TBS, nb_rb); + // msg("[MAC][eNB ] Reminder of DLSCH with random data %d %d %d %d \n", + // TBS, sdu_length_total, offset, TBS-sdu_length_total-offset); +#endif + + if ((TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len) <= 2) { + padding = (TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len); + post_padding = 0; + } + else { + padding = 0; + + // adjust the header len + if (header_len_dtch == 0) { + header_len_dcch = header_len_dcch_tmp; + } + else { //if (( header_len_dcch==0)&&((header_len_dtch==1)||(header_len_dtch==2))) + header_len_dtch = header_len_dtch_tmp; + } + + post_padding = TBS - sdu_length_total - header_len_dcch - header_len_dtch - ta_len; // 1 is for the postpadding header + } + + + offset = generate_dlsch_header((unsigned char*)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + num_sdus, //num_sdus + sdu_lengths, // + sdu_lcids, + 255, // no drx + ue_sched_ctl->ta_update, // timing advance + NULL, // contention res id + padding, + post_padding); + + //#ifdef DEBUG_eNB_SCHEDULER + if (ue_sched_ctl->ta_update) { + LOG_I(MAC, + "[eNB %d][DLSCH] Frame %d Generate header for UE_id %d on CC_id %d: sdu_length_total %d, num_sdus %d, sdu_lengths[0] %d, sdu_lcids[0] %d => payload offset %d,timing advance value : %d, padding %d,post_padding %d,(mcs %d, TBS %d, nb_rb %d),header_dcch %d, header_dtch %d\n", + module_idP, frameP, UE_id, CC_id, sdu_length_total, num_sdus, sdu_lengths[0], sdu_lcids[0], offset, + ue_sched_ctl->ta_update, padding, post_padding, mcs, TBS, nb_rb, header_len_dcch, header_len_dtch); + } + //#endif +#ifdef DEBUG_eNB_SCHEDULER + LOG_T(MAC, "[eNB %d] First 16 bytes of DLSCH : \n"); + + for (i = 0; i<16; i++) { + LOG_T(MAC, "%x.", dlsch_buffer[i]); + } + + LOG_T(MAC, "\n"); +#endif + // cycle through SDUs and place in dlsch_buffer + memcpy(&UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset], dlsch_buffer, sdu_length_total); + // memcpy(RC.mac[0].DLSCH_pdu[0][0].payload[0][offset],dcch_buffer,sdu_lengths[0]); + + // fill remainder of DLSCH with random data + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; + for (j = 0; j<(TBS - sdu_length_total - offset); j++) { + UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset + sdu_length_total + j] = (char)(taus() & 0xff); + } + + + if (opt_enabled == 1) { + trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + TBS, module_idP, 3, UE_RNTI(module_idP, UE_id), + eNB->frame, eNB->subframe, 0, 0); + LOG_D(OPT, "[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", + module_idP, CC_id, frameP, UE_RNTI(module_idP, UE_id), TBS); + } + + T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_BUFFER(UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS)); + + UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb; + + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_SCHEDULED); + // store stats + eNB->eNB_stats[CC_id].dlsch_bytes_tx += sdu_length_total; + eNB->eNB_stats[CC_id].dlsch_pdus_tx += 1; + + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used += nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = mcs; + UE_list->eNB_UE_stats[CC_id][UE_id].TBS = TBS; + + UE_list->eNB_UE_stats[CC_id][UE_id].overhead_bytes = TBS - sdu_length_total; + UE_list->eNB_UE_stats[CC_id][UE_id].total_sdu_bytes += sdu_length_total; + UE_list->eNB_UE_stats[CC_id][UE_id].total_pdu_bytes += TBS; + UE_list->eNB_UE_stats[CC_id][UE_id].total_num_pdus += 1; + + + + // do PUCCH power control + // this is the normalized RX power + eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; + normalized_rx_power = eNB_UE_stats->Po_PUCCH_dBm; + target_rx_power = get_target_pucch_rx_power(module_idP, CC_id) + 20; + + // this assumes accumulated tpc + // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out + int32_t framex10psubframe = UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame * 10 + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe; + if (((framex10psubframe + 10) <= (frameP * 10 + subframeP)) || //normal case + ((framex10psubframe>(frameP * 10 + subframeP)) && (((10240 - framex10psubframe + frameP * 10 + subframeP) >= 10)))) //frame wrap-around + if (eNB_UE_stats->Po_PUCCH_update == 1) { + eNB_UE_stats->Po_PUCCH_update = 0; + + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; + + if (normalized_rx_power>(target_rx_power + 1)) { + tpc = 0; //-1 + tpc_accumulated--; + } + else if (normalized_rx_power<(target_rx_power - 1)) { + tpc = 2; //+1 + tpc_accumulated++; + } + else { + tpc = 1; //0 + } + + + } // Po_PUCCH has been updated + else { + tpc = 1; //0 + } // time to do TPC update + else { + tpc = 1; //0 + } + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = tpc; // dont adjust power when retransmitting + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; + ////deactivate second codeword + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_2 = 0; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_2 = 1; + // + dl_req->number_dci++; + dl_req->number_pdu++; + + // Toggle NDI for next time + LOG_D(MAC, "CC_id %d Frame %d, subframeP %d: Toggling Format1 NDI for UE %d (rnti %x/%d) oldNDI %d\n", + CC_id, frameP, subframeP, UE_id, + UE_list->UE_template[CC_id][UE_id].rnti, harq_pid, UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]); + + UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid] = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid] = mcs; + UE_list->UE_template[CC_id][UE_id].oldmcs2[harq_pid] = 0; + + eNB->TX_req[CC_id].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + TX_req->pdu_length = TBS; + TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = TBS; + TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char)UE_id].payload[harq_pid]; + eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + + } + else { // There is no data from RLC or MAC header, so don't schedule + + } + } + + + } // UE_id loop + } // CC_id loop + + + fill_DLSCH_dci(module_idP, frameP, subframeP, mbsfn_flag); + + stop_meas(&eNB->schedule_dlsch); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); + +}*/ + + + //------------------------------------------------------------------------------ void schedule_ue_spec( diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 126526deed..cccb0ed56a 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2233,11 +2233,13 @@ do_RRCConnectionSetup_BR( // assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; + physicalConfigDedicated2->ext4 = calloc(1, sizeof(struct PhysicalConfigDedicated__ext4) ); physicalConfigDedicated2->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; physicalConfigDedicated2->ext4->csi_RS_ConfigNZPToAddModList_r11 = NULL; physicalConfigDedicated2->ext4->csi_RS_ConfigZPToAddModList_r11 = NULL; physicalConfigDedicated2->ext4->csi_RS_ConfigZPToReleaseList_r11 = NULL; + physicalConfigDedicated2->ext4->epdcch_Config_r11 = calloc(1, sizeof(struct EPDCCH_Config_r11 )); physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; From ae598b948882a00d33ff33d55a2a945d3a3cd93e Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Mon, 14 Aug 2017 13:13:45 +0200 Subject: [PATCH 022/109] fix some errors --- openair2/LAYER2/MAC/defs.h | 2 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 501 ++++++++++++++++------ 2 files changed, 366 insertions(+), 137 deletions(-) diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 4fd8b61d2a..f4faf21389 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -755,7 +755,7 @@ typedef struct { #ifdef Rel14 uint8_t rach_resource_type; - + uint16_t mpdcch_repetition_cnt; struct PhysicalConfigDedicated *physicalConfigDedicated; #endif diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 38924ace91..53150ff3d6 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -413,13 +413,25 @@ set_ul_DAI( // changes to pre-processor for eMTC //------------------------------------------------------------------------------ -/*unsigned int getRepetition(UE_TEMPLATE * pue_template){ +void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned int *narrowBandindex, unsigned int *first_rb){ EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11; AssertFatal(pue_template->physicalConfigDedicated, "no RRC physical configuration for this UE ") ; AssertFatal(pue_template->physicalConfigDedicated->ext4, "no RRC physical configuration for this UE ") ; + AssertFatal(pue_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.count > 0 ,"epdcch config list is empty") ; + epdcch_setconfig_r11 = pue_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; + + AssertFatal(epdcch_setconfig_r11->ext2 && epdcch_setconfig_r11->ext2->mpdcch_config_r13 ," mpdcch config not found") ; + +*maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 ; + + * narrowBandindex = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 ; + + + +/* epdcch_setconfig_r11->setConfigId_r11 = 0; epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; @@ -445,10 +457,13 @@ set_ul_DAI( epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); -}*/ + */ -/* -void +} + + + +/*void schedule_ue_spec_br( module_id_t module_idP, frame_t frameP, @@ -586,13 +601,7 @@ schedule_ue_spec_br( for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) { - first_rb = 0; - vrb_map[first_rb] = 1; - vrb_map[first_rb + 1] = 1; - vrb_map[first_rb + 2] = 1; - vrb_map[first_rb + 3] = 1; - vrb_map[first_rb + 4] = 1; - vrb_map[first_rb + 5] = 1; + continue_flag = 0; // reset the flag to allow allocation for the remaining UEs rnti = UE_RNTI(module_idP, UE_id); @@ -749,142 +758,160 @@ schedule_ue_spec_br( default: { - // rmax from SIB2 information - rmax = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->mpdcch_NumRepetition_RA_r13; - // choose r3 by default for RAR (Table 9.1.5-5) - rep = 2; - // get actual repetition count from Table 9.1.5-3 - reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); - // get narrowband according to higher-layer config - num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; - RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; - first_rb = RA_template->msg2_narrowband * 6; - - if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPE2)>0)) { - // MPDCCH configuration for RAR + unsigned int rmax ; + unsigned int narrowBandindex_index ; + unsigned int first_rb, rep, reps; + + // rmax from RRC connection setup + getRepetition(&UE_template[CC_id][UE_id],&rmax, &narrowBandindex_index, &first_rb) ; + + + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + // get narrowband according to higher-layer config + num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; + + RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; + first_rb = narrowBandindex_index * 6; + + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + if ((RA_template->mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC)>0)) + { + // MPDCCH configuration for RAR + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid];; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + RA_template->msg2_mpdcch_repetition_cnt++; + dl_req->number_pdu++; + + } //repetition_count==0 && SF condition met + else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions + RA_template->msg2_mpdcch_repetition_cnt++; + if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; + else RA_template->Msg2_frame = frameP; + RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + } + else { + AssertFatal(1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { + // Program PDSCH + RA_template->generate_rar = 0; + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, - "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; - RA_template->msg2_mpdcch_repetition_cnt++; + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; dl_req->number_pdu++; - } //repetition_count==0 && SF condition met - else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - RA_template->msg2_mpdcch_repetition_cnt++; - if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case - // wait 2 subframes for PDSCH transmission - if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; - else RA_template->Msg2_frame = frameP; - RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 - } - else { - AssertFatal(1 == 0, "TDD case not done yet\n"); - } - } // mpdcch_repetition_count == reps - if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - // Program PDSCH - RA_template->generate_rar = 0; - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - // Program UL processing for Msg3, same as regular LTE - get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + // Program UL processing for Msg3, same as regular LTE + get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); - fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = 7; - TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; - } + fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = 7; + TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; } - } + } + + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; @@ -1338,6 +1365,208 @@ schedule_ue_spec_br( tpc = 1; //0 } + + + + + { + + + + + unsigned int rmax ; + unsigned int narrowBandindex_index ; + unsigned int first_rb, rep, reps; + + // rmax from RRC connection setup + getRepetition(&UE_template[CC_id][UE_id],&rmax, &narrowBandindex_index, &first_rb) ; + + + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + // get narrowband according to higher-layer config + num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; + + RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; + first_rb = narrowBandindex_index * 6; + + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + if ((RA_template->mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC)>0)) + { + // MPDCCH configuration for RAR + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid];; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + RA_template->msg2_mpdcch_repetition_cnt++; + dl_req->number_pdu++; + + } //repetition_count==0 && SF condition met + else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions + RA_template->msg2_mpdcch_repetition_cnt++; + if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; + else RA_template->Msg2_frame = frameP; + RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + } + else { + AssertFatal(1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { + // Program PDSCH + RA_template->generate_rar = 0; + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // Program UL processing for Msg3, same as regular LTE + get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + + + fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = 7; + TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + } + } + + } + + + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3; + + + if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, + rnti)) { + dl_req->number_dci++; + dl_req->number_pdu++; + + } + else { + // No TX request for retransmission (check if null request for FAPI) + } + } + + + + + + + + + + + + + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; From 3e77b141eb680a186e890e8fdb7b5899e4592b1f Mon Sep 17 00:00:00 2001 From: "Ahmed.Elias" Date: Mon, 14 Aug 2017 15:15:15 +0200 Subject: [PATCH 023/109] adding br parameters --- openair2/LAYER2/MAC/defs.h | 2 + openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 2149 ++++++++++----------- 2 files changed, 1050 insertions(+), 1101 deletions(-) diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index f4faf21389..0723324038 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -757,6 +757,8 @@ typedef struct { uint8_t rach_resource_type; uint16_t mpdcch_repetition_cnt; struct PhysicalConfigDedicated *physicalConfigDedicated; + frame_t Msg2_frame; + subframe_t Msg2_subframe; #endif } UE_TEMPLATE; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 53150ff3d6..aacb5e2697 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -472,1161 +472,1108 @@ schedule_ue_spec_br( ) //------------------------------------------------------------------------------ { + uint8_t CC_id; + int UE_id; + unsigned char aggregation; + mac_rlc_status_resp_t rlc_status; + unsigned char header_len_dcch = 0, header_len_dcch_tmp = 0; + unsigned char header_len_dtch = 0, header_len_dtch_tmp = 0, header_len_dtch_last = 0; + unsigned char ta_len = 0; + unsigned char sdu_lcids[NB_RB_MAX], lcid, offset, num_sdus = 0; + uint16_t nb_rb, nb_rb_temp, nb_available_rb; + uint16_t TBS, j, sdu_lengths[NB_RB_MAX], rnti, padding = 0, post_padding = 0; + unsigned char dlsch_buffer[MAX_DLSCH_PAYLOAD_BYTES]; + unsigned char round = 0; + unsigned char harq_pid = 0; + eNB_UE_STATS *eNB_UE_stats = NULL; + uint16_t sdu_length_total = 0; - uint8_t CC_id; - int UE_id; - unsigned char aggregation; - mac_rlc_status_resp_t rlc_status; - unsigned char header_len_dcch = 0, header_len_dcch_tmp = 0; - unsigned char header_len_dtch = 0, header_len_dtch_tmp = 0, header_len_dtch_last = 0; - unsigned char ta_len = 0; - unsigned char sdu_lcids[NB_RB_MAX], lcid, offset, num_sdus = 0; - uint16_t nb_rb, nb_rb_temp, nb_available_rb; - uint16_t TBS, j, sdu_lengths[NB_RB_MAX], rnti, padding = 0, post_padding = 0; - unsigned char dlsch_buffer[MAX_DLSCH_PAYLOAD_BYTES]; - unsigned char round = 0; - unsigned char harq_pid = 0; - eNB_UE_STATS *eNB_UE_stats = NULL; - uint16_t sdu_length_total = 0; - - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - UE_list_t *UE_list = &eNB->UE_list; - int continue_flag = 0; - int32_t normalized_rx_power, target_rx_power; - int32_t tpc = 1; - static int32_t tpc_accumulated = 0; - UE_sched_ctrl *ue_sched_ctl; - int mcs; - int i; - int min_rb_unit[MAX_NUM_CCs]; - int N_RB_DL[MAX_NUM_CCs]; - int total_nb_available_rb[MAX_NUM_CCs]; - int N_RBG[MAX_NUM_CCs]; - nfapi_dl_config_request_body_t *dl_req; - nfapi_dl_config_request_pdu_t *dl_config_pdu; - nfapi_tx_request_pdu_t *TX_req; - int tdd_sfa; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + UE_list_t *UE_list = &eNB->UE_list; + int continue_flag = 0; + int32_t normalized_rx_power, target_rx_power; + int32_t tpc = 1; + static int32_t tpc_accumulated = 0; + UE_sched_ctrl *ue_sched_ctl; + int mcs; + int i; + int min_rb_unit[MAX_NUM_CCs]; + int N_RB_DL[MAX_NUM_CCs]; + int total_nb_available_rb[MAX_NUM_CCs]; + int N_RBG[MAX_NUM_CCs]; + nfapi_dl_config_request_body_t *dl_req; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_tx_request_pdu_t *TX_req; + int tdd_sfa; #if 0 - if (UE_list->head == -1) { - return; - } + if (UE_list->head == -1) { + return; + } #endif - uint8_t *vrb_map; - int first_rb; - start_meas(&eNB->schedule_dlsch); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_IN); - - - // for TDD: check that we have to act here, otherwise return - //if (cc[0].tdd_Config) { - // tdd_sfa = cc[0].tdd_Config->subframeAssignment; - // switch (subframeP) { - // case 0: - // // always continue - // break; - // case 1: - // return; - // break; - // case 2: - // return; - // break; - // case 3: - // if ((tdd_sfa != 2) && (tdd_sfa != 5)) return; - // break; - // case 4: - // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 5: - // break; - // case 6: - // case 7: - // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 8: - // if ((tdd_sfa != 2) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 9: - // if ((tdd_sfa != 1) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 6)) return; - // break; - - // } - //} - //weight = get_ue_weight(module_idP,UE_id); - aggregation = 2; - for (CC_id = 0; CC_idmessage.dl_Bandwidth); - min_rb_unit[CC_id] = get_min_rb_unit(module_idP, CC_id); - // get number of PRBs less those used by common channels - total_nb_available_rb[CC_id] = N_RB_DL[CC_id]; - for (i = 0; imessage.dl_Bandwidth); - - // store the global enb stats: - eNB->eNB_stats[CC_id].num_dlactive_UEs = UE_list->num_UEs; - eNB->eNB_stats[CC_id].available_prbs = total_nb_available_rb[CC_id]; - eNB->eNB_stats[CC_id].total_available_prbs += total_nb_available_rb[CC_id]; - eNB->eNB_stats[CC_id].dlsch_bytes_tx = 0; - eNB->eNB_stats[CC_id].dlsch_pdus_tx = 0; - } - - /// CALLING Pre_Processor for downlink scheduling (Returns estimation of RBs required by each UE and the allocation on sub-band) - - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_IN); - //start_meas(&eNB->schedule_dlsch_preprocessor); - //dlsch_scheduler_pre_processor(module_idP, - // frameP, - // subframeP, - // N_RBG, - // mbsfn_flag); - //stop_meas(&eNB->schedule_dlsch_preprocessor); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_OUT); - - - for (CC_id = 0; CC_idDL_req[CC_id].dl_config_request_body; - - if (mbsfn_flag[CC_id]>0) - continue; - - for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) - { - - - continue_flag = 0; // reset the flag to allow allocation for the remaining UEs - rnti = UE_RNTI(module_idP, UE_id); - eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; - ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; - - - if (rnti == NOT_A_RNTI) { - LOG_D(MAC, "Cannot find rnti for UE_id %d (num_UEs %d)\n", UE_id, UE_list->num_UEs); - continue_flag = 1; - } - - if (eNB_UE_stats == NULL) { - LOG_D(MAC, "[eNB] Cannot find eNB_UE_stats\n"); - continue_flag = 1; - } - - //if (continue_flag != 1) { - // switch (get_tmode(module_idP, CC_id, UE_id)) { - // case 1: - // case 2: - // case 7: - // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), - // eNB_UE_stats->dl_cqi, - // format1); - // break; - // case 3: - // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), - // eNB_UE_stats->dl_cqi, - // format2A); - // break; - // default: - // LOG_W(MAC, "Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); - // aggregation = 2; - // } - //} - - if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || // no RBs allocated - CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, aggregation, rnti) - ) { - LOG_D(MAC, "[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", - module_idP, frameP, UE_id, CC_id); - continue_flag = 1; //to next user (there might be rbs availiable for other UEs in TM5 - } - - //if (cc[CC_id].tdd_Config != NULL) { //TDD - // set_ue_dai(subframeP, - // UE_id, - // CC_id, - // cc[CC_id].tdd_Config->subframeAssignment, - // UE_list); - // // update UL DAI after DLSCH scheduling - // set_ul_DAI(module_idP, UE_id, CC_id, frameP, subframeP); - //} - - //if (continue_flag == 1) { - // add_ue_dlsch_info(module_idP, - // CC_id, - // UE_id, - // subframeP, - // S_DL_NONE); - // continue; - // } - - nb_available_rb = 6; // to be checked - harq_pid = ue_sched_ctl->harq_pid[CC_id]; - round = ue_sched_ctl->round[CC_id]; - UE_list->eNB_UE_stats[CC_id][UE_id].crnti = rnti; - UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); - UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid; - UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; - - sdu_length_total = 0; - num_sdus = 0; - - - //DevCheck(((eNB_UE_stats->dl_cqi < MIN_CQI_VALUE) || (eNB_UE_stats->dl_cqi > MAX_CQI_VALUE)), - //eNB_UE_stats->dl_cqi, MIN_CQI_VALUE, MAX_CQI_VALUE); - - eNB_UE_stats->dlsch_mcs1 = cqi_to_mcs[eNB_UE_stats->dl_cqi]; //to be checked - eNB_UE_stats->dlsch_mcs1 = cmin(eNB_UE_stats->dlsch_mcs1, 15); - - - // store stats - UE_list->eNB_UE_stats[CC_id][UE_id].dl_cqi = eNB_UE_stats->dl_cqi; - - // initializing the rb allocation indicator for each UE - //to be checked - for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0; - } - - LOG_D(MAC, "[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, rb %d, cqi %d, mcs %d, rrc %d)\n", - module_idP, frameP, UE_id, CC_id, rnti, harq_pid, round, nb_available_rb, - eNB_UE_stats->dl_cqi, eNB_UE_stats->dlsch_mcs1, - UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status); - - - - // process retransmission - - if (round > 0) { - // get freq_allocation - nb_rb = UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid]; - - if (nb_rb <= nb_available_rb) { - if (cc[CC_id].tdd_Config != NULL) { - UE_list->UE_template[CC_id][UE_id].DAI++; - update_ul_dci(module_idP, CC_id, rnti, UE_list->UE_template[CC_id][UE_id].DAI); - LOG_D(MAC, "DAI update: CC_id %d subframeP %d: UE %d, DAI %d\n", CC_id, subframeP, UE_id, UE_list->UE_template[CC_id][UE_id].DAI); - } - - if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { - for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - } - } - else { - nb_rb_temp = nb_rb; - j = 0; - - while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { - UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - - if ((j == N_RBG[CC_id] - 1) && - ((N_RB_DL[CC_id] == 25) || - (N_RB_DL[CC_id] == 50))) { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; - } - else { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; - } - } - - j = j + 1; - } - } - - nb_available_rb -= nb_rb; - - //eNB->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; - //eNB->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; - - //for(j=0; jmu_mimo_mode[UE_id].rballoc_sub[j] = UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j]; - //} - - - switch (get_tmode(module_idP, CC_id, UE_id)) { - case 1: - case 2: - case 7: - default: - { - - - - - unsigned int rmax ; - unsigned int narrowBandindex_index ; - unsigned int first_rb, rep, reps; - - // rmax from RRC connection setup - getRepetition(&UE_template[CC_id][UE_id],&rmax, &narrowBandindex_index, &first_rb) ; - - - // choose r3 by default for RAR (Table 9.1.5-5) - rep = 2; - // get actual repetition count from Table 9.1.5-3 - reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); - // get narrowband according to higher-layer config - num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; - - RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; - first_rb = narrowBandindex_index * 6; - - vrb_map[first_rb] = 1; - vrb_map[first_rb + 1] = 1; - vrb_map[first_rb + 2] = 1; - vrb_map[first_rb + 3] = 1; - vrb_map[first_rb + 4] = 1; - vrb_map[first_rb + 5] = 1; - - if ((RA_template->mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC)>0)) - { - // MPDCCH configuration for RAR - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, - "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid];; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; - RA_template->msg2_mpdcch_repetition_cnt++; - dl_req->number_pdu++; - - } //repetition_count==0 && SF condition met - else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - RA_template->msg2_mpdcch_repetition_cnt++; - if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case - // wait 2 subframes for PDSCH transmission - if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; - else RA_template->Msg2_frame = frameP; - RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 - } - else { - AssertFatal(1 == 0, "TDD case not done yet\n"); - } - } // mpdcch_repetition_count == reps - if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - // Program PDSCH - RA_template->generate_rar = 0; - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - // Program UL processing for Msg3, same as regular LTE - get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); - - - fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = 7; - TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; - } - } - - } - - - - //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3; - - - if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, - rnti)) { - dl_req->number_dci++; - dl_req->number_pdu++; - - } - else { - // No TX request for retransmission (check if null request for FAPI) - } - } - - add_ue_dlsch_info(module_idP, - CC_id, - UE_id, - subframeP, - S_DL_SCHEDULED); - - //eNB_UE_stats->dlsch_trials[round]++; - UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx = nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx += nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = eNB_UE_stats->dlsch_mcs1; - } - else { - LOG_D(MAC, "[eNB %d] Frame %d CC_id %d : don't schedule UE %d, its retransmission takes more resources than we have\n", - module_idP, frameP, CC_id, UE_id); - } - } - else { -// This is a potentially new SDU opportunity - - rlc_status.bytes_in_buffer = 0; - // Now check RLC information to compute number of required RBs - // get maximum TBS size for RLC request - //to be checked - TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); - // check first for RLC data on DCCH - // add the length for all the control elements (timing adv, drx, etc) : header + payload - - ta_len = (ue_sched_ctl->ta_update != 0) ? 2 : 0; - - header_len_dcch = 2; // 2 bytes DCCH SDU subheader - - if (TBS - ta_len - header_len_dcch > 0) { - rlc_status = mac_rlc_status_ind( - module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH, - (TBS - ta_len - header_len_dcch)); // transport block set size - - sdu_lengths[0] = 0; - - if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit - LOG_D(MAC, "[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n", - module_idP, frameP, CC_id, TBS - header_len_dcch); - sdu_lengths[0] = mac_rlc_data_req( - module_idP, - rnti, - module_idP, - frameP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH, - TBS, //not used - (char *)&dlsch_buffer[0]); - - T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); - - LOG_D(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes from RLC\n", module_idP, CC_id, sdu_lengths[0]); - sdu_length_total = sdu_lengths[0]; - sdu_lcids[0] = DCCH; - UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH] += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH] += sdu_lengths[0]; - num_sdus = 1; + uint8_t *vrb_map; + int first_rb; + start_meas(&eNB->schedule_dlsch); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_IN); + + + // for TDD: check that we have to act here, otherwise return + //if (cc[0].tdd_Config) { + // tdd_sfa = cc[0].tdd_Config->subframeAssignment; + // switch (subframeP) { + // case 0: + // // always continue + // break; + // case 1: + // return; + // break; + // case 2: + // return; + // break; + // case 3: + // if ((tdd_sfa != 2) && (tdd_sfa != 5)) return; + // break; + // case 4: + // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 5: + // break; + // case 6: + // case 7: + // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 8: + // if ((tdd_sfa != 2) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; + // break; + // case 9: + // if ((tdd_sfa != 1) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 6)) return; + // break; + + // } + //} + //weight = get_ue_weight(module_idP,UE_id); + aggregation = 2; + for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { + N_RB_DL[CC_id] = to_prb(cc[CC_id].mib->message.dl_Bandwidth); + min_rb_unit[CC_id] = get_min_rb_unit(module_idP, CC_id); + // get number of PRBs less those used by common channels + total_nb_available_rb[CC_id] = N_RB_DL[CC_id]; + for (i = 0; i < N_RB_DL[CC_id]; i++) + if (cc[CC_id].vrb_map[i] != 0) + total_nb_available_rb[CC_id]--; + + N_RBG[CC_id] = to_rbg(cc[CC_id].mib->message.dl_Bandwidth); + + // store the global enb stats: + eNB->eNB_stats[CC_id].num_dlactive_UEs = UE_list->num_UEs; + eNB->eNB_stats[CC_id].available_prbs = total_nb_available_rb[CC_id]; + eNB->eNB_stats[CC_id].total_available_prbs += total_nb_available_rb[CC_id]; + eNB->eNB_stats[CC_id].dlsch_bytes_tx = 0; + eNB->eNB_stats[CC_id].dlsch_pdus_tx = 0; + } + + /// CALLING Pre_Processor for downlink scheduling (Returns estimation of RBs required by each UE and the allocation on sub-band) + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_IN); + //start_meas(&eNB->schedule_dlsch_preprocessor); + //dlsch_scheduler_pre_processor(module_idP, + // frameP, + // subframeP, + // N_RBG, + // mbsfn_flag); + //stop_meas(&eNB->schedule_dlsch_preprocessor); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PREPROCESSOR, VCD_FUNCTION_OUT); + + + for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) + { + vrb_map = cc[CC_id].vrb_map; + + LOG_D(MAC, "doing schedule_ue_spec for CC_id %d\n", CC_id); + + dl_req = &eNB->DL_req[CC_id].dl_config_request_body; + + if (mbsfn_flag[CC_id] > 0) + continue; + + for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) + { + + + continue_flag = 0; // reset the flag to allow allocation for the remaining UEs + rnti = UE_RNTI(module_idP, UE_id); + eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; + ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; + + + if (rnti == NOT_A_RNTI) { + LOG_D(MAC, "Cannot find rnti for UE_id %d (num_UEs %d)\n", UE_id, UE_list->num_UEs); + continue_flag = 1; + } + + if (eNB_UE_stats == NULL) { + LOG_D(MAC, "[eNB] Cannot find eNB_UE_stats\n"); + continue_flag = 1; + } + + //if (continue_flag != 1) { + // switch (get_tmode(module_idP, CC_id, UE_id)) { + // case 1: + // case 2: + // case 7: + // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), + // eNB_UE_stats->dl_cqi, + // format1); + // break; + // case 3: + // aggregation = get_aggregation(get_bw_index(module_idP, CC_id), + // eNB_UE_stats->dl_cqi, + // format2A); + // break; + // default: + // LOG_W(MAC, "Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); + // aggregation = 2; + // } + //} + + if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || // no RBs allocated + CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, aggregation, rnti) + ) { + LOG_D(MAC, "[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", + module_idP, frameP, UE_id, CC_id); + continue_flag = 1; //to next user (there might be rbs availiable for other UEs in TM5 + } + + //if (cc[CC_id].tdd_Config != NULL) { //TDD + // set_ue_dai(subframeP, + // UE_id, + // CC_id, + // cc[CC_id].tdd_Config->subframeAssignment, + // UE_list); + // // update UL DAI after DLSCH scheduling + // set_ul_DAI(module_idP, UE_id, CC_id, frameP, subframeP); + //} + + //if (continue_flag == 1) { + // add_ue_dlsch_info(module_idP, + // CC_id, + // UE_id, + // subframeP, + // S_DL_NONE); + // continue; + // } + + nb_available_rb = 6; // to be checked + harq_pid = ue_sched_ctl->harq_pid[CC_id]; + round = ue_sched_ctl->round[CC_id]; + UE_list->eNB_UE_stats[CC_id][UE_id].crnti = rnti; + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); + UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid; + UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; + + sdu_length_total = 0; + num_sdus = 0; + + + //DevCheck(((eNB_UE_stats->dl_cqi < MIN_CQI_VALUE) || (eNB_UE_stats->dl_cqi > MAX_CQI_VALUE)), + //eNB_UE_stats->dl_cqi, MIN_CQI_VALUE, MAX_CQI_VALUE); + + eNB_UE_stats->dlsch_mcs1 = cqi_to_mcs[eNB_UE_stats->dl_cqi]; //to be checked + eNB_UE_stats->dlsch_mcs1 = cmin(eNB_UE_stats->dlsch_mcs1, 15); + + + // store stats + UE_list->eNB_UE_stats[CC_id][UE_id].dl_cqi = eNB_UE_stats->dl_cqi; + + // initializing the rb allocation indicator for each UE + //to be checked + for (j = 0; j < N_RBG[CC_id]; j++) { + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = 0; + } + + LOG_D(MAC, "[eNB %d] Frame %d: Scheduling UE %d on CC_id %d (rnti %x, harq_pid %d, round %d, rb %d, cqi %d, mcs %d, rrc %d)\n", + module_idP, frameP, UE_id, CC_id, rnti, harq_pid, round, nb_available_rb, + eNB_UE_stats->dl_cqi, eNB_UE_stats->dlsch_mcs1, + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status); + + + + // process retransmission + + if (round > 0) + { + // get freq_allocation + nb_rb = 6;//UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid]; + + if (nb_rb <= nb_available_rb) + { + + + //if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { + for (j = 0; j < N_RBG[CC_id]; j++) { // for indicating the rballoc for each sub-band + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + } + //} + //else { + // nb_rb_temp = nb_rb; + // j = 0; + + // while ((nb_rb_temp > 0) && (j < N_RBG[CC_id])) { + // if (ue_sched_ctl->rballoc_sub_UE[CC_id][j] == 1) { + // UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + + // if ((j == N_RBG[CC_id] - 1) && + // ((N_RB_DL[CC_id] == 25) || + // (N_RB_DL[CC_id] == 50))) { + // nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; + // } + // else { + // nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; + // } + // } + + // j = j + 1; + // } + //} + + nb_available_rb -= nb_rb; + + //eNB->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; + //eNB->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; + + //for(j=0; jmu_mimo_mode[UE_id].rballoc_sub[j] = UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j]; + //} + + + switch (get_tmode(module_idP, CC_id, UE_id)) { + case 1: + case 2: + case 7: + default: + { + unsigned int rmax; + unsigned int narrowBandindex_index; + unsigned int first_rb, rep, reps; + + // rmax from RRC connection setup + getRepetition(&UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); + + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + + first_rb = narrowBandindex_index * 6; + + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + if ((UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0)) + { + // MPDCCH configuration for RAR + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = (round & 3); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = harq_pid; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + dl_req->number_pdu++; + + + + + //eNB_UE_stats->dlsch_trials[round]++; + UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx = nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx += nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = eNB_UE_stats->dlsch_mcs1; + + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_SCHEDULED); + + } //repetition_count==0 && SF condition met + else if (UE_template[CC_id][UE_id].msg2_mpdcch_repetition_cnt > 0) + { + // we're in a stream of repetitions + UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + if (UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps) + { + // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP > 7) UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023; + else UE_template[CC_id][UE_id].Msg2_frame = frameP; + UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + } + else { + AssertFatal(1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps + if ((UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) { + // Program PDSCH + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 4; // format 6-1A + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = (round & 3); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // Program UL processing for Msg3, same as regular LTE + //get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + + + //fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + //// DL request + //eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; + //TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + //TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + //TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + //TX_req->num_segments = 1; + //TX_req->segments[0].segment_length = 7; + //TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + //eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + } + } + + } + + + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; + // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3; + + + + } + + + + + } + else { + LOG_D(MAC, "[eNB %d] Frame %d CC_id %d : don't schedule UE %d, its retransmission takes more resources than we have\n", + module_idP, frameP, CC_id, UE_id); + } + } + else + { + // This is a potentially new SDU opportunity // + + rlc_status.bytes_in_buffer = 0; + // Now check RLC information to compute number of required RBs + // get maximum TBS size for RLC request + TBS = 408; + // check first for RLC data on DCCH + // add the length for all the control elements (timing adv, drx, etc) : header + payload + + ta_len = (ue_sched_ctl->ta_update != 0) ? 2 : 0; + + header_len_dcch = 2; // 2 bytes DCCH SDU subheader + + if (TBS - ta_len - header_len_dcch > 0) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + (TBS - ta_len - header_len_dcch)); // transport block set size + + sdu_lengths[0] = 0; + + if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit + LOG_D(MAC, "[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP, frameP, CC_id, TBS - header_len_dcch); + sdu_lengths[0] = mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + TBS, //not used + (char *)&dlsch_buffer[0]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); + + LOG_D(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes from RLC\n", module_idP, CC_id, sdu_lengths[0]); + sdu_length_total = sdu_lengths[0]; + sdu_lcids[0] = DCCH; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH] += sdu_lengths[0]; + num_sdus = 1; #ifdef DEBUG_eNB_SCHEDULER - LOG_T(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[0]); + LOG_T(MAC, "[eNB %d][DCCH] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[0]); - for (j = 0; j 0) { - rlc_status = mac_rlc_status_ind( - module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH + 1, - (TBS - ta_len - header_len_dcch - sdu_length_total)); // transport block set size less allocations for timing advance and - // DCCH SDU - sdu_lengths[num_sdus] = 0; + // check for DCCH1 and update header information (assume 2 byte sub-header) + if (TBS - ta_len - header_len_dcch - sdu_length_total > 0) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH + 1, + (TBS - ta_len - header_len_dcch - sdu_length_total)); // transport block set size less allocations for timing advance and + // DCCH SDU + sdu_lengths[num_sdus] = 0; - if (rlc_status.bytes_in_buffer > 0) { - LOG_I(MAC, "[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n", - module_idP, frameP, CC_id, TBS - header_len_dcch - sdu_length_total); - sdu_lengths[num_sdus] += mac_rlc_data_req( - module_idP, - rnti, - module_idP, - frameP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH + 1, - TBS, //not used - (char *)&dlsch_buffer[sdu_length_total]); + if (rlc_status.bytes_in_buffer > 0) { + LOG_I(MAC, "[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP, frameP, CC_id, TBS - header_len_dcch - sdu_length_total); + sdu_lengths[num_sdus] += mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH + 1, + TBS, //not used + (char *)&dlsch_buffer[sdu_length_total]); - T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_INT(DCCH + 1), T_INT(sdu_lengths[num_sdus])); + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH + 1), T_INT(sdu_lengths[num_sdus])); - sdu_lcids[num_sdus] = DCCH1; - sdu_length_total += sdu_lengths[num_sdus]; - header_len_dcch += 2; - UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH1] += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH1] += sdu_lengths[num_sdus]; - num_sdus++; + sdu_lcids[num_sdus] = DCCH1; + sdu_length_total += sdu_lengths[num_sdus]; + header_len_dcch += 2; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH1] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH1] += sdu_lengths[num_sdus]; + num_sdus++; #ifdef DEBUG_eNB_SCHEDULER - LOG_T(MAC, "[eNB %d][DCCH1] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[num_sdus]); + LOG_T(MAC, "[eNB %d][DCCH1] CC_id %d Got %d bytes :", module_idP, CC_id, sdu_lengths[num_sdus]); - for (j = 0; j= DTCH; lcid--) { - // TBD: check if the lcid is active + // assume the max dtch header size, and adjust it later + header_len_dtch = 0; + header_len_dtch_last = 0; // the header length of the last mac sdu + // lcid has to be sorted before the actual allocation (similar struct as ue_list). + for (lcid = NB_RB_MAX - 1; lcid >= DTCH; lcid--) { + // TBD: check if the lcid is active - header_len_dtch += 3; - header_len_dtch_last = 3; - LOG_D(MAC, "[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)\n", - module_idP, frameP, lcid, TBS, - TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); + header_len_dtch += 3; + header_len_dtch_last = 3; + LOG_D(MAC, "[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)\n", + module_idP, frameP, lcid, TBS, + TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); - if (TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch > 0) { // NN: > 2 ? - rlc_status = mac_rlc_status_ind(module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - lcid, - TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); + if (TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch > 0) { // NN: > 2 ? + rlc_status = mac_rlc_status_ind(module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS - ta_len - header_len_dcch - sdu_length_total - header_len_dtch); - if (rlc_status.bytes_in_buffer > 0) { + if (rlc_status.bytes_in_buffer > 0) { - LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)\n", - module_idP, frameP, TBS - header_len_dcch - sdu_length_total - header_len_dtch, lcid, header_len_dtch); - sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, - rnti, - module_idP, - frameP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - lcid, - TBS, //not used - (char*)&dlsch_buffer[sdu_length_total]); - T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); + LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)\n", + module_idP, frameP, TBS - header_len_dcch - sdu_length_total - header_len_dtch, lcid, header_len_dtch); + sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS, //not used + (char*)&dlsch_buffer[sdu_length_total]); + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); - LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d \n", module_idP, sdu_lengths[num_sdus], lcid); - sdu_lcids[num_sdus] = lcid; - sdu_length_total += sdu_lengths[num_sdus]; - UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[lcid] += 1; - UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[lcid] += sdu_lengths[num_sdus]; - if (sdu_lengths[num_sdus] < 128) { - header_len_dtch--; - header_len_dtch_last--; - } - num_sdus++; - } // no data for this LCID - else { - header_len_dtch -= 3; - } - } // no TBS left - else { - header_len_dtch -= 3; - break; - } - } - if (header_len_dtch == 0) - header_len_dtch_last = 0; - // there is at least one SDU - // if (num_sdus > 0 ){ - if ((sdu_length_total + header_len_dcch + header_len_dtch)> 0) { + LOG_D(MAC, "[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d \n", module_idP, sdu_lengths[num_sdus], lcid); + sdu_lcids[num_sdus] = lcid; + sdu_length_total += sdu_lengths[num_sdus]; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[lcid] += 1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[lcid] += sdu_lengths[num_sdus]; + if (sdu_lengths[num_sdus] < 128) { + header_len_dtch--; + header_len_dtch_last--; + } + num_sdus++; + } // no data for this LCID + else { + header_len_dtch -= 3; + } + } // no TBS left + else { + header_len_dtch -= 3; + break; + } + } + if (header_len_dtch == 0) + header_len_dtch_last = 0; + // there is at least one SDU + // if (num_sdus > 0 ){ + if ((sdu_length_total + header_len_dcch + header_len_dtch) > 0) { - // Now compute number of required RBs for total sdu length - // Assume RAH format 2 - // adjust header lengths - header_len_dcch_tmp = header_len_dcch; - header_len_dtch_tmp = header_len_dtch; - if (header_len_dtch == 0) { - header_len_dcch = (header_len_dcch >0) ? 1 : 0;//header_len_dcch; // remove length field - } - else { - header_len_dtch_last -= 1; // now use it to find how many bytes has to be removed for the last MAC SDU - header_len_dtch = (header_len_dtch > 0) ? header_len_dtch - header_len_dtch_last : header_len_dtch; // remove length field for the last SDU - } + // Now compute number of required RBs for total sdu length + // Assume RAH format 2 + // adjust header lengths + header_len_dcch_tmp = header_len_dcch; + header_len_dtch_tmp = header_len_dtch; + if (header_len_dtch == 0) { + header_len_dcch = (header_len_dcch > 0) ? 1 : 0;//header_len_dcch; // remove length field + } + else { + header_len_dtch_last -= 1; // now use it to find how many bytes has to be removed for the last MAC SDU + header_len_dtch = (header_len_dtch > 0) ? header_len_dtch - header_len_dtch_last : header_len_dtch; // remove length field for the last SDU + } - mcs = eNB_UE_stats->dlsch_mcs1; + //mcs = eNB_UE_stats->dlsch_mcs1; + //if (mcs == 0) { + // nb_rb = 4; // don't let the TBS get too small + //} + //else { + // nb_rb = min_rb_unit[CC_id]; + //} + mcs = 4; + nb_rb = 6; + - if (mcs == 0) { - nb_rb = 4; // don't let the TBS get too small - } - else { - nb_rb = min_rb_unit[CC_id]; - } + TBS = 408;//get_TBS_DL(mcs, nb_rb); - TBS = get_TBS_DL(mcs, nb_rb); + //while (TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) { + // nb_rb += min_rb_unit[CC_id]; // - while (TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) { - nb_rb += min_rb_unit[CC_id]; // + // if (nb_rb > nb_available_rb) { // if we've gone beyond the maximum number of RBs + // // (can happen if N_RB_DL is odd) + // TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); + // nb_rb = nb_available_rb; + // break; + // } - if (nb_rb>nb_available_rb) { // if we've gone beyond the maximum number of RBs - // (can happen if N_RB_DL is odd) - TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_available_rb); - nb_rb = nb_available_rb; - break; - } + // TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_rb); + //} - TBS = get_TBS_DL(eNB_UE_stats->dlsch_mcs1, nb_rb); - } - ///////////////////////////////////////////////////////////// - // alter the allocation of the emtc UE here - ////////////////////////////////////////////////////////////// - if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { - for (j = 0; jUE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - } - } - else { - nb_rb_temp = nb_rb; - j = 0; + //if (nb_rb == ue_sched_ctl->pre_nb_available_rbs[CC_id]) { + for (j = 0; j < N_RBG[CC_id]; j++) { // for indicating the rballoc for each sub-band + UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + } + //} + //else + //{ + // nb_rb_temp = nb_rb; + // j = 0; - while ((nb_rb_temp > 0) && (jrballoc_sub_UE[CC_id][j] == 1) { - UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; + // while ((nb_rb_temp > 0) && (j < N_RBG[CC_id])) { + // if (ue_sched_ctl->rballoc_sub_UE[CC_id][j] == 1) { + // UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j] = ue_sched_ctl->rballoc_sub_UE[CC_id][j]; - if ((j == N_RBG[CC_id] - 1) && - ((N_RB_DL[CC_id] == 25) || - (N_RB_DL[CC_id] == 50))) { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; - } - else { - nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; - } - } + // if ((j == N_RBG[CC_id] - 1) && + // ((N_RB_DL[CC_id] == 25) || + // (N_RB_DL[CC_id] == 50))) { + // nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id] + 1; + // } + // else { + // nb_rb_temp = nb_rb_temp - min_rb_unit[CC_id]; + // } + // } - j = j + 1; - } - } - /////////////////////////////////// + // j = j + 1; + // } + //} + + //RC.eNB[module_idP][CC_id]->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; + //RC.eNB[module_idP][CC_id]->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; + //for(j=0; jmu_mimo_mode[UE_id].rballoc_sub[j] = UE_list->UE_template[CC_id][UE_id].rballoc_subband[harq_pid][j]; - // decrease mcs until TBS falls below required length - while ((TBS > (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (mcs>0)) { - mcs--; - TBS = get_TBS_DL(mcs, nb_rb); - } + //} + // + // decrease mcs until TBS falls below required length + //while ((TBS > (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (mcs > 0)) { + // mcs--; + // TBS = get_TBS_DL(mcs, nb_rb); + //} - // if we have decreased too much or we don't have enough RBs, increase MCS - while ((TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (((ue_sched_ctl->dl_pow_off[CC_id]>0) && (mcs<28)) - || ((ue_sched_ctl->dl_pow_off[CC_id] == 0) && (mcs <= 15)))) { - mcs++; - TBS = get_TBS_DL(mcs, nb_rb); - } + //// if we have decreased too much or we don't have enough RBs, increase MCS + //while ((TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (((ue_sched_ctl->dl_pow_off[CC_id] > 0) && (mcs < 28)) + // || ((ue_sched_ctl->dl_pow_off[CC_id] == 0) && (mcs <= 15)))) { + // mcs++; + // TBS = get_TBS_DL(mcs, nb_rb); + //} - LOG_D(MAC, "dlsch_mcs before and after the rate matching = (%d, %d)\n", eNB_UE_stats->dlsch_mcs1, mcs); + LOG_D(MAC, "dlsch_mcs before and after the rate matching = (%d, %d)\n", eNB_UE_stats->dlsch_mcs1, mcs); #ifdef DEBUG_eNB_SCHEDULER - LOG_D(MAC, "[eNB %d] CC_id %d Generated DLSCH header (mcs %d, TBS %d, nb_rb %d)\n", - module_idP, CC_id, mcs, TBS, nb_rb); - // msg("[MAC][eNB ] Reminder of DLSCH with random data %d %d %d %d \n", - // TBS, sdu_length_total, offset, TBS-sdu_length_total-offset); + LOG_D(MAC, "[eNB %d] CC_id %d Generated DLSCH header (mcs %d, TBS %d, nb_rb %d)\n", + module_idP, CC_id, mcs, TBS, nb_rb); + // msg("[MAC][eNB ] Reminder of DLSCH with random data %d %d %d %d \n", + // TBS, sdu_length_total, offset, TBS-sdu_length_total-offset); #endif - if ((TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len) <= 2) { - padding = (TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len); - post_padding = 0; - } - else { - padding = 0; + if ((TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len) <= 2) { + padding = (TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len); + post_padding = 0; + } + else { + padding = 0; - // adjust the header len - if (header_len_dtch == 0) { - header_len_dcch = header_len_dcch_tmp; - } - else { //if (( header_len_dcch==0)&&((header_len_dtch==1)||(header_len_dtch==2))) - header_len_dtch = header_len_dtch_tmp; - } + // adjust the header len + if (header_len_dtch == 0) { + header_len_dcch = header_len_dcch_tmp; + } + else { //if (( header_len_dcch==0)&&((header_len_dtch==1)||(header_len_dtch==2))) + header_len_dtch = header_len_dtch_tmp; + } - post_padding = TBS - sdu_length_total - header_len_dcch - header_len_dtch - ta_len; // 1 is for the postpadding header - } + post_padding = TBS - sdu_length_total - header_len_dcch - header_len_dtch - ta_len; // 1 is for the postpadding header + } - offset = generate_dlsch_header((unsigned char*)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], - num_sdus, //num_sdus - sdu_lengths, // - sdu_lcids, - 255, // no drx - ue_sched_ctl->ta_update, // timing advance - NULL, // contention res id - padding, - post_padding); + offset = generate_dlsch_header((unsigned char*)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + num_sdus, //num_sdus + sdu_lengths, // + sdu_lcids, + 255, // no drx + ue_sched_ctl->ta_update, // timing advance + NULL, // contention res id + padding, + post_padding); - //#ifdef DEBUG_eNB_SCHEDULER - if (ue_sched_ctl->ta_update) { - LOG_I(MAC, - "[eNB %d][DLSCH] Frame %d Generate header for UE_id %d on CC_id %d: sdu_length_total %d, num_sdus %d, sdu_lengths[0] %d, sdu_lcids[0] %d => payload offset %d,timing advance value : %d, padding %d,post_padding %d,(mcs %d, TBS %d, nb_rb %d),header_dcch %d, header_dtch %d\n", - module_idP, frameP, UE_id, CC_id, sdu_length_total, num_sdus, sdu_lengths[0], sdu_lcids[0], offset, - ue_sched_ctl->ta_update, padding, post_padding, mcs, TBS, nb_rb, header_len_dcch, header_len_dtch); - } - //#endif + //#ifdef DEBUG_eNB_SCHEDULER + if (ue_sched_ctl->ta_update) { + LOG_I(MAC, + "[eNB %d][DLSCH] Frame %d Generate header for UE_id %d on CC_id %d: sdu_length_total %d, num_sdus %d, sdu_lengths[0] %d, sdu_lcids[0] %d => payload offset %d,timing advance value : %d, padding %d,post_padding %d,(mcs %d, TBS %d, nb_rb %d),header_dcch %d, header_dtch %d\n", + module_idP, frameP, UE_id, CC_id, sdu_length_total, num_sdus, sdu_lengths[0], sdu_lcids[0], offset, + ue_sched_ctl->ta_update, padding, post_padding, mcs, TBS, nb_rb, header_len_dcch, header_len_dtch); + } + //#endif #ifdef DEBUG_eNB_SCHEDULER - LOG_T(MAC, "[eNB %d] First 16 bytes of DLSCH : \n"); + LOG_T(MAC, "[eNB %d] First 16 bytes of DLSCH : \n"); - for (i = 0; i<16; i++) { - LOG_T(MAC, "%x.", dlsch_buffer[i]); - } + for (i = 0; i < 16; i++) { + LOG_T(MAC, "%x.", dlsch_buffer[i]); + } - LOG_T(MAC, "\n"); + LOG_T(MAC, "\n"); #endif - // cycle through SDUs and place in dlsch_buffer - memcpy(&UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset], dlsch_buffer, sdu_length_total); - // memcpy(RC.mac[0].DLSCH_pdu[0][0].payload[0][offset],dcch_buffer,sdu_lengths[0]); - - // fill remainder of DLSCH with random data - UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; - for (j = 0; j<(TBS - sdu_length_total - offset); j++) { - UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset + sdu_length_total + j] = (char)(taus() & 0xff); - } - - - if (opt_enabled == 1) { - trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], - TBS, module_idP, 3, UE_RNTI(module_idP, UE_id), - eNB->frame, eNB->subframe, 0, 0); - LOG_D(OPT, "[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", - module_idP, CC_id, frameP, UE_RNTI(module_idP, UE_id), TBS); - } - - T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), - T_INT(harq_pid), T_BUFFER(UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS)); - - UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb; - - add_ue_dlsch_info(module_idP, - CC_id, - UE_id, - subframeP, - S_DL_SCHEDULED); - // store stats - eNB->eNB_stats[CC_id].dlsch_bytes_tx += sdu_length_total; - eNB->eNB_stats[CC_id].dlsch_pdus_tx += 1; - - UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used += nb_rb; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = eNB_UE_stats->dlsch_mcs1; - UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = mcs; - UE_list->eNB_UE_stats[CC_id][UE_id].TBS = TBS; - - UE_list->eNB_UE_stats[CC_id][UE_id].overhead_bytes = TBS - sdu_length_total; - UE_list->eNB_UE_stats[CC_id][UE_id].total_sdu_bytes += sdu_length_total; - UE_list->eNB_UE_stats[CC_id][UE_id].total_pdu_bytes += TBS; - UE_list->eNB_UE_stats[CC_id][UE_id].total_num_pdus += 1; - - - - // do PUCCH power control - // this is the normalized RX power - eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; - normalized_rx_power = eNB_UE_stats->Po_PUCCH_dBm; - target_rx_power = get_target_pucch_rx_power(module_idP, CC_id) + 20; - - // this assumes accumulated tpc - // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out - int32_t framex10psubframe = UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame * 10 + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe; - if (((framex10psubframe + 10) <= (frameP * 10 + subframeP)) || //normal case - ((framex10psubframe>(frameP * 10 + subframeP)) && (((10240 - framex10psubframe + frameP * 10 + subframeP) >= 10)))) //frame wrap-around - if (eNB_UE_stats->Po_PUCCH_update == 1) { - eNB_UE_stats->Po_PUCCH_update = 0; - - UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; - UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; - - if (normalized_rx_power>(target_rx_power + 1)) { - tpc = 0; //-1 - tpc_accumulated--; - } - else if (normalized_rx_power<(target_rx_power - 1)) { - tpc = 2; //+1 - tpc_accumulated++; - } - else { - tpc = 1; //0 - } - - - } // Po_PUCCH has been updated - else { - tpc = 1; //0 - } // time to do TPC update - else { - tpc = 1; //0 - } - - - - - - { - - - - - unsigned int rmax ; - unsigned int narrowBandindex_index ; - unsigned int first_rb, rep, reps; - - // rmax from RRC connection setup - getRepetition(&UE_template[CC_id][UE_id],&rmax, &narrowBandindex_index, &first_rb) ; - - - // choose r3 by default for RAR (Table 9.1.5-5) - rep = 2; - // get actual repetition count from Table 9.1.5-3 - reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); - // get narrowband according to higher-layer config - num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; - - RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; - first_rb = narrowBandindex_index * 6; - - vrb_map[first_rb] = 1; - vrb_map[first_rb + 1] = 1; - vrb_map[first_rb + 2] = 1; - vrb_map[first_rb + 3] = 1; - vrb_map[first_rb + 4] = 1; - vrb_map[first_rb + 5] = 1; - - if ((RA_template->mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC)>0)) - { - // MPDCCH configuration for RAR - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, - "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid];; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; - RA_template->msg2_mpdcch_repetition_cnt++; - dl_req->number_pdu++; - - } //repetition_count==0 && SF condition met - else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - RA_template->msg2_mpdcch_repetition_cnt++; - if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case - // wait 2 subframes for PDSCH transmission - if (subframeP>7) RA_template->Msg2_frame = (frameP + 1) & 1023; - else RA_template->Msg2_frame = frameP; - RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 - } - else { - AssertFatal(1 == 0, "TDD case not done yet\n"); - } - } // mpdcch_repetition_count == reps - if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - // Program PDSCH - RA_template->generate_rar = 0; - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - // Program UL processing for Msg3, same as regular LTE - get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); - - - fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = 7; - TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; - } - } - - } - - - - //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3; - - - if (!CCE_allocation_infeasible(module_idP, CC_id, 0, subframeP, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, - rnti)) { - dl_req->number_dci++; - dl_req->number_pdu++; - - } - else { - // No TX request for retransmission (check if null request for FAPI) - } - } - - - - - - - - - - - - - - - //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = tpc; // dont adjust power when retransmitting - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; - ////deactivate second codeword - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_2 = 0; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_2 = 1; - // - dl_req->number_dci++; - dl_req->number_pdu++; - - // Toggle NDI for next time - LOG_D(MAC, "CC_id %d Frame %d, subframeP %d: Toggling Format1 NDI for UE %d (rnti %x/%d) oldNDI %d\n", - CC_id, frameP, subframeP, UE_id, - UE_list->UE_template[CC_id][UE_id].rnti, harq_pid, UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]); - - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid] = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid] = mcs; - UE_list->UE_template[CC_id][UE_id].oldmcs2[harq_pid] = 0; - - eNB->TX_req[CC_id].sfn_sf = (frameP << 3) + subframeP; - TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; - TX_req->pdu_length = TBS; - TX_req->pdu_index = eNB->pdu_index[CC_id]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = TBS; - TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char)UE_id].payload[harq_pid]; - eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; - - } - else { // There is no data from RLC or MAC header, so don't schedule - - } - } - - - } // UE_id loop - } // CC_id loop - - - fill_DLSCH_dci(module_idP, frameP, subframeP, mbsfn_flag); - - stop_meas(&eNB->schedule_dlsch); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); + // cycle through SDUs and place in dlsch_buffer + memcpy(&UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset], dlsch_buffer, sdu_length_total); + // memcpy(RC.mac[0].DLSCH_pdu[0][0].payload[0][offset],dcch_buffer,sdu_lengths[0]); + + // fill remainder of DLSCH with random data + for (j = 0; j < (TBS - sdu_length_total - offset); j++) { + UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset + sdu_length_total + j] = (char)(taus() & 0xff); + } + + + if (opt_enabled == 1) { + trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + TBS, module_idP, 3, UE_RNTI(module_idP, UE_id), + eNB->frame, eNB->subframe, 0, 0); + LOG_D(OPT, "[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", + module_idP, CC_id, frameP, UE_RNTI(module_idP, UE_id), TBS); + } + + T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_BUFFER(UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS)); + + UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb; + + add_ue_dlsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_DL_SCHEDULED); + // store stats + eNB->eNB_stats[CC_id].dlsch_bytes_tx += sdu_length_total; + eNB->eNB_stats[CC_id].dlsch_pdus_tx += 1; + + UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used = nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used += nb_rb; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1 = 4;//eNB_UE_stats->dlsch_mcs1; + UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2 = mcs; + UE_list->eNB_UE_stats[CC_id][UE_id].TBS = TBS; + + UE_list->eNB_UE_stats[CC_id][UE_id].overhead_bytes = TBS - sdu_length_total; + UE_list->eNB_UE_stats[CC_id][UE_id].total_sdu_bytes += sdu_length_total; + UE_list->eNB_UE_stats[CC_id][UE_id].total_pdu_bytes += TBS; + UE_list->eNB_UE_stats[CC_id][UE_id].total_num_pdus += 1; + + + + // do PUCCH power control + // this is the normalized RX power + eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; + normalized_rx_power = eNB_UE_stats->Po_PUCCH_dBm; + target_rx_power = get_target_pucch_rx_power(module_idP, CC_id) + 20; + + // this assumes accumulated tpc + // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out + //int32_t framex10psubframe = UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame * 10 + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe; + //if (((framex10psubframe + 10) <= (frameP * 10 + subframeP)) || //normal case + // ((framex10psubframe > (frameP * 10 + subframeP)) && (((10240 - framex10psubframe + frameP * 10 + subframeP) >= 10)))) //frame wrap-around + // if (eNB_UE_stats->Po_PUCCH_update == 1) { + // eNB_UE_stats->Po_PUCCH_update = 0; + + // UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; + // UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; + + // if (normalized_rx_power > (target_rx_power + 1)) { + // tpc = 0; //-1 + // tpc_accumulated--; + // } + // else if (normalized_rx_power < (target_rx_power - 1)) { + // tpc = 2; //+1 + // tpc_accumulated++; + // } + // else { + // tpc = 1; //0 + // } + // + // + + // } // Po_PUCCH has been updated + // else { + // tpc = 1; //0 + // } // time to do TPC update + //else { + // tpc = 1; //0 + //} + + { + unsigned int rmax; + unsigned int narrowBandindex_index; + unsigned int first_rb, rep, reps; + + // rmax from RRC connection setup + getRepetition(&UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); + + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + + first_rb = narrowBandindex_index * 6; + + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + if ((UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0)) + { + // MPDCCH configuration for RAR + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = harq_pid; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + dl_req->number_pdu++; + + + // Toggle NDI for next time + LOG_D(MAC, "CC_id %d Frame %d, subframeP %d: Toggling Format1 NDI for UE %d (rnti %x/%d) oldNDI %d\n", + CC_id, frameP, subframeP, UE_id, + UE_list->UE_template[CC_id][UE_id].rnti, harq_pid, UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]); + + UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid] = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid] = mcs; + UE_list->UE_template[CC_id][UE_id].oldmcs2[harq_pid] = 0; + + eNB->TX_req[CC_id].sfn_sf = (frameP << 3) + subframeP; + TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + TX_req->pdu_length = TBS; + TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = TBS; + TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char)UE_id].payload[harq_pid]; + eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + + } //repetition_count==0 && SF condition met + else if (UE_template[CC_id][UE_id].msg2_mpdcch_repetition_cnt > 0) + { + // we're in a stream of repetitions + UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + if (UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps) + { + // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP > 7) UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023; + else UE_template[CC_id][UE_id].Msg2_frame = frameP; + UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + } + else { + AssertFatal(1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps + if ((UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) { + // Program PDSCH + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 4; // format 6-1A + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // Program UL processing for Msg3, same as regular LTE + //get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + + + //fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + //// DL request + //eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; + //TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + //TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + //TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + //TX_req->num_segments = 1; + //TX_req->segments[0].segment_length = 7; + //TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + //eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + } + } + + } + + //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); + //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power + + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = tpc; // dont adjust power when retransmitting + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1 - UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = mcs; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; + ////deactivate second codeword + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_2 = 0; + //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_2 = 1; + + //dl_req->number_dci++; + //dl_req->number_pdu++; + + + } + else { // There is no data from RLC or MAC header, so don't schedule + + } + } + + if (cc[CC_id].tdd_Config != NULL) { // TDD + set_ul_DAI(module_idP, UE_id, CC_id, frameP, subframeP); + } + + } // UE_id loop + } // CC_id loop + + + fill_DLSCH_dci(module_idP, frameP, subframeP, mbsfn_flag); + + stop_meas(&eNB->schedule_dlsch); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); }*/ - - - + //------------------------------------------------------------------------------ void schedule_ue_spec( From 8e73bca80f84360e3502356be3e4e2503029ea34 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Mon, 14 Aug 2017 15:39:51 +0200 Subject: [PATCH 024/109] fix some errors while merging BR edit --- openair2/LAYER2/MAC/defs.h | 2 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 0723324038..ba1ead0b02 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -758,7 +758,7 @@ typedef struct { uint16_t mpdcch_repetition_cnt; struct PhysicalConfigDedicated *physicalConfigDedicated; frame_t Msg2_frame; - subframe_t Msg2_subframe; + sub_frame_t Msg2_subframe; #endif } UE_TEMPLATE; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index aacb5e2697..121270c99b 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -461,9 +461,9 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i } +/* - -/*void +void schedule_ue_spec_br( module_id_t module_idP, frame_t frameP, @@ -759,7 +759,7 @@ schedule_ue_spec_br( unsigned int first_rb, rep, reps; // rmax from RRC connection setup - getRepetition(&UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); + getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); // choose r3 by default for RAR (Table 9.1.5-5) rep = 2; @@ -775,7 +775,7 @@ schedule_ue_spec_br( vrb_map[first_rb + 4] = 1; vrb_map[first_rb + 5] = 1; - if ((UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && + if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0)) { // MPDCCH configuration for RAR @@ -796,7 +796,7 @@ schedule_ue_spec_br( dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_id].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter @@ -1572,7 +1572,9 @@ schedule_ue_spec_br( stop_meas(&eNB->schedule_dlsch); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); -}*/ +} + +*/ //------------------------------------------------------------------------------ void From 79d77a4af8b5ed572b3664c3f741555cf3568068 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Mon, 14 Aug 2017 18:43:49 +0200 Subject: [PATCH 025/109] debugging for SIB1-BR --- openair1/PHY/CODING/lte_rate_matching.c | 2 +- openair1/PHY/LTE_TRANSPORT/defs.h | 4 +- openair1/PHY/LTE_TRANSPORT/dlsch_coding.c | 20 ++--- openair1/SCHED/phy_procedures_lte_eNb.c | 96 ++++++++++++++--------- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 52 ++++++------ openair2/RRC/LITE/MESSAGES/asn1_msg.c | 3 +- targets/RT/USER/lte-ru.c | 7 +- 7 files changed, 109 insertions(+), 75 deletions(-) diff --git a/openair1/PHY/CODING/lte_rate_matching.c b/openair1/PHY/CODING/lte_rate_matching.c index a25dbe8b79..7d48021721 100644 --- a/openair1/PHY/CODING/lte_rate_matching.c +++ b/openair1/PHY/CODING/lte_rate_matching.c @@ -520,7 +520,7 @@ uint32_t lte_rate_matching_turbo(uint32_t RTC, GpmodC = Gp%C; #ifdef RM_DEBUG - printf("lte_rate_matching_turbo: Ncb %d, Kw %d, Nir/C %d, rvidx %d, G %d, Qm %d, Nl%d, r %d\n",Ncb,3*(RTC<<5),Nir/C,rvidx, G, Qm,Nl,r); + LOG_D(PHY,"lte_rate_matching_turbo: Ncb %d, Kw %d, Nir/C %d, rvidx %d, G %d, Qm %d, Nl%d, r %d\n",Ncb,3*(RTC<<5),Nir/C,rvidx, G, Qm,Nl,r); #endif if (r < (C-(GpmodC))) diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h index 9d3d9c2b40..e2be6810b2 100644 --- a/openair1/PHY/LTE_TRANSPORT/defs.h +++ b/openair1/PHY/LTE_TRANSPORT/defs.h @@ -291,7 +291,9 @@ typedef struct { int16_t sqrt_rho_a; /// amplitude of PDSCH (compared to RS) in symbols containing pilots int16_t sqrt_rho_b; - +#ifdef Rel14 + uint8_t sib1_br_flag; +#endif } LTE_eNB_DLSCH_t; #define PUSCH_x 2 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c index 18df5c3b44..68f38398c7 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c @@ -145,7 +145,7 @@ LTE_eNB_DLSCH_t *new_eNB_dlsch(unsigned char Kmimo,unsigned char Mdlharq,uint32_ bzero(dlsch,sizeof(LTE_eNB_DLSCH_t)); dlsch->Kmimo = Kmimo; dlsch->Mdlharq = Mdlharq; - dlsch->Mlimit = 4; + dlsch->Mlimit = 8; dlsch->Nsoft = Nsoft; for (layer=0; layer<4; layer++) { @@ -597,19 +597,19 @@ int dlsch_encoding(PHY_VARS_eNB *eNB, beamforming_mode = 8; else if(dlsch->harq_processes[harq_pid]->mimo_mode == TM9_10) beamforming_mode = 9; - G = get_G(frame_parms,nb_rb,dlsch->harq_processes[harq_pid]->rb_alloc,mod_order,dlsch->harq_processes[harq_pid]->Nl,num_pdcch_symbols,frame,subframe,beamforming_mode); + G = get_G(frame_parms, + nb_rb, + dlsch->harq_processes[harq_pid]->rb_alloc, + mod_order, + dlsch->harq_processes[harq_pid]->Nl, + num_pdcch_symbols, + frame, + subframe, + beamforming_mode); - // if (dlsch->harq_processes[harq_pid]->Ndi == 1) { // this is a new packet if (dlsch->harq_processes[harq_pid]->round == 0) { // this is a new packet - /* - int i; - printf("dlsch (tx): \n"); - for (i=0;i<(A>>3);i++) - printf("%02x.",a[i]); - printf("\n"); - */ // Add 24-bit crc (polynomial A) to payload crc = crc24a(a, A)>>8; diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 514e7894cc..80789c2e8d 100644 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -715,43 +715,48 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; int i; - LOG_D(PHY, - "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", G %d, nb_rb %"PRIu16", mcs %"PRIu8", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", - eNB->Mod_id, dlsch->rnti,harq_pid, - frame, subframe, input_buffer_length, - get_G(fp, - dlsch_harq->nb_rb, - dlsch_harq->rb_alloc, - get_Qm(dlsch_harq->mcs), - dlsch_harq->Nl, - num_pdcch_symbols, - frame, - subframe, - dlsch_harq->mimo_mode==TM7?7:0), - dlsch_harq->nb_rb, - dlsch_harq->mcs, - pmi2hex_2Ar1(dlsch_harq->pmi_alloc), - dlsch_harq->rvidx, + if (frame < 20) { + LOG_I(PHY, + "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", num_pdcch_symbols %d, G %d, nb_rb %"PRIu16", rb0 %x, rb1 %x, TBS %"PRIu16", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", + eNB->Mod_id, dlsch->rnti,harq_pid, + frame, subframe, input_buffer_length, num_pdcch_symbols, + get_G(fp, + dlsch_harq->nb_rb, + dlsch_harq->rb_alloc, + dlsch_harq->Qm, + dlsch_harq->Nl, + num_pdcch_symbols, + frame, + subframe, + dlsch_harq->mimo_mode==TM7?7:0), + dlsch_harq->nb_rb, + dlsch_harq->rb_alloc[0], + dlsch_harq->rb_alloc[1], + dlsch_harq->TBS, + pmi2hex_2Ar1(dlsch_harq->pmi_alloc), + dlsch_harq->rvidx, dlsch_harq->round); - + for (i=0;iTBS>>3;i++) printf("%x.",dlsch_harq->pdu[i]); + printf("\n"); + } #if defined(MESSAGE_CHART_GENERATOR_PHY) MSC_LOG_TX_MESSAGE( MSC_PHY_ENB,MSC_PHY_UE, NULL,0, - "%05u:%02u PDSCH/DLSCH input size = %"PRIu16", G %d, nb_rb %"PRIu16", mcs %"PRIu8", pmi_alloc %"PRIx16", rv %"PRIu8" (round %"PRIu8")", + "%05u:%02u PDSCH/DLSCH input size = %"PRIu16", G %d, nb_rb %"PRIu16", TBS %"PRIu16", pmi_alloc %"PRIx16", rv %"PRIu8" (round %"PRIu8")", frame, subframe, input_buffer_length, get_G(fp, dlsch_harq->nb_rb, dlsch_harq->rb_alloc, - get_Qm(dlsch_harq->mcs), + dlsch_harq->Qm, dlsch_harq->Nl, num_pdcch_symbols, frame, subframe, dlsch_harq->mimo_mode==TM7?7:0), dlsch_harq->nb_rb, - dlsch_harq->mcs, + dlsch_harq->TBS, pmi2hex_2Ar1(dlsch_harq->pmi_alloc), dlsch_harq->rvidx, dlsch_harq->round); @@ -868,7 +873,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, get_G(fp, dlsch_harq->nb_rb, dlsch_harq->rb_alloc, - get_Qm(dlsch_harq->mcs), + dlsch_harq->Qm, dlsch_harq->Nl, num_pdcch_symbols, frame,subframe, @@ -1003,7 +1008,7 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch1 = eNB->dlsch[UE_id][1]; #ifdef Rel14 - if ((rel13->pdsch_payload_type == 0) && (rel13->ue_type>0)) dlsch0->harq_ids[proc->subframe_tx] = 0; + if ((rel13->pdsch_payload_type < 2) && (rel13->ue_type>0)) dlsch0->harq_ids[proc->subframe_tx] = 0; #endif harq_pid = dlsch0->harq_ids[proc->subframe_tx]; @@ -1018,7 +1023,15 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, else dlsch1_harq->pdu = sdu; #ifdef Rel14 + dlsch0->sib1_br_flag=0; if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR + dlsch0->rnti = 0xFFFF; + dlsch0->Kmimo = 1; + dlsch0->Mdlharq = 4; + dlsch0->Nsoft = 25344; + + if (rel13->pdsch_payload_type == 0) dlsch0->sib1_br_flag=1; + // configure PDSCH switch (eNB->frame_parms.N_RB_DL) { case 6: @@ -1055,7 +1068,8 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0_harq->round = 0; dlsch0_harq->status = ACTIVE; dlsch0_harq->TBS = rel8->length<<3; - + dlsch0_harq->Qm = rel8->modulation; + dlsch0_harq->codeword = 0; } @@ -1437,34 +1451,42 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX,0); // Now scan UE specific DLSCH + LTE_eNB_DLSCH_t *dlsch0,*dlsch1; for (UE_id=0; UE_iddlsch[(uint8_t)UE_id][0])&& - (eNB->dlsch[(uint8_t)UE_id][0]->rnti>0)&& - (eNB->dlsch[(uint8_t)UE_id][0]->active == 1)) { + dlsch0 = eNB->dlsch[(uint8_t)UE_id][0]; + dlsch1 = eNB->dlsch[(uint8_t)UE_id][1]; + if ((dlsch0)&& + (dlsch0->rnti>0)&& + (dlsch0->active == 1)) { // get harq_pid - harq_pid = eNB->dlsch[(uint8_t)UE_id][0]->harq_ids[subframe]; + harq_pid = dlsch0->harq_ids[subframe]; AssertFatal(harq_pid>=0,"harq_pid is negative\n"); // generate pdsch pdsch_procedures(eNB, proc, harq_pid, - eNB->dlsch[(uint8_t)UE_id][0], - eNB->dlsch[(uint8_t)UE_id][1], + dlsch0, + dlsch1, &eNB->UE_stats[(uint32_t)UE_id], 0, - num_pdcch_symbols); +#ifdef Rel14 + dlsch0->sib1_br_flag==0 ? num_pdcch_symbols : 3 +#else + num_pdcch_symbols +#endif +); } - else if ((eNB->dlsch[(uint8_t)UE_id][0])&& - (eNB->dlsch[(uint8_t)UE_id][0]->rnti>0)&& - (eNB->dlsch[(uint8_t)UE_id][0]->active == 0)) { + else if ((dlsch0)&& + (dlsch0->rnti>0)&& + (dlsch0->active == 0)) { // clear subframe TX flag since UE is not scheduled for PDSCH in this subframe (so that we don't look for PUCCH later) - eNB->dlsch[(uint8_t)UE_id][0]->subframe_tx[subframe]=0; + dlsch0->subframe_tx[subframe]=0; } } @@ -1676,7 +1698,6 @@ void process_HARQ_feedback(uint8_t UE_id, dl_subframe = ul_ACK_subframe2_dl_subframe(fp, subframe, m); - if (dlsch->subframe_tx[dl_subframe]==1) { if (pusch_flag == 1) mp++; @@ -1696,10 +1717,9 @@ void process_HARQ_feedback(uint8_t UE_id, if (dl_harq_pid[m]Mdlharq) { dlsch_harq_proc = dlsch->harq_processes[dl_harq_pid[m]]; #ifdef DEBUG_PHY_PROC - LOG_D(PHY,"[eNB %d][PDSCH %x/%d] subframe %d, status %d, round %d (mcs %d, rv %d, TBS %d)\n",eNB->Mod_id, + LOG_D(PHY,"[eNB %d][PDSCH %x/%d] subframe %d, status %d, round %d (rv %d, TBS %d)\n",eNB->Mod_id, dlsch->rnti,dl_harq_pid[m],dl_subframe, dlsch_harq_proc->status,dlsch_harq_proc->round, - dlsch->harq_processes[dl_harq_pid[m]]->mcs, dlsch->harq_processes[dl_harq_pid[m]]->rvidx, dlsch->harq_processes[dl_harq_pid[m]]->TBS); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 2a7023e3ab..1cace89799 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -121,16 +121,16 @@ schedule_SIB1_BR( break; case 1: // repetition 8 k = frameP&3; - AssertFatal(N_RB_DL<=15,"SIB1-BR repetition 8 not allowed for N_RB_DL= %d\n",N_RB_DL); + AssertFatal(N_RB_DL>15,"SIB1-BR repetition 8 not allowed for N_RB_DL= %d\n",N_RB_DL); if ((foffset==0) && (subframeP!=(4+sfoffset))) continue; else if ((foffset==1) && (subframeP!=((9+sfoffset)%10))) continue; break; case 2: // repetition 16 k = ((10*frameP) + subframeP)&3; - AssertFatal(N_RB_DL<=15,"SIB1-BR repetition 16 not allowed for N_RB_DL= %d\n",N_RB_DL); + AssertFatal(N_RB_DL>15,"SIB1-BR repetition 16 not allowed for N_RB_DL= %d\n",N_RB_DL); if ((sfoffset == 1) && ((subframeP!=0)||(subframeP!=5))) continue; - else if ((sfoffset == 0) && (foffset==0) && ((subframeP!=4) || (subframeP!=9))) continue; - else if ((sfoffset == 0) && (foffset==1) && ((subframeP!=0) || (subframeP!=9))) continue; + else if ((sfoffset == 0) && (foffset==0) && (subframeP!=4) && (subframeP!=9)) continue; + else if ((sfoffset == 0) && (foffset==1) && (subframeP!=0) && (subframeP!=9)) continue; break; } // if we get here we have to schedule SIB1_BR in this frame/subframe @@ -170,14 +170,13 @@ schedule_SIB1_BR( Sj = Sj100; break; } - + // Note: definition of k above and rvidx from 36.321 section 5.3.1 rvidx = (((3*k)>>1) + (k&1))&3; i = cc->SIB1_BR_cnt & (m-1); n_NB = Sj[((cc->physCellId % N_S_NB) + (i*N_S_NB/m))%N_S_NB]; - if ((frameP%1000) < 40) LOG_D(MAC,"[eNB %d] Frame %d, subframe %d : BCCH_BR->DLSCH (SIB1) CC_id %d\n",module_idP,frameP,subframeP,CC_id); bcch_sdu_length = mac_rrc_data_req(module_idP, CC_id, @@ -197,11 +196,11 @@ schedule_SIB1_BR( AssertFatal(bcch_sdu_length <= TBS, "length returned by RRC %d is not compatible with the TBS %d from MIB\n",bcch_sdu_length,TBS); - LOG_D(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,CC_id,bcch_sdu_length); + if ((frameP&1023) < 200) LOG_I(MAC,"[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n",module_idP,frameP,subframeP,CC_id,bcch_sdu_length,n_NB,i,m,N_S_NB,rvidx); // allocate all 6 PRBs in narrowband for SIB1_BR first_rb = n_NB*6; - vrb_map[first_rb] = 1; + vrb_map[first_rb] = 1; vrb_map[first_rb+1] = 1; vrb_map[first_rb+2] = 1; vrb_map[first_rb+3] = 1; @@ -341,7 +340,10 @@ schedule_SI_BR( "si_WindowLength_BR_r13 %d > %d\n", (int)cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13, SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms200); - + + // check that SI frequency-hopping is disabled + AssertFatal(cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13==SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_off, + "Deactivate SI_HoppingConfigCommon_r13 in configuration file, not supported for now\n"); long si_WindowLength_BR_r13 = si_WindowLength_BR_r13tab[cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13]; long si_RepetitionPattern_r13 = cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13; @@ -359,14 +361,10 @@ schedule_SI_BR( // check if the SI is to be scheduled now int period_in_sf = 80<>1) + (k&1))&3; - rvidx = (((3*sf_mod_period)>>1) + (sf_mod_period&1))&3; - - if ((frameP%1000) < 200) LOG_I(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH (SI) CC_id %d, rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d\n", - module_idP,frameP,CC_id,si_Narrowband_r13,rvidx, - sf_mod_period,si_WindowLength_BR_r13,si_RepetitionPattern_r13); - if ((sf_mod_period < si_WindowLength_BR_r13) && ((frameP&(((1<>3), "RRC provided bcch with length %d > %d (si_TBS_r13 %d)\n", bcch_sdu_length,(int)(si_TBS_r13>>3),(int)schedulingInfoList_BR_r13->list.array[i]->si_TBS_r13); - LOG_D(MAC,"[eNB %d] Frame %d : BCCH_BR %d->DLSCH CC_id %d, Received %d bytes \n",module_idP,frameP,i,CC_id,bcch_sdu_length); - - if ((frameP%1000) < 200) LOG_I(MAC,"[eNB %d] Frame %d : BCCH_BR->DLSCH (SI) CC_id %d, Received %d bytes for NB %d/rvidx %d\n",module_idP,frameP,CC_id,bcch_sdu_length,si_Narrowband_r13,rvidx); // allocate all 6 PRBs in narrowband for SIB1_BR - first_rb = si_Narrowband_r13*6; + first_rb = (si_Narrowband_r13-1)*6; + + // check that SIB1 didn't take this narrowband + if (vrb_map[first_rb] > 0) continue; + vrb_map[first_rb] = 1; vrb_map[first_rb+1] = 1; vrb_map[first_rb+2] = 1; - vrb_map[first_rb+3] = 1; vrb_map[first_rb+4] = 1; vrb_map[first_rb+5] = 1; + + if ((frameP%1000) < 200) LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", + module_idP,frameP,subframeP,CC_id,si_Narrowband_r13-1,rvidx, + sf_mod_period,si_WindowLength_BR_r13,si_RepetitionPattern_r13, + bcch_sdu_length); + + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); @@ -512,7 +518,7 @@ void schedule_mib(module_id_t module_idP, LOG_D(MAC,"Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP,subframeP,dl_req->number_pdu,mib_sdu_length); - if ((frameP&1023) < 40) LOG_I(MAC,"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",module_idP,frameP,CC_id,mib_sdu_length,cc->mib->message.schedulingInfoSIB1_BR_r13); + if ((frameP&1023) < 40) LOG_D(MAC,"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",module_idP,frameP,CC_id,mib_sdu_length,cc->mib->message.schedulingInfoSIB1_BR_r13); dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); @@ -749,7 +755,7 @@ schedule_SI( #ifdef Rel14 schedule_SIB1_BR(module_idP,frameP,subframeP); - schedule_SI_BR(module_idP,frameP,subframeP); + // schedule_SI_BR(module_idP,frameP,subframeP); #endif stop_meas(&eNB->schedule_si); diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index f4ed3ca44d..1a2bf04f73 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -511,7 +511,8 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, ////Rel1310 #if defined(ENABLE_ITTI) - if (configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) + if ((configuration->schedulingInfoSIB1_BR_r13[CC_id] != 0) && + (brOption==TRUE)) { sib1_1250->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1310_IEs_t)); memset(sib1_1250->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1310_IEs_t)); diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index ee7d73263a..d449790a56 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -822,7 +822,12 @@ void tx_rf(RU_t *ru) { if (txs != fp->samples_per_tti) { LOG_E(PHY,"TX : Timeout (sent %d/%d)\n",txs, fp->samples_per_tti); exit_fun( "problem transmitting samples" ); - } + } + /* + if ((proc->subframe_tx == 4) && (proc->frame_tx == 10)) { + write_output("ru_tx_sf4.m","txs",(void*)&ru->common.txdata[0][4*fp->samples_per_tti],fp->samples_per_tti,1,1); + exit(-1); + }*/ } } From 81829065648ccbaf54291eb33f624eab6b6c9c51 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Tue, 15 Aug 2017 10:05:54 +0200 Subject: [PATCH 026/109] Adding Schedule UE Spec BR Method --- enb_dev.config | 2 - enb_dev.creator | 1 - enb_dev.files | 7877 --------------------- enb_dev.includes | 143 - oai5g_development.config | 2 - oai5g_development.creator | 1 - oai5g_development.files | 3763 ---------- oai5g_development.includes | 182 - openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 86 +- 9 files changed, 47 insertions(+), 12010 deletions(-) delete mode 100755 enb_dev.config delete mode 100755 enb_dev.creator delete mode 100755 enb_dev.files delete mode 100755 enb_dev.includes delete mode 100755 oai5g_development.config delete mode 100755 oai5g_development.creator delete mode 100755 oai5g_development.files delete mode 100755 oai5g_development.includes diff --git a/enb_dev.config b/enb_dev.config deleted file mode 100755 index e0284f4257..0000000000 --- a/enb_dev.config +++ /dev/null @@ -1,2 +0,0 @@ -// Add predefined macros for your project here. For example: -// #define THE_ANSWER 42 diff --git a/enb_dev.creator b/enb_dev.creator deleted file mode 100755 index e94cbbd302..0000000000 --- a/enb_dev.creator +++ /dev/null @@ -1 +0,0 @@ -[General] diff --git a/enb_dev.files b/enb_dev.files deleted file mode 100755 index b176552d68..0000000000 --- a/enb_dev.files +++ /dev/null @@ -1,7877 +0,0 @@ -cmake_targets/at_commands/CMakeLists.txt -cmake_targets/autotests/templates/index.html -cmake_targets/autotests/templates/testcase_report.html -cmake_targets/autotests/tools/autotest_analyser.py -cmake_targets/autotests/tools/configure_cots_bandrich_ue.py -cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py -cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py -cmake_targets/autotests/tools/configure_usrpb210.py -cmake_targets/autotests/tools/find_usb_path.bash -cmake_targets/autotests/tools/free_mem.bash -cmake_targets/autotests/tools/git-retry.sh -cmake_targets/autotests/tools/iperf3_script -cmake_targets/autotests/tools/iperf3_script_phone -cmake_targets/autotests/tools/iperf_script -cmake_targets/autotests/tools/iperf_script_phone -cmake_targets/autotests/tools/lib_autotest.py -cmake_targets/autotests/tools/lib_autotest_analyser.py -cmake_targets/autotests/tools/remove_old_programs.bash -cmake_targets/autotests/tools/run_gdb -cmake_targets/autotests/tools/search_repl.py -cmake_targets/autotests/tools/wdial.bandrich.conf -cmake_targets/autotests/v2/actions/alu_epc.bash -cmake_targets/autotests/v2/actions/alu_epc_stop.bash -cmake_targets/autotests/v2/actions/alu_hss.bash -cmake_targets/autotests/v2/actions/bandrich.txt -cmake_targets/autotests/v2/actions/client_tcp.bash -cmake_targets/autotests/v2/actions/client_udp.bash -cmake_targets/autotests/v2/actions/clone_repository.bash -cmake_targets/autotests/v2/actions/compilation.bash -cmake_targets/autotests/v2/actions/execution.bash -cmake_targets/autotests/v2/actions/execution_compile.bash -cmake_targets/autotests/v2/actions/modem.py -cmake_targets/autotests/v2/actions/run_enb.bash -cmake_targets/autotests/v2/actions/server_tcp.bash -cmake_targets/autotests/v2/actions/server_udp.bash -cmake_targets/autotests/v2/actions/start_3276.bash -cmake_targets/autotests/v2/actions/start_3276.py -cmake_targets/autotests/v2/actions/start_bandrich.bash -cmake_targets/autotests/v2/actions/start_bandrich.py -cmake_targets/autotests/v2/actions/stop_3276.py -cmake_targets/autotests/v2/actions/stop_bandrich.py -cmake_targets/autotests/v2/actions/wvdial.3276.conf -cmake_targets/autotests/v2/actions/wvdial.bandrich.conf -cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf -cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf -cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf -cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf -cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf -cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf -cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf -cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf -cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf -cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf -cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf -cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf -cmake_targets/autotests/v2/alu_test.py -cmake_targets/autotests/v2/connection.py -cmake_targets/autotests/v2/machine_list.py -cmake_targets/autotests/v2/main.py -cmake_targets/autotests/v2/task.py -cmake_targets/autotests/v2/utils.py -cmake_targets/autotests/core.py -cmake_targets/autotests/log.py -cmake_targets/autotests/openair.py -cmake_targets/autotests/README.txt -cmake_targets/autotests/run_compilation_autotests.bash -cmake_targets/autotests/run_exec_autotests.bash -cmake_targets/autotests/run_exec_lte-softmodem_tests.py -cmake_targets/autotests/test_case_list.xml -cmake_targets/autotests/testsuite_ue_noS1.xml -cmake_targets/autotests/testsuite_ue_noS1_TCL.xml -cmake_targets/doxygen/CMakeLists.txt -cmake_targets/epc_test/CMakeLists.template -cmake_targets/log/lte-softmodem.Rel14.txt -cmake_targets/lte-simulators/CMakeLists.txt -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin -cmake_targets/lte_build_oai/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/CN_UTILS.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm4.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/dlsim_tm7.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/generate_T.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/GTPV1U.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/HASHTABLE.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/ITTI.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/L2.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/LFDS7.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/LIB_NAS_UE.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem-nos1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/lte-softmodem.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/mbmssim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/nasmesh.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_bladerfdevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_eth_transpro.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_exmimodevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_lmssdrdevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_nw_drv.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oai_usrpdevif.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/oaisim_nos1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/oarf.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/OPENAIR0_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pbchsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pdcchsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/PHY.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/prachsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/1 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/10 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/11 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/15 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/16 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/17 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/18 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/19 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/2 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/20 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/21 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/22 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/23 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/24 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/25 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/26 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/27 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/28 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/29 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/3 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/30 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/31 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/32 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/33 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/34 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/35 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/36 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/37 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/38 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/39 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/4 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/40 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/41 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/42 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/43 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/44 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/45 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/46 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/47 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/48 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/49 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/5 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/50 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/51 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/52 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/53 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/54 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/55 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/56 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/57 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/58 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/59 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/6 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/60 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/61 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/62 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/63 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/64 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/65 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/66 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/67 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/68 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/69 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/7 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/70 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/71 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/72 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/73 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/74 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/75 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/76 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/77 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/78 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/79 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/8 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/80 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/81 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/82 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/83 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/9 -cmake_targets/lte_build_oai/build/CMakeFiles/Progress/count.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/pucchsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ANY.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn1_constants.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_application.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_codecs_prim.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_internal.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/asn_system.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_length.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/ber_tlv_tag.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BIT_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/BOOLEAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_CHOICE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constr_TYPE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/constraints.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/converter-sample.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/der_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/INTEGER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeEnumerated.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NativeInteger.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/NULL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OBJECT_IDENTIFIER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/OCTET_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_opentype.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/per_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/PrintableString.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AllocationAndRetentionPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-AreaScopeOfMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Bearers-SubjectToStatusTransfer-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BitRate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCancelledAreaList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-BroadcastCompletedAreaList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinEAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CancelledCellinTAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cause.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseMisc.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseNas.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseProtocol.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseRadioNetwork.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CauseTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HORequiredIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000HOStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMEID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXPilot.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXRAND.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000OneXSRVCCInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000RATType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cdma2000SectorID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Cell-Size.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellAccessMode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellBasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Broadcast.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellID-Cancelled.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdentity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellIdListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellTrafficTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CellType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CGI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CNDomain.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinEAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CompletedCellinTAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ConcurrentWarningMessageIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Correlation-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-COUNTvalue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Criticality.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics-IE-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CriticalityDiagnostics.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSFallbackIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-Id.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSG-IdList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-CSGMembershipStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Data-Forwarding-Not-Possible.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DataCodingScheme.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DeactivateTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Direct-Forwarding-Path-Availability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DL-Forwarding.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNASTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkNonUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkS1cdma2000tunneling.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-DownlinkUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RAB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABAdmittedList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABDataForwardingList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupItemHOReqAck.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABFailedToSetupListHOReqAck.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABInformationListItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABLevelQoSParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyItemBearerModRes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyListBearerModRes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABModifyResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseItemBearerRelComp.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseListBearerRelComp.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABReleaseResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemBearerSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupItemCtxtSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListBearerSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupListCtxtSURes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABSetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedItemBearerModReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeModifiedListBearerModReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemBearerSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemCtxtSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupItemHOReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListBearerSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListCtxtSUReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSetupListHOReq.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedDLList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-RABToBeSwitchedULList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-E-UTRAN-Trace-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ECGIList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Broadcast.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID-Cancelled.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EmergencyAreaIDList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-StatusTransfer-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENB-UE-S1AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBConfigurationUpdateFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBDirectInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBname.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBStatusTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLA.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2ExtTLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2GTPTLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ENBX2TLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EncryptionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ErrorIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRAN-CGI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EUTRANRoundTripDelayEstimationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-EventType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRepetitionPeriod.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ExtendedRNC-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenInterRATs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ForbiddenTAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GBR-QosInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GERAN-Cell-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Global-ENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GTP-TEID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GUMMEIList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-GWContextReleaseIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCancelAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverNotify.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverPreparationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequestAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRequired.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverRestrictionList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HandoverType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-HFN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE-Extensions.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ImmediateMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialContextSetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitialUEMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InitiatingMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-IntegrityProtectionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Inter-SystemInformationTransferType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-InterfacesToTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-KillResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-L3-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedCell-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedEUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedGERANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LastVisitedUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingControl.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LocationReportingFailureIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingDuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LoggingInterval.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-LPPa-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-M-TMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ManagementBasedMDTAllowed.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Activation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDT-Configuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MDTMode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementsToActivate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MeasurementThresholdA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MessageIdentifier.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Code.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-Group-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MME-UE-S1AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEConfigurationUpdateFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEDirectInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEname.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMERelaySupportIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MMEStatusTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-MSClassmark3.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NAS-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASNonDeliveryIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParametersfromE-UTRAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NASSecurityParameterstoE-UTRAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberofBroadcastRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-NumberOfBroadcasts.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OldBSS-ToNewBSS-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadAction.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStart.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-OverloadStop.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Paging.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingDRX.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PagingPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PathSwitchRequestFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PDCP-SN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1AP-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PeriodicReportingMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PLMNidentity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionCapability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Pre-emptionVulnerability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Presence.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PriorityLevel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivacyIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PrivateMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProcedureCode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolExtensionID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ProtocolIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-PS-ServiceNotAvailable.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-QCI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReceiveStatusofULPDCPSDUs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelativeMMECapacity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RelayNode-Indicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RepetitionPeriod.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportAmountMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportArea.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportingTriggerMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ReportIntervalMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RequestType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Reset.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetAll.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ResetType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMRoutingAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RIMTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RNC-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Routing-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-RRC-Establishment-Cause.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S-TMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-S1SetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityContext.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SecurityKey.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SerialNumber.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGroupIDs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedGUMMEIsItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedMMECs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ServedPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONConfigurationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationReply.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SONInformationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Source-ToTarget-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCHOIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SRVCCOperationPossible.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-StratumLevel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SubscriberProfileIDforRFP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SupportedTAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-SynchronizationStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TABasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Broadcast.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI-Cancelled.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAIListforWarning.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TAListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Target-ToSource-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TBCD-STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Threshold-RSRQ.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-ThresholdEventA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-Time-UE-StayedInCell.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeSynchronizationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TimeToWait.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceActivation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceDepth.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceFailureIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TraceStart.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TrafficLoadReductionIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TransportLayerAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TriggeringMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-TypeOfError.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListRes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-associatedLogicalS1-ConnectionListResAck.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-HistoryInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-ID-pair.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UE-S1AP-IDs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEAggregateMaximumBitrate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UECapabilityInfoIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextModificationResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEContextReleaseRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEIdentityIndexValue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UEPagingID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UERadioCapability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UESecurityCapabilities.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UnsuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNASTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkNonUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkS1cdma2000tunneling.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-UplinkUEAssociatedLPPaTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningAreaList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningMessageContents.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningSecurityInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WarningType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-WriteReplaceWarningResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/S1ap-X2TNLConfigurationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_compare.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_ies_defs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/s1ap_xer_print.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5/xer_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ANY.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn1_constants.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_application.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_codecs_prim.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_internal.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/asn_system.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_length.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ber_tlv_tag.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BIT_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/BOOLEAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_CHOICE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constr_TYPE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/constraints.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/converter-sample.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/der_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/INTEGER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeEnumerated.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NativeInteger.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/NULL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OBJECT_IDENTIFIER.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/OCTET_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_opentype.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/per_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/PrivateIE-Field.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolExtensionField.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPair.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-ContainerPairList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Field.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-FieldPair.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/ProtocolIE-Single-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABS-Status.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationFDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ABSInformationTDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ActivatedCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AllocationAndRetentionPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AreaScopeOfMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-AS-SecurityInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BandInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BitRate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-BroadcastPLMNs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CapacityValue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cause.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseMisc.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseProtocol.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseRadioNetwork.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CauseTransport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Cell-Size.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellActivationResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellBasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellCapacityClassValue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellIdListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellInformation-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellMeasurementResult-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellToReport-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CellType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompleteFailureCauseInformation-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CompositeAvailableCapacityGroup.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-COUNTvalue.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Criticality.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics-IE-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CriticalityDiagnostics.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CRNTI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSG-Id.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CSGMembershipStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixDL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-CyclicPrefixUL.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DeactivationIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-ABS-status.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Forwarding.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-non-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-DL-Total-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-Level-QoS-Parameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RAB-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-Admitted-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-SubjectToStatusTransfer-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-E-RABs-ToBeSetup-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EARFCN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ECGI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ENBConfigurationUpdateFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EncryptionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EPLMNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ErrorIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRA-Mode-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANCellIdentifier.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EUTRANTraceID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-EventType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FDD-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenInterRATs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenLAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTACs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ForbiddenTAs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Fourframes.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-FreqBandIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GBR-QosInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GlobalENB-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTP-TEI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GTPtunnelEndpoint.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GU-Group-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUGroupIDList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-GUMMEI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverCancel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverPreparationFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverReportType.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRequestAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HandoverRestrictionList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HFN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-HWLoadIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE-Extensions.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IE.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InitiatingMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-IntegrityProtectionAlgorithms.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InterfacesToTrace.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-InvokeIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Key-eNodeB-Star.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedCell-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedEUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedGERANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LastVisitedUTRANCellInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LoadInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-LocationReportingInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ManagementBasedMDTallowed.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBMS-Service-Area-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MBSFN-Subframe-Infolist.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Activation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MDT-Configuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Measurement-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementFailureCause-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementInitiationResult-List.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementsToActivate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MeasurementThresholdA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Code.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MME-Group-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeAcknowledge.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityChangeRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MobilityParametersModificationRange.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-MultibandInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information-Elm.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Neighbour-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-NextHopChainingCount.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Number-of-Antennaports.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Old-ECGIs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Oneframe.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PartialSuccessIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PCI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PDCP-SN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2AP-PDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PeriodicReportingMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PLMN-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PRACH-Configuration.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionCapability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Pre-emptionVulnerability.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Presence.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PriorityLevel.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-PrivateMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProcedureCode.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ProtocolIE-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-QCI.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationOffset.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioframeAllocationPeriod.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RadioResourceStatus.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReceiveStatusofULPDCPSDUs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Registration-Request.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RelativeNarrowbandTxPower.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportAmountMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportArea.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportCharacteristics.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingPeriodicity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportingTriggerMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ReportIntervalMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResetResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ResourceStatusUpdate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RLFIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RNTP-Threshold.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRC-Context.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnReestabIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-RRCConnSetupIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-S1TNLLoadIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCell-Information.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellItem.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCells.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToActivate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ServedCellsToModify.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ShortMAC-I.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SNStatusTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframe-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SpecialSubframePatterns.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SRVCCOperationPossible.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAllocation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubframeAssignment.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SubscriberProfileIDforRFP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-SuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TABasedMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAC.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TAListforMDT.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargetCellInUTRAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TargeteNBtoSource-eNBTransparentContainer.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TDD-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRP.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Threshold-RSRQ.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-ThresholdEventA2.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell-EnhancedGranularity.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Time-UE-StayedInCell.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TimeToWait.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceActivation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceCollectionEntityIPAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TraceDepth.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-Transmission-Bandwidth.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TransportLayerAddress.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TriggeringMessage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-TypeOfError.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-ContextInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-HistoryInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-RLF-Report-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-S1AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UE-X2AP-ID.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEAggregateMaximumBitRate.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UEContextRelease.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UESecurityCapabilities.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-HighInterferenceIndicationInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication-Item.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-InterferenceOverloadIndication.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-non-GBR-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UL-Total-PRB-usage.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UnsuccessfulOutcome.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationFDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2ap-UsableABSInformationTDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_ies_defs.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/x2ap_xer_print.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/X2SetupResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2/xer_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/rb_tool.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AB-ConfigPLMN-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AbsoluteTimeInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringConfig1XRTT-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AC-BarringPerPLMN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AccessStratumRelease.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringForCommon-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-List-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACDC-BarringPerPLMN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ACK-NACK-NumRepetitions-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalReestabInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSI-Info-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AdditionalSpectrumEmission.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreq-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqComb-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqCombList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AffectedCarrierFreqList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AllowedMeasBandwidth.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Alpha-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AltTTT-CellsToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AntennaInfoUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AreaConfiguration-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ARFCN-ValueUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v14x0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/AS-Context.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn1_constants.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_application.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_codecs_prim.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_internal.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/asn_system.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandclassCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassInfoCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriority1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityList1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandClassPriorityListHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationListEUTRA-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandCombinationParametersExt-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandIndicatorGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandInfoEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersDL-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BandParametersUL-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-Category-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BarringPerACDC-CategoryList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-BCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-BR.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BCCH-DL-SCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_length.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ber_tlv_tag.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BIT_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BlackCellsToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Range-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BLER-Result-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/BOOLEAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/C-RNTI.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-BandwidthClass-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersDL-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CA-MIMO-ParametersUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CandidateCellInfoList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierBandwidthEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreq-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-FDD-v8h0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqInfoUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListMBMS-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD-Ext-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-Ext-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqListUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqsInfoListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD-Ext-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CarrierFreqUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CDMA2000-Type.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CE-Parameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Cell-ToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellChangeOrder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellGlobalIdUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIdentity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndex.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellIndexList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoGERAN-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListGERAN-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-FDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoListUTRA-TDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-FDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellInfoUTRA-TDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionParametersCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionPriority.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionServingFreqInfo-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellReselectionSubPriority-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfo-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoCE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellSelectionInfoNFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModListUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsToAddModUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CellsTriggeredList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ChannelRasterOffset-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-EPS-OptimisationInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CIOT-OptimisationPLMN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CipheringAlgorithm-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CommonSF-AllocPatternList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/compare.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ConnEstFailReport-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_CHOICE.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SEQUENCE_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_SET_OF.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constr_TYPE.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/constraints.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/converter-sample.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheck.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CounterCheckResponse.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingRequestList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CountingResponseList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodic-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportAperiodicProc-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBoth-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportBothProc-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportConfigSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportModeAperiodic.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodic.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExt-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CQI-ReportPeriodicProcExtToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ConfigIndex-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRI-ReportConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CrossCarrierSchedulingConfigLAA-UL-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CRS-AssistanceInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFB-RegistrationParam1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersRequestCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSFBParametersResponseCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-AllowedReportingCells-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSG-ProximityIndicationParameters-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigId-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-IM-ConfigToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-Process-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-ProcessToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigBeamformed-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigEMIMO-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNonPrecoded-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-EMIMO-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZP-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPId-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigNZPToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZP-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-ConfigZPToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RS-TriggeredList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/CSI-RSRP-Range-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-Result-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DataBLER-MCH-ResultList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DC-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DedicatedInfoNAS.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaFList-PUCCH.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DeltaTxD-OffsetListPUCCH-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/der_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-AM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-Bitmap-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CarrierConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-CCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-DCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-GapConfig-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DL-UM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DLInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DMRS-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-Info.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-CountMSB-InfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-InfoSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToAddModSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRB-ToReleaseList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/DRX-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/E-CSFB-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EAB-ConfigPLMN-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EIMTA-MainConfigServCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EPDCCH-SetConfigToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/EstablishmentCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ExplicitListOfARFCNs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FailureReportSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FilterCoefficient.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format4-resource-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Format5-resource-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-UTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicator.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqBandIndicatorListEUTRA-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqHoppingParameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListExtEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityListUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqPriorityUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/FreqsPriorityListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Guardband-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Handover.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverFromEUTRAPreparationRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v14x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation-v9j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HandoverPreparationInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/HighSpeedConfigSCell-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Hysteresis.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePattern-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IDC-SubframePatternList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IdleModeMobilityControlInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IKE-Identity-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI-Digit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-DifferentPCI-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Inband-SamePCI-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v11d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InDeviceCoexIndication-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InitialUE-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/INTEGER.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBandList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqBlackCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v8h0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1280.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqCarrierFreqListExt-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqNeighCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterFreqRSTDMeasurementIndication-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/InterRAT-BandList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraBandContiguousCC-Info-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqBlackCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IntraFreqNeighCellList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IP-Address-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-HRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersCDMA2000-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD128.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD384.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-TDD768.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9c0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersUTRA-v9h0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/IRAT-ParametersWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Key-eNodeB-Star.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LAA-SCellConfiguration-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LBT-Config-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LocationInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1080-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggedMeasurementConfiguration-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingDuration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LoggingInterval-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChannelConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogicalChGroupInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasInfoList2-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LogMeasReport-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Configuration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWA-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Configuration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/LWIP-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSCell-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-MainConfigSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MAC-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock-SL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MasterInformationBlock.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-NotificationConfig-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-Parameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreq-v1140.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-InterFreqList-v1140.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-List-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SAI-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-ServiceList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfo-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMS-SessionInfoList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingRequest-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSCountingResponse-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSInterestIndication-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBMSSessionInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaId-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfo-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-AreaInfoList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-RSRQ-Range-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFN-SubframeConfigList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MBSFNAreaConfiguration-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC-MNC-Digit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-Id-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCSI-RS-ToRemoveList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasCycleSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasDS-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasGapConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToAddModListExt-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasIdToRemoveListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectToRemoveListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasObjectWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v11a0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2CDMA2000-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2EUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResult2UTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultCSI-RS-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForECID-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultForRSSI-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2CDMA2000-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2EUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2GERAN-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultList2UTRA-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListMBSFN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListRSSI-SCG-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultListWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultMBSFN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultRSSI-SCG-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResults.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultsCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-Ext-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServCellSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultServFreqListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultSSTD-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasResultWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasRSSI-ReportConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasScaleFactor-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframeCellList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePattern-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternConfigNeigh-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasSubframePatternPCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MeasurementReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilities-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-BeamformedCapabilityList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBC-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CA-ParametersPerBoBCPerTM-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityDL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-CapabilityUL-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-NonPrecodedCapabilities-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-BeamformedCapabilities-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MIMO-UE-ParametersPerTM-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MMEC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MNC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityControlInfoV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v8d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand-v960-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityFromEUTRACommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityHistoryReport-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityParametersCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MobilityStateParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/MultiBandInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-CS-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-InfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/N1PUCCH-AN-PersistentList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-AssistanceInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-Entry-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NAICS-Capability-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeEnumerated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NativeInteger.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsCRS-Info-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellSI-AcquisitionParameters-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsPerBandclassListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NeighCellsToReleaseList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NextHopChainingCount.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-List-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NonContiguousUL-RA-WithinCC-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDCCH-ConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPDSCH-ConfigCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ConfigSIB-NB-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-Parameters-NB-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPRACH-ParametersList-NB-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NPUSCH-ConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NS-PmaxValue-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NULL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NumberOfPreamblesSent-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/NZP-ResourceConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ObtainLocationConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OCTET_STRING.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OTDOA-PositioningCapabilities-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Other-Parameters-v11d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/OtherConfig-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-a.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-Pair-r13a.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-C-AndCBSR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P-Max.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/P0-SL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Paging.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecord.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingRecordList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PagingUE-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ParametersCDMA2000-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PCI-ARFCN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductions-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionsLAA-UL-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-CandidateReductionValue-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigLAA-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCCH-ConfigSCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDCP-Parameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1280.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-Config-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PDSCH-RE-MappingQCL-ConfigId-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_opentype.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/per_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PeriodicBSR-Timer-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PHICH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1170.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1280.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v1330.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters-v9d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhyLayerParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000-v920.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdListCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRange.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDD-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdRangeUTRA-FDDList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysCellIdUTRA-TDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PhysicalConfigDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityInfo2-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList2.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList3-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PLMN-IdentityList4-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Config-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-Info-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoList-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PMCH-InfoListExt-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollByte.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PollPDU.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerCoordinationInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerPrefIndicationConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PowerRampingParameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ConfigSIB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersCE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PRACH-ParametersListCE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreambleTransMax.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationInfoHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PreRegistrationZoneIdHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PresenceAntennaPort1.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ProximityIndication-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PSCellToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUCCH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/PUSCH-ConfigDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRange.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-OffsetRangeInterRAT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-QualMin-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Q-RxLevMin.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/QuantityConfigWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-CE-LevelInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigCommonSCell-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-Info-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RACH-InfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonPSCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigCommonSIB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedPSCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RadioResourceConfigDedicatedSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAND-CDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RAT-Type.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RCLWI-Configuration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RE-MappingQCLConfigToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedirectedCarrierInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionFactor-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionInterFreqInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionNeighCellList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RedistributionServingInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestablishmentInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReestabUE-Identity.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RegisteredMME.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReleaseCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigId.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigInterRAT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportConfigToRemoveList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportInterval.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportProximityConfig-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReportQuantityWLAN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionInfoRelay-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThreshold.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ReselectionThresholdQ-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResourceConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeCause.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ResumeIdentity-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RetxBSR-Timer-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1060.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10f0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v10j0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1180.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v11d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v12b0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RF-Parameters.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLC-Parameters-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-Report-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstants-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RLF-TimersAndConstantsSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RMTC-Config-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SubframeConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RN-SystemInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfiguration-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RNReconfigurationComplete-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRC-TransactionIdentifier.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v10i0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v14x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v8m0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfiguration.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReconfigurationComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishment.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentReject.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReestablishmentRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionReject.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRelease.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResume-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeComplete-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionResumeRequest-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetup.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v1330-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRCConnectionSetupComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RRM-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RS-SINR-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-Range.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL2-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL3-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-RangeSL4-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsNPRACH-InfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRP-ThresholdsPrachInfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Range.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-RangeConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSRQ-Type-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSSI-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfo-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/RSTD-InterFreqInfoList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/S-TMSI.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SBCCH-SL-BCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-Message-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MCCH-MessageType-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-Info-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-InfoList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SC-MTCH-SchedulingInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellIndex-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddMod-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModExt-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListExt-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-Ext-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToAddModListSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCellToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Config-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigInfo-v1330-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigPartSCG-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-ConfigRestrictInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCG-Configuration-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCGFailureInformation-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingInfoList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SchedulingRequestConfigSCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-NeighbourCellList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTM-Parameters-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SCPTMConfiguration-v1340.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecondaryPreRegistrationZoneIdListHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityAlgorithmConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigHO.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityConfigSMC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeCommand.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeComplete.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SecurityModeFailure.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ServCellIndex-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ShortMAC-I.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SI-OrPSI-GERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-MappingInfo.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB-Type.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-List-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SIB8-PerPLMN-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SidelinkUEInformation-v14x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfo-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CarrierFreqInfoList-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePool-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommResourcePoolV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommRxPoolListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolSensingConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxPoolToAddModListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CommTxResourceReq-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-CP-Len-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationIdentity-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DestinationInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigOtherInterFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRelayUE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscConfigRemoteUE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscResourcePool-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscRxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReport-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoReportFreqList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscSysInfoToReportFreqList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxConfigScheduled-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxInfoInterFreqListAdd-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddMod-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPoolToAddModList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxPowerInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxRefCarrierDedicated-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResource-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceInfoPerFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourceReqPerFreqList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-DiscTxResourcesInterFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapFreqInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPattern-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapPatternList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-GapRequest-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigComm-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-HoppingConfigDisc-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-InterFreqInfoV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicator-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-OffsetIndicatorSync-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PeriodComm-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PoolSelectionConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPool-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommPoolList4-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommRxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigCommTxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscPool-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscRxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigDiscTxPoolList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigGeneral-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigRelay-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigSync-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Preconfiguration-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-RxPoolList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PreconfigV2X-TxPoolList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-Priority-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PriorityList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxConfigList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-PSSCH-TxParameters-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ResourcesInterFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriod-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-RestrictResourceReservationPeriodList-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListNFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncConfigNFreq-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-SyncTxControl-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPair-r12b.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-IndexPairList-r12b.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TF-ResourceConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-List-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ThresPSSCH-RSRP-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TRPT-Subset-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxParameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolIdentity-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToAddModListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-TxPoolToReleaseListV2X-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigCommon-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-ConfigDedicated-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigCommPool-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-PreconfigFreqInfo-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-Preconfiguration-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-V2X-TxPoolIdentity-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SL-ZoneConfig-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SLSSID-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SN-FieldLength.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SON-Parameters-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodic-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroup-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SoundingRSAperiodicGroupUpPTsExt-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SpeedStateScaleFactors.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigDL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SPS-ConfigUL.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddMod.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRB-ToAddModList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-AntennaPort.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-ConfigAp-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SRS-TPC-PDCCH-Config-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SrsCcGroupIndex.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-Id-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddMod-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToAddModList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/STAG-ToReleaseList-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/Standalone-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SubframeBitmapSL-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBand-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1090.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v10i0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombination-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v11d0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1270.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationAdd-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationExt-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandCombinationReduced-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandList1XRTT.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA-v9e0.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListHRPD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD128.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD384.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandListUTRA-TDD768.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-FDD.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD128.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD384.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandUTRA-TDD768.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SupportedBandwidthCombinationSet-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoListGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-BR-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v14xy-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v890-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType1.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType12-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType13-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType14-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType15-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType16-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType17-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType18-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType19-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType2.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType20-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType21-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType3.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType4.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType5.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6-v8h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType6.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType7.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType8.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInformationBlockType9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemInfoValueTagSI-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/SystemTimeInfoCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-PollRetransmit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reordering.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-Reselection.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-ReselectionEUTRA-CE-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/T-StatusProhibit.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-Area-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TargetMBSFN-AreaList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDD-ConfigSL-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TDM-AssistanceInfo-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdCDMA2000.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdEUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdGERAN.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ThresholdUTRA.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeAlignmentTimer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeSinceFailure-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TimeToTrigger.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TMGI-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-Index.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-Config.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TPC-PDCCH-ConfigSCell-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TraceReference-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCode.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TrackingAreaCodeList-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/TunnelConfigLWIP-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-Restricting-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-List-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UDT-RestrictingPerPLMN-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-BasedNetwPerfMeasParameters-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-Capability-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-Container.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRAT-ContainerList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-CapabilityRequest.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1060-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1090-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10c0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10f0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10i0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v10j0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1170-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1180-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v11x0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1260-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1270-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1280-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v12b0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1320-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1330-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v1340-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v14xy-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v920-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v940-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9c0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9d0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability-v9h0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-Capability.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1060.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1180.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-EUTRA-CapabilityAddXDD-Mode-v1320.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-RadioPagingInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UE-TimersAndConstants.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEAssistanceInformation-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1180-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityEnquiry.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UECapabilityInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationRequest-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-r9.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1020-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1130-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v1250-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v930-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEInformationResponse-v9e0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UEPagingCoverageInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioAccessCapabilityInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-r12-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation-v1310-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UERadioPagingInformation.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-AM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CarrierConfigDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-CyclicPrefixLength.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-Message.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DCCH-MessageType.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-DelayConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResult-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-PDCP-DelayResultList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsNPUSCH-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-ReferenceSignalsPUSCH.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UL-UM-RLC.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULHandoverPreparationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-NB.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-r8-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer-v8a0-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ULInformationTransfer.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommon.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPSCell-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonPUSCH-LessCell-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlCommonSCell-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1020.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1130.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated-v1250.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicated.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPowerControlDedicatedSCell-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/UplinkPUSCH-LessPowerControlDedicated-v14xy.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/V2X-CommTxResourceReq-r14.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarConnEstFailReport-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarLogMeasReport-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReport.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMeasReportList.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarMobilityHistoryReport-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r10.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarRLF-Report-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortMAC-Input.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-NB-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarShortResumeMAC-Input-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-MobilityConfig.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VarWLAN-Status-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VictimSystemType-r11.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfo-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/VisitedCellInfoList-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddMod-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WhiteCellsToAddModList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-backhaulRate-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-BandIndicator-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-CarrierInfo-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Channel-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-ChannelList-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Id-List-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Identifiers-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-IW-Parameters-v1310.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-MobilityConfig-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadConfig-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-OffloadInfoPerPLMN-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-RSSI-Range-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLAN-Status-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13-IEs.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/WLANConnectionStatusReport-r13.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_decoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_encoder.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/xer_support.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-Conf-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.c -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14/ZeroTxPowerCSI-RS-r12.h -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/RRC_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/rrh_gw.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_ENB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/S1AP_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/scansim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SCHED_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SCTP_CLIENT.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_CN.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SECU_OSA.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/SIMU_ETH.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/syncsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_cmac_encrypt.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_decrypt.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_aes128_ctr_encrypt.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_generate_scenario.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_epc_play_scenario.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_kdf.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_s1ap.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_kenb.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eea2.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia1.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/test_secu_knas_encrypt_eia2.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/UDP.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip/Kbuild -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ue_ip.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/ulsim.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/updatefw.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/C.includecache -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.internal -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/UTIL.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/build.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/cmake_clean_target.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/depend.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/DependInfo.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/flags.make -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/link.txt -cmake_targets/lte_build_oai/build/CMakeFiles/X2AP_LIB.dir/progress.make -cmake_targets/lte_build_oai/build/CMakeFiles/cmake.check_cache -cmake_targets/lte_build_oai/build/CMakeFiles/CMakeDirectoryInformation.cmake -cmake_targets/lte_build_oai/build/CMakeFiles/CMakeOutput.log -cmake_targets/lte_build_oai/build/CMakeFiles/CMakeRuleHashes.txt -cmake_targets/lte_build_oai/build/CMakeFiles/progress.marks -cmake_targets/lte_build_oai/build/CMakeFiles/TargetDirectories.txt -cmake_targets/lte_build_oai/build/cmake_install.cmake -cmake_targets/lte_build_oai/build/CMakeCache.txt -cmake_targets/lte_build_oai/build/libGTPV1U.a -cmake_targets/lte_build_oai/build/libHASHTABLE.a -cmake_targets/lte_build_oai/build/libITTI.a -cmake_targets/lte_build_oai/build/libLFDS.a -cmake_targets/lte_build_oai/build/libLFDS7.a -cmake_targets/lte_build_oai/build/libPHY.a -cmake_targets/lte_build_oai/build/libRRC_LIB.a -cmake_targets/lte_build_oai/build/libS1AP_ENB.a -cmake_targets/lte_build_oai/build/libS1AP_LIB.a -cmake_targets/lte_build_oai/build/libSCHED_LIB.a -cmake_targets/lte_build_oai/build/libSCTP_CLIENT.a -cmake_targets/lte_build_oai/build/libSECU_CN.a -cmake_targets/lte_build_oai/build/libSECU_OSA.a -cmake_targets/lte_build_oai/build/libUDP.a -cmake_targets/lte_build_oai/build/libUTIL.a -cmake_targets/lte_build_oai/CMakeLists.txt -cmake_targets/lte_noS1_build_oai/CMakeLists.template -cmake_targets/nas_sim_tools/CMakeLists.txt -cmake_targets/oaisim_build_oai/CMakeLists.template -cmake_targets/oaisim_mme_build_oai/CMakeLists.template -cmake_targets/oaisim_noS1_build_oai/CMakeLists.template -cmake_targets/s1c_mme_test/CMakeLists.template -cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff -cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff -cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff -cmake_targets/tools/MODULES/cmake_useful.cmake -cmake_targets/tools/MODULES/CMakeParseArguments.cmake -cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake -cmake_targets/tools/MODULES/CMakeUserUseBison.cmake -cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake -cmake_targets/tools/MODULES/FindFreeDiameter.cmake -cmake_targets/tools/MODULES/FindGCCXML.cmake -cmake_targets/tools/MODULES/FindGcrypt.cmake -cmake_targets/tools/MODULES/FindGnuTLS.cmake -cmake_targets/tools/MODULES/FindKbuild.cmake -cmake_targets/tools/MODULES/FindLibXml2.cmake -cmake_targets/tools/MODULES/FindMySQL.cmake -cmake_targets/tools/MODULES/FindNettle.cmake -cmake_targets/tools/MODULES/FindPostgreSQL.cmake -cmake_targets/tools/MODULES/FindSCTP.cmake -cmake_targets/tools/MODULES/Kbuild.cmake -cmake_targets/tools/MODULES/kbuild_system.cmake -cmake_targets/tools/MODULES/kmodule.cmake -cmake_targets/tools/MODULES/path_prefixes.cmake -cmake_targets/tools/asn1tostruct.py -cmake_targets/tools/build_helper -cmake_targets/tools/build_test_epc_tools -cmake_targets/tools/example_enb_exmimo_mme_hss.txt -cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt -cmake_targets/tools/exmimo2_2arxg.lime -cmake_targets/tools/exmimo2_2brxg.lime -cmake_targets/tools/exmimo_stop_octave.m -cmake_targets/tools/fix_asn1 -cmake_targets/tools/generate_asn1 -cmake_targets/tools/generate_protobuf -cmake_targets/tools/indent_source_code -cmake_targets/tools/init_exmimo2 -cmake_targets/tools/init_nas_nos1 -cmake_targets/tools/init_nas_s1 -cmake_targets/tools/Kbuild.cmake -cmake_targets/tools/make_agent_cache -cmake_targets/tools/mem_usage -cmake_targets/tools/perf_oai.bash -cmake_targets/tools/run_enb_s1_exmimo -cmake_targets/tools/run_enb_s1_usrp -cmake_targets/tools/run_enb_ue_virt_noS1 -cmake_targets/tools/run_enb_ue_virt_s1 -cmake_targets/tools/run_ue_s1 -cmake_targets/tools/start_bladerf.py -cmake_targets/tools/stop_exmimo2 -cmake_targets/tools/test_helper -cmake_targets/build_oai -cmake_targets/build_ue -cmake_targets/CMakeLists.txt -cmake_targets/snap_environment.sh -common/utils/collection/queue.h -common/utils/collection/tree.h -common/utils/hashtable/hashtable.c -common/utils/hashtable/hashtable.h -common/utils/hashtable/obj_hashtable.c -common/utils/hashtable/obj_hashtable.h -common/utils/itti/assertions.h -common/utils/itti/backtrace.c -common/utils/itti/backtrace.h -common/utils/itti/intertask_interface.c -common/utils/itti/intertask_interface.h -common/utils/itti/intertask_interface_dump.c -common/utils/itti/intertask_interface_dump.h -common/utils/itti/intertask_interface_init.h -common/utils/itti/intertask_interface_types.h -common/utils/itti/intertask_messages_def.h -common/utils/itti/intertask_messages_types.h -common/utils/itti/itti_types.h -common/utils/itti/memory_pools.c -common/utils/itti/memory_pools.h -common/utils/itti/messages_def.h -common/utils/itti/messages_types.h -common/utils/itti/signals.c -common/utils/itti/signals.h -common/utils/itti/tasks_def.h -common/utils/itti/timer.c -common/utils/itti/timer.h -common/utils/itti/timer_messages_def.h -common/utils/itti/timer_messages_types.h -common/utils/itti_analyzer/common/itti_types.h -common/utils/itti_analyzer/common/logs.h -common/utils/itti_analyzer/common/queue.h -common/utils/itti_analyzer/common/rc.h -common/utils/itti_analyzer/libbuffers/buffers.c -common/utils/itti_analyzer/libbuffers/buffers.h -common/utils/itti_analyzer/libbuffers/file.c -common/utils/itti_analyzer/libbuffers/file.h -common/utils/itti_analyzer/libbuffers/socket.c -common/utils/itti_analyzer/libbuffers/socket.h -common/utils/itti_analyzer/libparser/array_type.c -common/utils/itti_analyzer/libparser/array_type.h -common/utils/itti_analyzer/libparser/enum_type.c -common/utils/itti_analyzer/libparser/enum_type.h -common/utils/itti_analyzer/libparser/enum_value_type.c -common/utils/itti_analyzer/libparser/enum_value_type.h -common/utils/itti_analyzer/libparser/field_type.c -common/utils/itti_analyzer/libparser/field_type.h -common/utils/itti_analyzer/libparser/file_type.c -common/utils/itti_analyzer/libparser/file_type.h -common/utils/itti_analyzer/libparser/fundamental_type.c -common/utils/itti_analyzer/libparser/fundamental_type.h -common/utils/itti_analyzer/libparser/intertask_contexts.h -common/utils/itti_analyzer/libparser/pointer_type.c -common/utils/itti_analyzer/libparser/pointer_type.h -common/utils/itti_analyzer/libparser/reference_type.c -common/utils/itti_analyzer/libparser/reference_type.h -common/utils/itti_analyzer/libparser/struct_type.c -common/utils/itti_analyzer/libparser/struct_type.h -common/utils/itti_analyzer/libparser/typedef_type.c -common/utils/itti_analyzer/libparser/typedef_type.h -common/utils/itti_analyzer/libparser/types.c -common/utils/itti_analyzer/libparser/types.h -common/utils/itti_analyzer/libparser/union_type.c -common/utils/itti_analyzer/libparser/union_type.h -common/utils/itti_analyzer/libparser/xml_parse.c -common/utils/itti_analyzer/libparser/xml_parse.h -common/utils/itti_analyzer/libresolver/locate_root.c -common/utils/itti_analyzer/libresolver/locate_root.h -common/utils/itti_analyzer/libresolver/resolvers.c -common/utils/itti_analyzer/libresolver/resolvers.h -common/utils/itti_analyzer/libui/ui_callbacks.c -common/utils/itti_analyzer/libui/ui_callbacks.h -common/utils/itti_analyzer/libui/ui_filters.c -common/utils/itti_analyzer/libui/ui_filters.h -common/utils/itti_analyzer/libui/ui_interface.c -common/utils/itti_analyzer/libui/ui_interface.h -common/utils/itti_analyzer/libui/ui_main_screen.c -common/utils/itti_analyzer/libui/ui_main_screen.h -common/utils/itti_analyzer/libui/ui_menu_bar.c -common/utils/itti_analyzer/libui/ui_menu_bar.h -common/utils/itti_analyzer/libui/ui_notebook.c -common/utils/itti_analyzer/libui/ui_notebook.h -common/utils/itti_analyzer/libui/ui_notif_dlg.c -common/utils/itti_analyzer/libui/ui_notif_dlg.h -common/utils/itti_analyzer/libui/ui_notifications.c -common/utils/itti_analyzer/libui/ui_notifications.h -common/utils/itti_analyzer/libui/ui_signal_dissect_view.c -common/utils/itti_analyzer/libui/ui_signal_dissect_view.h -common/utils/itti_analyzer/libui/ui_tree_view.c -common/utils/itti_analyzer/libui/ui_tree_view.h -common/utils/itti_analyzer/AUTHORS -common/utils/itti_analyzer/autogen.sh -common/utils/itti_analyzer/ChangeLog -common/utils/itti_analyzer/configure.ac -common/utils/itti_analyzer/filters.xml -common/utils/itti_analyzer/filters_mme.xml -common/utils/itti_analyzer/filters_ue_enb.xml -common/utils/itti_analyzer/INSTALL -common/utils/itti_analyzer/itti_analyzer.c -common/utils/itti_analyzer/NEWS -common/utils/itti_analyzer/README -common/utils/msc/msc.c -common/utils/msc/msc.h -common/utils/T/tracee/README -common/utils/T/tracee/tracee.c -common/utils/T/tracer/filter/filter.c -common/utils/T/tracer/filter/filter.h -common/utils/T/tracer/gui/container.c -common/utils/T/tracer/gui/event.c -common/utils/T/tracer/gui/gui.c -common/utils/T/tracer/gui/gui.h -common/utils/T/tracer/gui/gui_defs.h -common/utils/T/tracer/gui/image.c -common/utils/T/tracer/gui/init.c -common/utils/T/tracer/gui/label.c -common/utils/T/tracer/gui/loop.c -common/utils/T/tracer/gui/notify.c -common/utils/T/tracer/gui/positioner.c -common/utils/T/tracer/gui/space.c -common/utils/T/tracer/gui/test.c -common/utils/T/tracer/gui/textarea.c -common/utils/T/tracer/gui/textlist.c -common/utils/T/tracer/gui/timeline.c -common/utils/T/tracer/gui/toplevel_window.c -common/utils/T/tracer/gui/widget.c -common/utils/T/tracer/gui/x.c -common/utils/T/tracer/gui/x.h -common/utils/T/tracer/gui/x_defs.h -common/utils/T/tracer/gui/xy_plot.c -common/utils/T/tracer/hacks/dump_nack_signal.c -common/utils/T/tracer/hacks/time_meas.c -common/utils/T/tracer/hacks/timeplot.c -common/utils/T/tracer/logger/framelog.c -common/utils/T/tracer/logger/iqdotlog.c -common/utils/T/tracer/logger/iqlog.c -common/utils/T/tracer/logger/logger.c -common/utils/T/tracer/logger/logger.h -common/utils/T/tracer/logger/logger_defs.h -common/utils/T/tracer/logger/textlog.c -common/utils/T/tracer/logger/throughputlog.c -common/utils/T/tracer/logger/ticked_ttilog.c -common/utils/T/tracer/logger/ticklog.c -common/utils/T/tracer/logger/timelog.c -common/utils/T/tracer/logger/ttilog.c -common/utils/T/tracer/view/scrolltti.c -common/utils/T/tracer/view/stdout.c -common/utils/T/tracer/view/textlist.c -common/utils/T/tracer/view/ticktime.c -common/utils/T/tracer/view/time.c -common/utils/T/tracer/view/tti.c -common/utils/T/tracer/view/view.h -common/utils/T/tracer/view/xy.c -common/utils/T/tracer/config.c -common/utils/T/tracer/config.h -common/utils/T/tracer/database.c -common/utils/T/tracer/database.h -common/utils/T/tracer/defs.h -common/utils/T/tracer/enb.c -common/utils/T/tracer/event.c -common/utils/T/tracer/event.h -common/utils/T/tracer/event_selector.c -common/utils/T/tracer/event_selector.h -common/utils/T/tracer/extract_config.c -common/utils/T/tracer/gui.c -common/utils/T/tracer/handler.c -common/utils/T/tracer/handler.h -common/utils/T/tracer/macpdu2wireshark.c -common/utils/T/tracer/openair_logo.h -common/utils/T/tracer/openair_logo.png -common/utils/T/tracer/packet-mac-lte.h -common/utils/T/tracer/plot.c -common/utils/T/tracer/record.c -common/utils/T/tracer/replay.c -common/utils/T/tracer/textlog.c -common/utils/T/tracer/ue.c -common/utils/T/tracer/utils.c -common/utils/T/tracer/utils.h -common/utils/T/tracer/vcd.c -common/utils/T/defs.h -common/utils/T/generate_Txx.c -common/utils/T/genids.c -common/utils/T/local_tracer.c -common/utils/T/plot.c -common/utils/T/README -common/utils/T/T.c -common/utils/T/T.h -common/utils/T/T_defs.h -common/utils/T/T_messages.txt -common/utils/asn1_conversions.h -common/utils/assertions.h -common/utils/system.c -common/utils/system.h -common/utils/time_utils.h -common/utils/utils.c -common/utils/utils.h -common/ran_context.h -openair1/PHY/CODING/TESTBENCH/ltetest.c -openair1/PHY/CODING/TESTBENCH/pdcch_test.c -openair1/PHY/CODING/TESTBENCH/README.txt -openair1/PHY/CODING/TESTBENCH/viterbi_test.c -openair1/PHY/CODING/3gpplte.c -openair1/PHY/CODING/3gpplte_sse.c -openair1/PHY/CODING/3gpplte_turbo_decoder.c -openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c -openair1/PHY/CODING/ccoding_byte.c -openair1/PHY/CODING/ccoding_byte_lte.c -openair1/PHY/CODING/crc_byte.c -openair1/PHY/CODING/defs.h -openair1/PHY/CODING/extern.h -openair1/PHY/CODING/extern_3GPPinterleaver.h -openair1/PHY/CODING/lte_interleaver.h -openair1/PHY/CODING/lte_interleaver2.h -openair1/PHY/CODING/lte_interleaver_inline.h -openair1/PHY/CODING/lte_rate_matching.c -openair1/PHY/CODING/lte_segmentation.c -openair1/PHY/CODING/lte_tf.m -openair1/PHY/CODING/README.txt -openair1/PHY/CODING/scrambler.h -openair1/PHY/CODING/vars.h -openair1/PHY/CODING/viterbi.c -openair1/PHY/CODING/viterbi_lte.c -openair1/PHY/INIT/defs.h -openair1/PHY/INIT/extern.h -openair1/PHY/INIT/init_top.c -openair1/PHY/INIT/lte_init.c -openair1/PHY/INIT/lte_param_init.c -openair1/PHY/INIT/lte_parms.c -openair1/PHY/INIT/README.txt -openair1/PHY/INIT/vars.h -openair1/PHY/LTE_ESTIMATION/adjust_gain.c -openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m -openair1/PHY/LTE_ESTIMATION/defs.h -openair1/PHY/LTE_ESTIMATION/extern.h -openair1/PHY/LTE_ESTIMATION/filt16_32.h -openair1/PHY/LTE_ESTIMATION/filt96_32.h -openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m -openair1/PHY/LTE_ESTIMATION/freq_equalization.c -openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c -openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c -openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c -openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c -openair1/PHY/LTE_ESTIMATION/lte_sync_time.c -openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c -openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m -openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c -openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/pss6144.h -openair1/PHY/LTE_ESTIMATION/README.txt -openair1/PHY/LTE_ESTIMATION/vars.h -openair1/PHY/LTE_REFSIG/defs.h -openair1/PHY/LTE_REFSIG/gen_mod_table.m -openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c -openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c -openair1/PHY/LTE_REFSIG/lte_dl_uespec.c -openair1/PHY/LTE_REFSIG/lte_gold.c -openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c -openair1/PHY/LTE_REFSIG/lte_ul.m -openair1/PHY/LTE_REFSIG/lte_ul_ref.c -openair1/PHY/LTE_REFSIG/mod_table.h -openair1/PHY/LTE_REFSIG/primary_synch.h -openair1/PHY/LTE_REFSIG/primary_synch.m -openair1/PHY/LTE_REFSIG/README.txt -openair1/PHY/LTE_TRANSPORT/dci.c -openair1/PHY/LTE_TRANSPORT/dci.h -openair1/PHY/LTE_TRANSPORT/dci_tools.c -openair1/PHY/LTE_TRANSPORT/defs.h -openair1/PHY/LTE_TRANSPORT/dlsch_coding.c -openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c -openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c -openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c -openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c -openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c -openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c -openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h -openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h -openair1/PHY/LTE_TRANSPORT/drs_modulation.c -openair1/PHY/LTE_TRANSPORT/extern.h -openair1/PHY/LTE_TRANSPORT/group_hopping.c -openair1/PHY/LTE_TRANSPORT/if4_tools.c -openair1/PHY/LTE_TRANSPORT/if4_tools.h -openair1/PHY/LTE_TRANSPORT/if5_tools.c -openair1/PHY/LTE_TRANSPORT/if5_tools.h -openair1/PHY/LTE_TRANSPORT/initial_sync.c -openair1/PHY/LTE_TRANSPORT/lte_mcs.c -openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h -openair1/PHY/LTE_TRANSPORT/mdci.h -openair1/PHY/LTE_TRANSPORT/pbch.c -openair1/PHY/LTE_TRANSPORT/pcfich.c -openair1/PHY/LTE_TRANSPORT/pch.c -openair1/PHY/LTE_TRANSPORT/phich.c -openair1/PHY/LTE_TRANSPORT/pilots.c -openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c -openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c -openair1/PHY/LTE_TRANSPORT/pmch.c -openair1/PHY/LTE_TRANSPORT/power_control.c -openair1/PHY/LTE_TRANSPORT/prach.c -openair1/PHY/LTE_TRANSPORT/prach.h -openair1/PHY/LTE_TRANSPORT/print_stats.c -openair1/PHY/LTE_TRANSPORT/proto.h -openair1/PHY/LTE_TRANSPORT/pss.c -openair1/PHY/LTE_TRANSPORT/pucch.c -openair1/PHY/LTE_TRANSPORT/rar_tools.c -openair1/PHY/LTE_TRANSPORT/README.txt -openair1/PHY/LTE_TRANSPORT/srs_modulation.c -openair1/PHY/LTE_TRANSPORT/sss.c -openair1/PHY/LTE_TRANSPORT/sss.h -openair1/PHY/LTE_TRANSPORT/sss_gen.m -openair1/PHY/LTE_TRANSPORT/uci.h -openair1/PHY/LTE_TRANSPORT/uci_tools.c -openair1/PHY/LTE_TRANSPORT/ulsch_coding.c -openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c -openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c -openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c -openair1/PHY/LTE_TRANSPORT/vars.h -openair1/PHY/LTE_TRANSPORT/vrb_maps.m -openair1/PHY/MODULATION/beamforming.c -openair1/PHY/MODULATION/compute_bf_weights.c -openair1/PHY/MODULATION/defs.h -openair1/PHY/MODULATION/extern.h -openair1/PHY/MODULATION/gen_7_5_kHz.m -openair1/PHY/MODULATION/kHz_7_5.h -openair1/PHY/MODULATION/ofdm_mod.c -openair1/PHY/MODULATION/prach625Hz.h -openair1/PHY/MODULATION/slot_fep.c -openair1/PHY/MODULATION/slot_fep_mbsfn.c -openair1/PHY/MODULATION/slot_fep_ul.c -openair1/PHY/MODULATION/ul_7_5_kHz.c -openair1/PHY/MODULATION/vars.h -openair1/PHY/TOOLS/8bit_rxdemux.c -openair1/PHY/TOOLS/8bit_txmux.c -openair1/PHY/TOOLS/alaw_lut.h -openair1/PHY/TOOLS/angle.c -openair1/PHY/TOOLS/cadd_sv.c -openair1/PHY/TOOLS/cadd_vv.c -openair1/PHY/TOOLS/cdot_prod.c -openair1/PHY/TOOLS/cmult_sv.c -openair1/PHY/TOOLS/cmult_vv.c -openair1/PHY/TOOLS/costable.h -openair1/PHY/TOOLS/dB_routines.c -openair1/PHY/TOOLS/dB_routines.h -openair1/PHY/TOOLS/defs.h -openair1/PHY/TOOLS/extern.h -openair1/PHY/TOOLS/file_output.c -openair1/PHY/TOOLS/invSqrt.c -openair1/PHY/TOOLS/log2_approx.c -openair1/PHY/TOOLS/lte_dfts.c -openair1/PHY/TOOLS/lte_phy_scope.c -openair1/PHY/TOOLS/lte_phy_scope.h -openair1/PHY/TOOLS/lte_phy_scope_tm4.c -openair1/PHY/TOOLS/lut.c -openair1/PHY/TOOLS/memory_routines.c -openair1/PHY/TOOLS/read_F.c -openair1/PHY/TOOLS/signal_energy.c -openair1/PHY/TOOLS/smbv.c -openair1/PHY/TOOLS/smbv.h -openair1/PHY/TOOLS/sqrt.c -openair1/PHY/TOOLS/time_meas.c -openair1/PHY/TOOLS/time_meas.h -openair1/PHY/TOOLS/twiddle12288.h -openair1/PHY/TOOLS/twiddle1536.h -openair1/PHY/TOOLS/twiddle18432.h -openair1/PHY/TOOLS/twiddle24576.h -openair1/PHY/TOOLS/twiddle6144.h -openair1/PHY/TOOLS/twiddles4096.h -openair1/PHY/TOOLS/twiddles8192.h -openair1/PHY/TOOLS/vars.h -openair1/PHY/defs.h -openair1/PHY/extern.h -openair1/PHY/impl_defs_lte.h -openair1/PHY/impl_defs_top.h -openair1/PHY/sse_intrin.h -openair1/PHY/types.h -openair1/PHY/vars.h -openair1/SCHED/defs.h -openair1/SCHED/extern.h -openair1/SCHED/phy_mac_stub.c -openair1/SCHED/phy_procedures_emos.h -openair1/SCHED/phy_procedures_lte_common.c -openair1/SCHED/phy_procedures_lte_eNb.c -openair1/SCHED/phy_procedures_lte_ue.c -openair1/SCHED/pucch_pc.c -openair1/SCHED/pusch_pc.c -openair1/SCHED/rt_compat.h -openair1/SCHED/ru_procedures.c -openair1/SCHED/srs_pc.c -openair1/SCHED/vars.h -openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c -openair1/SIMULATION/ETH_TRANSPORT/defs.h -openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c -openair1/SIMULATION/ETH_TRANSPORT/extern.h -openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c -openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h -openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c -openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c -openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h -openair1/SIMULATION/ETH_TRANSPORT/proto.h -openair1/SIMULATION/ETH_TRANSPORT/README.txt -openair1/SIMULATION/ETH_TRANSPORT/socket.c -openair1/SIMULATION/ETH_TRANSPORT/socket.h -openair1/SIMULATION/ETH_TRANSPORT/vars.h -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls -openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m -openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m -openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m -openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m -openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m -openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m -openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m -openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m -openair1/SIMULATION/LTE_PHY/plotTools/p -openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m -openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt -openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex -openair1/SIMULATION/LTE_PHY/blerSimus.zip -openair1/SIMULATION/LTE_PHY/dlsim.c -openair1/SIMULATION/LTE_PHY/dlsim_tm4.c -openair1/SIMULATION/LTE_PHY/dlsim_tm7.c -openair1/SIMULATION/LTE_PHY/fancyheadings.sty -openair1/SIMULATION/LTE_PHY/framegen.c -openair1/SIMULATION/LTE_PHY/gpib_send.c -openair1/SIMULATION/LTE_PHY/gpib_send.h -openair1/SIMULATION/LTE_PHY/launch_sim.sh -openair1/SIMULATION/LTE_PHY/LTE_Configuration.c -openair1/SIMULATION/LTE_PHY/LTE_Configuration.h -openair1/SIMULATION/LTE_PHY/mat2wv.m -openair1/SIMULATION/LTE_PHY/mbmssim.c -openair1/SIMULATION/LTE_PHY/pbch_awgn.txt -openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt -openair1/SIMULATION/LTE_PHY/pbchsim.c -openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh -openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m -openair1/SIMULATION/LTE_PHY/pdcchsim.c -openair1/SIMULATION/LTE_PHY/prachsim.c -openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h -openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c -openair1/SIMULATION/LTE_PHY/pucchsim.c -openair1/SIMULATION/LTE_PHY/README.txt -openair1/SIMULATION/LTE_PHY/scansim.c -openair1/SIMULATION/LTE_PHY/signalanalyzer.c -openair1/SIMULATION/LTE_PHY/signalanalyzer.h -openair1/SIMULATION/LTE_PHY/syncsim.c -openair1/SIMULATION/LTE_PHY/test.c -openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c -openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h -openair1/SIMULATION/LTE_PHY/ulsim.c -openair1/SIMULATION/LTE_PHY/ulsim2.c -openair1/SIMULATION/LTE_PHY/unitary_defs.h -openair1/SIMULATION/RF/adc.c -openair1/SIMULATION/RF/dac.c -openair1/SIMULATION/RF/defs.h -openair1/SIMULATION/RF/README.txt -openair1/SIMULATION/RF/rf.c -openair1/SIMULATION/TOOLS/abstraction.c -openair1/SIMULATION/TOOLS/ch_desc_proto.c -openair1/SIMULATION/TOOLS/corr_mat.m -openair1/SIMULATION/TOOLS/defs.h -openair1/SIMULATION/TOOLS/gauss.c -openair1/SIMULATION/TOOLS/llr_quantization.c -openair1/SIMULATION/TOOLS/multipath_channel.c -openair1/SIMULATION/TOOLS/multipath_tv_channel.c -openair1/SIMULATION/TOOLS/random_channel.c -openair1/SIMULATION/TOOLS/rangen_double.c -openair1/SIMULATION/TOOLS/scm.m -openair1/SIMULATION/TOOLS/scm_corrmat.h -openair1/SIMULATION/TOOLS/taus.c -openair1/README.TXT -openair2/COMMON/as_message.h -openair2/COMMON/commonDef.h -openair2/COMMON/gtpv1_u_messages_def.h -openair2/COMMON/gtpv1_u_messages_types.h -openair2/COMMON/intertask_interface_conf.h -openair2/COMMON/mac_messages_def.h -openair2/COMMON/mac_messages_types.h -openair2/COMMON/mac_primitives.h -openair2/COMMON/mac_rlc_primitives.h -openair2/COMMON/mac_rrc_primitives.h -openair2/COMMON/messages_def.h -openair2/COMMON/messages_types.h -openair2/COMMON/nas_messages_def.h -openair2/COMMON/nas_messages_types.h -openair2/COMMON/networkDef.h -openair2/COMMON/openair_defs.h -openair2/COMMON/openair_types.h -openair2/COMMON/pdcp_messages_def.h -openair2/COMMON/pdcp_messages_types.h -openair2/COMMON/phy_messages_def.h -openair2/COMMON/phy_messages_types.h -openair2/COMMON/platform_constants.h -openair2/COMMON/platform_types.h -openair2/COMMON/ral_messages_def.h -openair2/COMMON/ral_messages_types.h -openair2/COMMON/rlc_messages_def.h -openair2/COMMON/rlc_messages_types.h -openair2/COMMON/rrc_messages_def.h -openair2/COMMON/rrc_messages_types.h -openair2/COMMON/rrm_config_structs.h -openair2/COMMON/rrm_constants.h -openair2/COMMON/rtos_header.h -openair2/COMMON/s1ap_messages_def.h -openair2/COMMON/s1ap_messages_types.h -openair2/COMMON/sctp_messages_def.h -openair2/COMMON/sctp_messages_types.h -openair2/COMMON/tasks_def.h -openair2/COMMON/udp_messages_def.h -openair2/COMMON/udp_messages_types.h -openair2/COMMON/x2ap_messages_def.h -openair2/COMMON/x2ap_messages_types.h -openair2/DOCS/Documentation/flow.txt -openair2/DOCS/DOXYGEN/images/cellular_topology.doc -openair2/DOCS/DOXYGEN/images/cellular_topology.pdf -openair2/DOCS/DOXYGEN/images/cellular_topology_small.png -openair2/DOCS/DOXYGEN/images/channel server.png -openair2/DOCS/DOXYGEN/images/channel server.vsd -openair2/DOCS/DOXYGEN/images/convolutional.png -openair2/DOCS/DOXYGEN/images/convolutional.vsd -openair2/DOCS/DOXYGEN/images/Diapositive6.JPG -openair2/DOCS/DOXYGEN/images/DLC_arch.png -openair2/DOCS/DOXYGEN/images/Framing.png -openair2/DOCS/DOXYGEN/images/Framing.vsd -openair2/DOCS/DOXYGEN/images/irs_dcf.jpg -openair2/DOCS/DOXYGEN/images/irs_pcf.jpg -openair2/DOCS/DOXYGEN/images/layer2_stack.jpg -openair2/DOCS/DOXYGEN/images/layer2_stack.pdf -openair2/DOCS/DOXYGEN/images/layer2_stack.png -openair2/DOCS/DOXYGEN/images/MAC Services.vsd -openair2/DOCS/DOXYGEN/images/MAC_arch.eps -openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG -openair2/DOCS/DOXYGEN/images/mac_channels.png -openair2/DOCS/DOXYGEN/images/MAC_Measurements.png -openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd -openair2/DOCS/DOXYGEN/images/MAC_Services.eps -openair2/DOCS/DOXYGEN/images/MAC_Services.vsd -openair2/DOCS/DOXYGEN/images/MAC_Services2.eps -openair2/DOCS/DOXYGEN/images/MAC_Services2.png -openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd -openair2/DOCS/DOXYGEN/images/mac_wbs.jpg -openair2/DOCS/DOXYGEN/images/macphynet.eps -openair2/DOCS/DOXYGEN/images/macphynet.png -openair2/DOCS/DOXYGEN/images/mesh_frame.pdf -openair2/DOCS/DOXYGEN/images/mesh_topology.pdf -openair2/DOCS/DOXYGEN/images/mesh_topology_small.png -openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png -openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd -openair2/DOCS/DOXYGEN/images/PHY_arch.eps -openair2/DOCS/DOXYGEN/images/PHY_arch.png -openair2/DOCS/DOXYGEN/images/PHY_arch.vsd -openair2/DOCS/DOXYGEN/images/QAM modulation.png -openair2/DOCS/DOXYGEN/images/QAM modulation.vsd -openair2/DOCS/DOXYGEN/images/QAMmodulation.png -openair2/DOCS/DOXYGEN/images/scrambler.png -openair2/DOCS/DOXYGEN/images/scrambler.vsd -openair2/DOCS/DOXYGEN/images/Transmission.pdf -openair2/DOCS/DOXYGEN/images/Transmission.png -openair2/DOCS/DOXYGEN/images/Transmission.ps -openair2/DOCS/DOXYGEN/images/w3g4f_framing.png -openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd -openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd -openair2/DOCS/DOXYGEN/Doxyfile -openair2/DOCS/TEMPLATES/CODE/images/arch.eps -openair2/DOCS/TEMPLATES/CODE/images/arch.png -openair2/DOCS/TEMPLATES/CODE/Doxyfile -openair2/DOCS/TEMPLATES/CODE/example_doxy.h -openair2/DOCS/TEMPLATES/README/Readme.doxy -openair2/DOCS/TEMPLATES/README/readme.txt -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c -openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h -openair2/ENB_APP/MESSAGES/V2/config_common.proto -openair2/ENB_APP/MESSAGES/V2/config_messages.proto -openair2/ENB_APP/MESSAGES/V2/control_delegation.proto -openair2/ENB_APP/MESSAGES/V2/controller_commands.proto -openair2/ENB_APP/MESSAGES/V2/flexran.proto -openair2/ENB_APP/MESSAGES/V2/header.proto -openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto -openair2/ENB_APP/MESSAGES/V2/stats_common.proto -openair2/ENB_APP/MESSAGES/V2/stats_messages.proto -openair2/ENB_APP/MESSAGES/V2/time_common.proto -openair2/ENB_APP/enb_app.c -openair2/ENB_APP/enb_app.h -openair2/ENB_APP/enb_config.c -openair2/ENB_APP/enb_config.h -openair2/ENB_APP/flexran_agent.c -openair2/ENB_APP/flexran_agent.h -openair2/ENB_APP/flexran_agent_async.c -openair2/ENB_APP/flexran_agent_async.h -openair2/ENB_APP/flexran_agent_common.c -openair2/ENB_APP/flexran_agent_common.h -openair2/ENB_APP/flexran_agent_common_internal.c -openair2/ENB_APP/flexran_agent_common_internal.h -openair2/ENB_APP/flexran_agent_defs.h -openair2/ENB_APP/flexran_agent_extern.h -openair2/ENB_APP/flexran_agent_handler.c -openair2/ENB_APP/flexran_agent_net_comm.c -openair2/ENB_APP/flexran_agent_net_comm.h -openair2/ENB_APP/flexran_agent_task_manager.c -openair2/ENB_APP/flexran_agent_task_manager.h -openair2/LAYER2/MAC/config.c -openair2/LAYER2/MAC/defs.h -openair2/LAYER2/MAC/eNB_scheduler.c -openair2/LAYER2/MAC/eNB_scheduler_bch.c -openair2/LAYER2/MAC/eNB_scheduler_dlsch.c -openair2/LAYER2/MAC/eNB_scheduler_mch.c -openair2/LAYER2/MAC/eNB_scheduler_primitives.c -openair2/LAYER2/MAC/eNB_scheduler_RA.c -openair2/LAYER2/MAC/eNB_scheduler_ulsch.c -openair2/LAYER2/MAC/extern.h -openair2/LAYER2/MAC/flexran_agent_mac_proto.h -openair2/LAYER2/MAC/flexran_agent_scheduler_dataplane.c -openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c -openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c -openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.h -openair2/LAYER2/MAC/flexran_dci_conversions.h -openair2/LAYER2/MAC/l1_helpers.c -openair2/LAYER2/MAC/lte_transport_init.c -openair2/LAYER2/MAC/main.c -openair2/LAYER2/MAC/openair2_proc.c -openair2/LAYER2/MAC/pre_processor.c -openair2/LAYER2/MAC/proto.h -openair2/LAYER2/MAC/ra_procedures.c -openair2/LAYER2/MAC/rar_tools.c -openair2/LAYER2/MAC/ue_procedures.c -openair2/LAYER2/MAC/vars.h -openair2/LAYER2/PDCP_v10.1.0/pdcp.c -openair2/LAYER2/PDCP_v10.1.0/pdcp.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h -openair2/LAYER2/RLC/UM_v9.3.0/README -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h -openair2/LAYER2/RLC/mac_primitives.h -openair2/LAYER2/RLC/rlc.c -openair2/LAYER2/RLC/rlc.h -openair2/LAYER2/RLC/rlc_def.h -openair2/LAYER2/RLC/rlc_def_lte.h -openair2/LAYER2/RLC/rlc_mac.c -openair2/LAYER2/RLC/rlc_mpls.c -openair2/LAYER2/RLC/rlc_primitives.h -openair2/LAYER2/RLC/rlc_rrc.c -openair2/LAYER2/openair2_proc.c -openair2/LAYER2/register.c -openair2/LAYER2/register.h -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h -openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest -openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c -openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c -openair2/NAS/DRIVER/CELLULAR/readme.txt -openair2/NAS/DRIVER/CELLULAR/start_mt_cellular -openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_noradvd -openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_radvd -openair2/NAS/DRIVER/CELLULAR/stop_mt_cellular -openair2/NAS/DRIVER/CELLULAR/stop_rg_cellular -openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h -openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c -openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c -openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c -openair2/NETWORK_DRIVER/LITE/classifier.c -openair2/NETWORK_DRIVER/LITE/common.c -openair2/NETWORK_DRIVER/LITE/constant.h -openair2/NETWORK_DRIVER/LITE/device.c -openair2/NETWORK_DRIVER/LITE/ioctl.c -openair2/NETWORK_DRIVER/LITE/ioctl.h -openair2/NETWORK_DRIVER/LITE/local.h -openair2/NETWORK_DRIVER/LITE/netlink.c -openair2/NETWORK_DRIVER/LITE/proto_extern.h -openair2/NETWORK_DRIVER/LITE/sap.h -openair2/NETWORK_DRIVER/LITE/tool.c -openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c -openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c -openair2/NETWORK_DRIVER/MESH/classifier.c -openair2/NETWORK_DRIVER/MESH/common.c -openair2/NETWORK_DRIVER/MESH/constant.h -openair2/NETWORK_DRIVER/MESH/device.c -openair2/NETWORK_DRIVER/MESH/ioctl.c -openair2/NETWORK_DRIVER/MESH/ioctl.h -openair2/NETWORK_DRIVER/MESH/local.h -openair2/NETWORK_DRIVER/MESH/mesh.c -openair2/NETWORK_DRIVER/MESH/netlink.c -openair2/NETWORK_DRIVER/MESH/proto_extern.h -openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h -openair2/NETWORK_DRIVER/MESH/sap.h -openair2/NETWORK_DRIVER/MESH/tool.c -openair2/NETWORK_DRIVER/UE_IP/common.c -openair2/NETWORK_DRIVER/UE_IP/constant.h -openair2/NETWORK_DRIVER/UE_IP/device.c -openair2/NETWORK_DRIVER/UE_IP/local.h -openair2/NETWORK_DRIVER/UE_IP/netlink.c -openair2/NETWORK_DRIVER/UE_IP/proto_extern.h -openair2/NETWORK_DRIVER/UE_IP/README -openair2/NETWORK_DRIVER/UE_IP/sap.h -openair2/PHY_INTERFACE/defs.h -openair2/PHY_INTERFACE/extern.h -openair2/PHY_INTERFACE/IF_Module.c -openair2/PHY_INTERFACE/IF_Module.h -openair2/PHY_INTERFACE/mac_phy_primitives.c -openair2/PHY_INTERFACE/mac_phy_primitives.h -openair2/PHY_INTERFACE/vars.h -openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c -openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-860.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-a20.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-c60.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn -openair2/RRC/LITE/MESSAGES/asn1_msg.c -openair2/RRC/LITE/MESSAGES/asn1_msg.h -openair2/RRC/LITE/MESSAGES/asn1_patch -openair2/RRC/LITE/MESSAGES/README.txt -openair2/RRC/LITE/MESSAGES/rtai_mem.c -openair2/RRC/LITE/MESSAGES/rtai_mem.h -openair2/RRC/LITE/defs.h -openair2/RRC/LITE/extern.h -openair2/RRC/LITE/L2_interface.c -openair2/RRC/LITE/mesh_top.c -openair2/RRC/LITE/plmn_data.h -openair2/RRC/LITE/proto.h -openair2/RRC/LITE/rrc_2_rrm_msg.c -openair2/RRC/LITE/rrc_common.c -openair2/RRC/LITE/rrc_eNB.c -openair2/RRC/LITE/rrc_eNB_GTPV1U.c -openair2/RRC/LITE/rrc_eNB_GTPV1U.h -openair2/RRC/LITE/rrc_eNB_ral.c -openair2/RRC/LITE/rrc_eNB_ral.h -openair2/RRC/LITE/rrc_eNB_S1AP.c -openair2/RRC/LITE/rrc_eNB_S1AP.h -openair2/RRC/LITE/rrc_eNB_UE_context.c -openair2/RRC/LITE/rrc_eNB_UE_context.h -openair2/RRC/LITE/rrc_rrm_interface.c -openair2/RRC/LITE/rrc_rrm_interface.h -openair2/RRC/LITE/rrc_types.h -openair2/RRC/LITE/rrc_UE.c -openair2/RRC/LITE/rrc_UE_ral.c -openair2/RRC/LITE/rrc_UE_ral.h -openair2/RRC/LITE/rrm_2_rrc_msg.c -openair2/RRC/LITE/utils.c -openair2/RRC/LITE/vars.h -openair2/RRC/NAS/nas_config.c -openair2/RRC/NAS/nas_config.h -openair2/RRC/NAS/rb_config.c -openair2/RRC/NAS/rb_config.h -openair2/UTIL/ASYNC_IF/link_manager.c -openair2/UTIL/ASYNC_IF/link_manager.h -openair2/UTIL/ASYNC_IF/message_queue.c -openair2/UTIL/ASYNC_IF/message_queue.h -openair2/UTIL/ASYNC_IF/ringbuffer_queue.c -openair2/UTIL/ASYNC_IF/ringbuffer_queue.h -openair2/UTIL/ASYNC_IF/socket_link.c -openair2/UTIL/ASYNC_IF/socket_link.h -openair2/UTIL/BIGPHYS/bigphys.c -openair2/UTIL/BIGPHYS/defs.h -openair2/UTIL/CLI/cli.c -openair2/UTIL/CLI/cli.h -openair2/UTIL/CLI/cli_cmd.c -openair2/UTIL/CLI/cli_if.h -openair2/UTIL/CLI/cli_server.c -openair2/UTIL/FIFO/pad_list.c -openair2/UTIL/FIFO/pad_list.h -openair2/UTIL/FIFO/types.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c -openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt -openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln -openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h -openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln -openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj -openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters -openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c -openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h -openair2/UTIL/LISTS/list.c -openair2/UTIL/LISTS/list.h -openair2/UTIL/LISTS/list2.c -openair2/UTIL/LOG/log.c -openair2/UTIL/LOG/log.h -openair2/UTIL/LOG/log_extern.h -openair2/UTIL/LOG/log_if.h -openair2/UTIL/LOG/README.txt -openair2/UTIL/LOG/vcd_signal_dumper.c -openair2/UTIL/LOG/vcd_signal_dumper.h -openair2/UTIL/MATH/crc_byte.c -openair2/UTIL/MATH/oml.c -openair2/UTIL/MATH/oml.h -openair2/UTIL/MATH/random.c -openair2/UTIL/MATH/random_proto_extern.h -openair2/UTIL/MATH/taus.c -openair2/UTIL/MEM/mem_block.c -openair2/UTIL/MEM/mem_block.h -openair2/UTIL/MEM/mem_mngt.c -openair2/UTIL/MEM/mem_mngt_proto_extern.h -openair2/UTIL/MEM/mem_pool.h -openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml -openair2/UTIL/OCG/temp_output/OCG_report.xml -openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml -openair2/UTIL/OCG/Doxyfile -openair2/UTIL/OCG/eurecom_20110208110244.xml -openair2/UTIL/OCG/OCG.c -openair2/UTIL/OCG/OCG.h -openair2/UTIL/OCG/OCG_call_emu.c -openair2/UTIL/OCG/OCG_call_emu.h -openair2/UTIL/OCG/OCG_config_mobi.c -openair2/UTIL/OCG/OCG_config_mobi.h -openair2/UTIL/OCG/OCG_create_dir.c -openair2/UTIL/OCG/OCG_create_dir.h -openair2/UTIL/OCG/OCG_detect_file.c -openair2/UTIL/OCG/OCG_detect_file.h -openair2/UTIL/OCG/OCG_extern.h -openair2/UTIL/OCG/OCG_generate_report.c -openair2/UTIL/OCG/OCG_generate_report.h -openair2/UTIL/OCG/OCG_get_opt.c -openair2/UTIL/OCG/OCG_get_opt.h -openair2/UTIL/OCG/OCG_if.h -openair2/UTIL/OCG/OCG_parse_filename.c -openair2/UTIL/OCG/OCG_parse_filename.h -openair2/UTIL/OCG/OCG_parse_XML.c -openair2/UTIL/OCG/OCG_parse_XML.h -openair2/UTIL/OCG/OCG_save_XML.c -openair2/UTIL/OCG/OCG_save_XML.h -openair2/UTIL/OCG/OCG_vars.h -openair2/UTIL/OCG/readme.txt -openair2/UTIL/OMG/TRACE/example_trace.tr -openair2/UTIL/OMG/TRACE/handover.tr -openair2/UTIL/OMG/TRACE/handover_1ue.tr -openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr -openair2/UTIL/OMG/TRACE/mobility_2ues.tr -openair2/UTIL/OMG/TRACE/mobility_3ues.tr -openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf -openair2/UTIL/OMG/TRACE/README.TXT -openair2/UTIL/OMG/TRACE/regular.tr -openair2/UTIL/OMG/TRACE/static_1enb.tr -openair2/UTIL/OMG/TRACE/static_2ues.tr -openair2/UTIL/OMG/TRACE/zero_speed.tr -openair2/UTIL/OMG/common.c -openair2/UTIL/OMG/defs.h -openair2/UTIL/OMG/grid.c -openair2/UTIL/OMG/grid.h -openair2/UTIL/OMG/job.c -openair2/UTIL/OMG/mobility.txt -openair2/UTIL/OMG/mobility_parser.c -openair2/UTIL/OMG/mobility_parser.h -openair2/UTIL/OMG/omg.c -openair2/UTIL/OMG/omg.h -openair2/UTIL/OMG/omg_constants.h -openair2/UTIL/OMG/omg_hashtable.c -openair2/UTIL/OMG/omg_hashtable.h -openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf -openair2/UTIL/OMG/omg_vars.h -openair2/UTIL/OMG/README.TXT -openair2/UTIL/OMG/rwalk.c -openair2/UTIL/OMG/rwalk.h -openair2/UTIL/OMG/rwp.c -openair2/UTIL/OMG/rwp.h -openair2/UTIL/OMG/static.c -openair2/UTIL/OMG/static.h -openair2/UTIL/OMG/steadystaterwp.c -openair2/UTIL/OMG/steadystaterwp.h -openair2/UTIL/OMG/trace.c -openair2/UTIL/OMG/trace.h -openair2/UTIL/OMG/trace_hashtable.c -openair2/UTIL/OMG/trace_hashtable.h -openair2/UTIL/OMV/blue.png -openair2/UTIL/OMV/communicationthread.cpp -openair2/UTIL/OMV/communicationthread.h -openair2/UTIL/OMV/green.png -openair2/UTIL/OMV/jpg.jpeg -openair2/UTIL/OMV/mus.png -openair2/UTIL/OMV/mywindow.cpp -openair2/UTIL/OMV/mywindow.h -openair2/UTIL/OMV/new.jpg -openair2/UTIL/OMV/new2.jpg -openair2/UTIL/OMV/omv.cpp -openair2/UTIL/OMV/openglwidget.cpp -openair2/UTIL/OMV/openglwidget.h -openair2/UTIL/OMV/README.txt -openair2/UTIL/OMV/red.png -openair2/UTIL/OMV/structures.h -openair2/UTIL/OMV/white.png -openair2/UTIL/OMV/wow.png -openair2/UTIL/OPT/mac_pcap.h -openair2/UTIL/OPT/opt.h -openair2/UTIL/OPT/packet-mac-lte.h -openair2/UTIL/OPT/probe.c -openair2/UTIL/OPT/README.txt -openair2/UTIL/OPT/vars.h -openair2/UTIL/OSA/osa_defs.h -openair2/UTIL/OSA/osa_internal.h -openair2/UTIL/OSA/osa_key_deriver.c -openair2/UTIL/OSA/osa_rijndael.c -openair2/UTIL/OSA/osa_rijndael.h -openair2/UTIL/OSA/osa_snow3g.c -openair2/UTIL/OSA/osa_snow3g.h -openair2/UTIL/OSA/osa_stream_eea.c -openair2/UTIL/OSA/osa_stream_eia.c -openair2/UTIL/OSA/README -openair2/UTIL/OSD/css/images/false.png -openair2/UTIL/OSD/css/images/false2.png -openair2/UTIL/OSD/css/images/lquote.png -openair2/UTIL/OSD/css/images/true.png -openair2/UTIL/OSD/css/images/warning.png -openair2/UTIL/OSD/css/blueprint.css -openair2/UTIL/OSD/css/fix-ie-rtl.css -openair2/UTIL/OSD/css/fix-ie.css -openair2/UTIL/OSD/css/ie.css -openair2/UTIL/OSD/css/ie6.css -openair2/UTIL/OSD/css/print.css -openair2/UTIL/OSD/css/screen.css -openair2/UTIL/OSD/css/style.css -openair2/UTIL/OSD/jquery/jquery.js -openair2/UTIL/OSD/fake_oaisim -openair2/UTIL/OSD/form.php -openair2/UTIL/OSD/header.php -openair2/UTIL/OSD/httpd-result.conf -openair2/UTIL/OSD/index.php -openair2/UTIL/OSD/OCG.pid -openair2/UTIL/OSD/OpenAirEmu.conf -openair2/UTIL/OSD/Platform_is_running.php -openair2/UTIL/OSD/README.txt -openair2/UTIL/OSD/recep.php -openair2/UTIL/OSD/toto.php -openair2/UTIL/OTG/Doxyfile -openair2/UTIL/OTG/help_OTGplot.txt -openair2/UTIL/OTG/main.c -openair2/UTIL/OTG/otg.c -openair2/UTIL/OTG/otg.h -openair2/UTIL/OTG/otg_config.h -openair2/UTIL/OTG/otg_defs.h -openair2/UTIL/OTG/otg_externs.h -openair2/UTIL/OTG/otg_form.c -openair2/UTIL/OTG/otg_form.h -openair2/UTIL/OTG/otg_kpi.c -openair2/UTIL/OTG/otg_kpi.h -openair2/UTIL/OTG/otg_models.c -openair2/UTIL/OTG/otg_models.h -openair2/UTIL/OTG/otg_rx.c -openair2/UTIL/OTG/otg_rx.h -openair2/UTIL/OTG/otg_rx_socket.c -openair2/UTIL/OTG/otg_rx_socket.h -openair2/UTIL/OTG/otg_tx.c -openair2/UTIL/OTG/otg_tx.h -openair2/UTIL/OTG/otg_tx_socket.c -openair2/UTIL/OTG/otg_tx_socket.h -openair2/UTIL/OTG/otg_vars.h -openair2/UTIL/OTG/OTGplot -openair2/UTIL/OTG/traffic_config.h -openair2/UTIL/TIMER/umts_timer.c -openair2/UTIL/TIMER/umts_timer.h -openair2/UTIL/TIMER/umts_timer_proto_extern.h -openair2/UTIL/TIMER/umts_timer_struct.h -openair2/UTIL/TRACE/fifo_printf.c -openair2/UTIL/TRACE/fifo_printf.h -openair2/UTIL/TRACE/fifo_printf_proto_extern.h -openair2/UTIL/TRACE/print.h -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Definitions.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-CommonDataTypes.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Constants.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Containers.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-IEs.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Contents.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Descriptions.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU.asn -openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py -openair2/X2AP/x2ap.c -openair2/X2AP/x2ap.h -openair2/X2AP/x2ap_common.c -openair2/X2AP/x2ap_common.h -openair3/COMMON/as_message.h -openair3/COMMON/common_types.h -openair3/COMMON/gtpv1_u_messages_def.h -openair3/COMMON/gtpv1_u_messages_types.h -openair3/COMMON/intertask_interface_conf.h -openair3/COMMON/messages_def.h -openair3/COMMON/messages_types.h -openair3/COMMON/nas_messages_def.h -openair3/COMMON/nas_messages_types.h -openair3/COMMON/s1ap_messages_def.h -openair3/COMMON/s1ap_messages_types.h -openair3/COMMON/sctp_messages_def.h -openair3/COMMON/sctp_messages_types.h -openair3/COMMON/security_types.h -openair3/COMMON/tasks_def.h -openair3/COMMON/udp_messages_def.h -openair3/COMMON/udp_messages_types.h -openair3/DOCS/DOXYGEN/Doxyfile.in -openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf -openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex -openair3/DOCS/Latex/EPC/EPC.pdf -openair3/DOCS/Latex/EPC/EPC.tex -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h -openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h -openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c -openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h -openair3/GTPV1-U/nw-gtpv1u/AUTHORS -openair3/GTPV1-U/nw-gtpv1u/ChangeLog -openair3/GTPV1-U/nw-gtpv1u/COPYING -openair3/GTPV1-U/nw-gtpv1u/NEWS -openair3/GTPV1-U/nw-gtpv1u/README -openair3/GTPV1-U/gtpv1u.h -openair3/GTPV1-U/gtpv1u_eNB.c -openair3/GTPV1-U/gtpv1u_eNB_defs.h -openair3/GTPV1-U/gtpv1u_eNB_task.h -openair3/GTPV1-U/gtpv1u_sgw_defs.h -openair3/GTPV1-U/gtpv1u_task.c -openair3/GTPV1-U/gtpv1u_teid_pool.c -openair3/NAS/COMMON/API/NETWORK/as_message.c -openair3/NAS/COMMON/API/NETWORK/as_message.h -openair3/NAS/COMMON/API/NETWORK/l2_message.h -openair3/NAS/COMMON/API/NETWORK/nas_message.c -openair3/NAS/COMMON/API/NETWORK/nas_message.h -openair3/NAS/COMMON/API/NETWORK/network_api.c -openair3/NAS/COMMON/API/NETWORK/network_api.h -openair3/NAS/COMMON/EMM/MSG/AttachAccept.c -openair3/NAS/COMMON/EMM/MSG/AttachAccept.h -openair3/NAS/COMMON/EMM/MSG/AttachComplete.c -openair3/NAS/COMMON/EMM/MSG/AttachComplete.h -openair3/NAS/COMMON/EMM/MSG/AttachReject.c -openair3/NAS/COMMON/EMM/MSG/AttachReject.h -openair3/NAS/COMMON/EMM/MSG/AttachRequest.c -openair3/NAS/COMMON/EMM/MSG/AttachRequest.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h -openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c -openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h -openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c -openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h -openair3/NAS/COMMON/EMM/MSG/DetachAccept.c -openair3/NAS/COMMON/EMM/MSG/DetachAccept.h -openair3/NAS/COMMON/EMM/MSG/DetachRequest.c -openair3/NAS/COMMON/EMM/MSG/DetachRequest.h -openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c -openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h -openair3/NAS/COMMON/EMM/MSG/emm_cause.h -openair3/NAS/COMMON/EMM/MSG/emm_msg.c -openair3/NAS/COMMON/EMM/MSG/emm_msg.h -openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h -openair3/NAS/COMMON/EMM/MSG/EmmInformation.c -openair3/NAS/COMMON/EMM/MSG/EmmInformation.h -openair3/NAS/COMMON/EMM/MSG/EmmStatus.c -openair3/NAS/COMMON/EMM/MSG/EmmStatus.h -openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c -openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h -openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c -openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h -openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c -openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h -openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c -openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h -openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c -openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h -openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h -openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h -openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c -openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c -openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c -openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h -openair3/NAS/COMMON/EMM/MSG/ServiceReject.c -openair3/NAS/COMMON/EMM/MSG/ServiceReject.h -openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c -openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c -openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h -openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c -openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c -openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/esm_cause.h -openair3/NAS/COMMON/ESM/MSG/esm_msg.c -openair3/NAS/COMMON/ESM/MSG/esm_msg.h -openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h -openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c -openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h -openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c -openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h -openair3/NAS/COMMON/ESM/MSG/EsmStatus.c -openair3/NAS/COMMON/ESM/MSG/EsmStatus.h -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c -openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c -openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c -openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h -openair3/NAS/COMMON/IES/AccessPointName.c -openair3/NAS/COMMON/IES/AccessPointName.h -openair3/NAS/COMMON/IES/AdditionalUpdateResult.c -openair3/NAS/COMMON/IES/AdditionalUpdateResult.h -openair3/NAS/COMMON/IES/AdditionalUpdateType.c -openair3/NAS/COMMON/IES/AdditionalUpdateType.h -openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c -openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h -openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c -openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h -openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c -openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h -openair3/NAS/COMMON/IES/AuthenticationParameterRand.c -openair3/NAS/COMMON/IES/AuthenticationParameterRand.h -openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c -openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h -openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c -openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h -openair3/NAS/COMMON/IES/Cli.c -openair3/NAS/COMMON/IES/Cli.h -openair3/NAS/COMMON/IES/CsfbResponse.c -openair3/NAS/COMMON/IES/CsfbResponse.h -openair3/NAS/COMMON/IES/DaylightSavingTime.c -openair3/NAS/COMMON/IES/DaylightSavingTime.h -openair3/NAS/COMMON/IES/DetachType.c -openair3/NAS/COMMON/IES/DetachType.h -openair3/NAS/COMMON/IES/DrxParameter.c -openair3/NAS/COMMON/IES/DrxParameter.h -openair3/NAS/COMMON/IES/EmergencyNumberList.c -openair3/NAS/COMMON/IES/EmergencyNumberList.h -openair3/NAS/COMMON/IES/EmmCause.c -openair3/NAS/COMMON/IES/EmmCause.h -openair3/NAS/COMMON/IES/EpsAttachResult.c -openair3/NAS/COMMON/IES/EpsAttachResult.h -openair3/NAS/COMMON/IES/EpsAttachType.c -openair3/NAS/COMMON/IES/EpsAttachType.h -openair3/NAS/COMMON/IES/EpsBearerContextStatus.c -openair3/NAS/COMMON/IES/EpsBearerContextStatus.h -openair3/NAS/COMMON/IES/EpsBearerIdentity.c -openair3/NAS/COMMON/IES/EpsBearerIdentity.h -openair3/NAS/COMMON/IES/EpsMobileIdentity.c -openair3/NAS/COMMON/IES/EpsMobileIdentity.h -openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c -openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h -openair3/NAS/COMMON/IES/EpsQualityOfService.c -openair3/NAS/COMMON/IES/EpsQualityOfService.h -openair3/NAS/COMMON/IES/EpsUpdateResult.c -openair3/NAS/COMMON/IES/EpsUpdateResult.h -openair3/NAS/COMMON/IES/EpsUpdateType.c -openair3/NAS/COMMON/IES/EpsUpdateType.h -openair3/NAS/COMMON/IES/EsmCause.c -openair3/NAS/COMMON/IES/EsmCause.h -openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c -openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h -openair3/NAS/COMMON/IES/EsmMessageContainer.c -openair3/NAS/COMMON/IES/EsmMessageContainer.h -openair3/NAS/COMMON/IES/GprsTimer.c -openair3/NAS/COMMON/IES/GprsTimer.h -openair3/NAS/COMMON/IES/GutiType.c -openair3/NAS/COMMON/IES/GutiType.h -openair3/NAS/COMMON/IES/IdentityType2.c -openair3/NAS/COMMON/IES/IdentityType2.h -openair3/NAS/COMMON/IES/ImeisvRequest.c -openair3/NAS/COMMON/IES/ImeisvRequest.h -openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c -openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h -openair3/NAS/COMMON/IES/LcsClientIdentity.c -openair3/NAS/COMMON/IES/LcsClientIdentity.h -openair3/NAS/COMMON/IES/LcsIndicator.c -openair3/NAS/COMMON/IES/LcsIndicator.h -openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c -openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h -openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c -openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h -openair3/NAS/COMMON/IES/LocationAreaIdentification.c -openair3/NAS/COMMON/IES/LocationAreaIdentification.h -openair3/NAS/COMMON/IES/MessageType.c -openair3/NAS/COMMON/IES/MessageType.h -openair3/NAS/COMMON/IES/MobileIdentity.c -openair3/NAS/COMMON/IES/MobileIdentity.h -openair3/NAS/COMMON/IES/MobileStationClassmark2.c -openair3/NAS/COMMON/IES/MobileStationClassmark2.h -openair3/NAS/COMMON/IES/MobileStationClassmark3.c -openair3/NAS/COMMON/IES/MobileStationClassmark3.h -openair3/NAS/COMMON/IES/MsNetworkCapability.c -openair3/NAS/COMMON/IES/MsNetworkCapability.h -openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c -openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h -openair3/NAS/COMMON/IES/NasKeySetIdentifier.c -openair3/NAS/COMMON/IES/NasKeySetIdentifier.h -openair3/NAS/COMMON/IES/NasMessageContainer.c -openair3/NAS/COMMON/IES/NasMessageContainer.h -openair3/NAS/COMMON/IES/NasRequestType.c -openair3/NAS/COMMON/IES/NasRequestType.h -openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c -openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h -openair3/NAS/COMMON/IES/NetworkName.c -openair3/NAS/COMMON/IES/NetworkName.h -openair3/NAS/COMMON/IES/Nonce.c -openair3/NAS/COMMON/IES/Nonce.h -openair3/NAS/COMMON/IES/PacketFlowIdentifier.c -openair3/NAS/COMMON/IES/PacketFlowIdentifier.h -openair3/NAS/COMMON/IES/PagingIdentity.c -openair3/NAS/COMMON/IES/PagingIdentity.h -openair3/NAS/COMMON/IES/PdnAddress.c -openair3/NAS/COMMON/IES/PdnAddress.h -openair3/NAS/COMMON/IES/PdnType.c -openair3/NAS/COMMON/IES/PdnType.h -openair3/NAS/COMMON/IES/PlmnList.c -openair3/NAS/COMMON/IES/PlmnList.h -openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c -openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h -openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c -openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h -openair3/NAS/COMMON/IES/ProtocolDiscriminator.c -openair3/NAS/COMMON/IES/ProtocolDiscriminator.h -openair3/NAS/COMMON/IES/PTmsiSignature.c -openair3/NAS/COMMON/IES/PTmsiSignature.h -openair3/NAS/COMMON/IES/QualityOfService.c -openair3/NAS/COMMON/IES/QualityOfService.h -openair3/NAS/COMMON/IES/RadioPriority.c -openair3/NAS/COMMON/IES/RadioPriority.h -openair3/NAS/COMMON/IES/SecurityHeaderType.c -openair3/NAS/COMMON/IES/SecurityHeaderType.h -openair3/NAS/COMMON/IES/ServiceType.c -openair3/NAS/COMMON/IES/ServiceType.h -openair3/NAS/COMMON/IES/ShortMac.c -openair3/NAS/COMMON/IES/ShortMac.h -openair3/NAS/COMMON/IES/SsCode.c -openair3/NAS/COMMON/IES/SsCode.h -openair3/NAS/COMMON/IES/SupportedCodecList.c -openair3/NAS/COMMON/IES/SupportedCodecList.h -openair3/NAS/COMMON/IES/TimeZone.c -openair3/NAS/COMMON/IES/TimeZone.h -openair3/NAS/COMMON/IES/TimeZoneAndTime.c -openair3/NAS/COMMON/IES/TimeZoneAndTime.h -openair3/NAS/COMMON/IES/TmsiStatus.c -openair3/NAS/COMMON/IES/TmsiStatus.h -openair3/NAS/COMMON/IES/TrackingAreaIdentity.c -openair3/NAS/COMMON/IES/TrackingAreaIdentity.h -openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c -openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h -openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c -openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h -openair3/NAS/COMMON/IES/TrafficFlowTemplate.c -openair3/NAS/COMMON/IES/TrafficFlowTemplate.h -openair3/NAS/COMMON/IES/TransactionIdentifier.c -openair3/NAS/COMMON/IES/TransactionIdentifier.h -openair3/NAS/COMMON/IES/UeNetworkCapability.c -openair3/NAS/COMMON/IES/UeNetworkCapability.h -openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c -openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h -openair3/NAS/COMMON/IES/UeSecurityCapability.c -openair3/NAS/COMMON/IES/UeSecurityCapability.h -openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c -openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h -openair3/NAS/COMMON/UTIL/tst/timer.c -openair3/NAS/COMMON/UTIL/tst/timer_debug.txt -openair3/NAS/COMMON/UTIL/device.c -openair3/NAS/COMMON/UTIL/device.h -openair3/NAS/COMMON/UTIL/memory.c -openair3/NAS/COMMON/UTIL/memory.h -openair3/NAS/COMMON/UTIL/nas_log.c -openair3/NAS/COMMON/UTIL/nas_log.h -openair3/NAS/COMMON/UTIL/nas_timer.c -openair3/NAS/COMMON/UTIL/nas_timer.h -openair3/NAS/COMMON/UTIL/OctetString.c -openair3/NAS/COMMON/UTIL/OctetString.h -openair3/NAS/COMMON/UTIL/parser.c -openair3/NAS/COMMON/UTIL/parser.h -openair3/NAS/COMMON/UTIL/socket.c -openair3/NAS/COMMON/UTIL/socket.h -openair3/NAS/COMMON/UTIL/stty.c -openair3/NAS/COMMON/UTIL/TLVDecoder.c -openair3/NAS/COMMON/UTIL/TLVDecoder.h -openair3/NAS/COMMON/UTIL/TLVEncoder.c -openair3/NAS/COMMON/UTIL/TLVEncoder.h -openair3/NAS/COMMON/commonDef.h -openair3/NAS/COMMON/networkDef.h -openair3/NAS/COMMON/securityDef.h -openair3/NAS/COMMON/userDef.h -openair3/NAS/TEST/AS_SIMULATOR/as_data.c -openair3/NAS/TEST/AS_SIMULATOR/as_data.h -openair3/NAS/TEST/AS_SIMULATOR/as_process.c -openair3/NAS/TEST/AS_SIMULATOR/as_process.h -openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c -openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c -openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h -openair3/NAS/TEST/AS_SIMULATOR/nas_data.c -openair3/NAS/TEST/AS_SIMULATOR/nas_data.h -openair3/NAS/TEST/AS_SIMULATOR/nas_process.c -openair3/NAS/TEST/AS_SIMULATOR/nas_process.h -openair3/NAS/TEST/MSC/ActivatePDN.png -openair3/NAS/TEST/MSC/AuthenticationReject.png -openair3/NAS/TEST/MSC/DeactivatePDN.png -openair3/NAS/TEST/MSC/InitialAttach.png -openair3/NAS/TEST/MSC/InitialAttachReject.png -openair3/NAS/TEST/MSC/msc_gen.py -openair3/NAS/TEST/MSC/NomalDetach.png -openair3/NAS/TEST/MSC/README -openair3/NAS/TEST/MSC/SwitchOffDetach.png -openair3/NAS/TEST/NETWORK/network_parser.c -openair3/NAS/TEST/NETWORK/network_parser.h -openair3/NAS/TEST/NETWORK/network_simulator.c -openair3/NAS/TEST/NETWORK/README -openair3/NAS/TEST/USER/user_parser.c -openair3/NAS/TEST/USER/user_parser.h -openair3/NAS/TEST/USER/user_simulator.c -openair3/NAS/TOOLS/conf2uedata.c -openair3/NAS/TOOLS/conf2uedata.h -openair3/NAS/TOOLS/conf_emm.c -openair3/NAS/TOOLS/conf_emm.h -openair3/NAS/TOOLS/conf_network.c -openair3/NAS/TOOLS/conf_network.h -openair3/NAS/TOOLS/conf_parser.c -openair3/NAS/TOOLS/conf_parser.h -openair3/NAS/TOOLS/conf_user_data.c -openair3/NAS/TOOLS/conf_user_data.h -openair3/NAS/TOOLS/conf_user_plmn.c -openair3/NAS/TOOLS/conf_user_plmn.h -openair3/NAS/TOOLS/conf_usim.c -openair3/NAS/TOOLS/conf_usim.h -openair3/NAS/TOOLS/display.c -openair3/NAS/TOOLS/display.h -openair3/NAS/TOOLS/fs.c -openair3/NAS/TOOLS/fs.h -openair3/NAS/TOOLS/network.h -openair3/NAS/TOOLS/nvram.c -openair3/NAS/TOOLS/ue_bcom_test.conf -openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -openair3/NAS/TOOLS/ue_tcl_test.conf -openair3/NAS/TOOLS/usim.c -openair3/NAS/UE/API/USER/tst/at_parser.c -openair3/NAS/UE/API/USER/tst/at_parser.in -openair3/NAS/UE/API/USER/tst/at_parser.in.bis -openair3/NAS/UE/API/USER/tst/at_parser.out -openair3/NAS/UE/API/USER/tst/at_parser.out.bis -openair3/NAS/UE/API/USER/tst/smartcom.txt -openair3/NAS/UE/API/USER/at_command.c -openair3/NAS/UE/API/USER/at_command.h -openair3/NAS/UE/API/USER/at_error.c -openair3/NAS/UE/API/USER/at_error.h -openair3/NAS/UE/API/USER/at_response.c -openair3/NAS/UE/API/USER/at_response.h -openair3/NAS/UE/API/USER/user_api.c -openair3/NAS/UE/API/USER/user_api.h -openair3/NAS/UE/API/USER/user_api_defs.h -openair3/NAS/UE/API/USER/user_indication.c -openair3/NAS/UE/API/USER/user_indication.h -openair3/NAS/UE/API/USIM/aka_functions.c -openair3/NAS/UE/API/USIM/aka_functions.h -openair3/NAS/UE/API/USIM/usim_api.c -openair3/NAS/UE/API/USIM/usim_api.h -openair3/NAS/UE/EMM/SAP/emm_as.c -openair3/NAS/UE/EMM/SAP/emm_as.h -openair3/NAS/UE/EMM/SAP/emm_asDef.h -openair3/NAS/UE/EMM/SAP/emm_esm.c -openair3/NAS/UE/EMM/SAP/emm_esm.h -openair3/NAS/UE/EMM/SAP/emm_esmDef.h -openair3/NAS/UE/EMM/SAP/emm_fsm.c -openair3/NAS/UE/EMM/SAP/emm_fsm.h -openair3/NAS/UE/EMM/SAP/emm_recv.c -openair3/NAS/UE/EMM/SAP/emm_recv.h -openair3/NAS/UE/EMM/SAP/emm_reg.c -openair3/NAS/UE/EMM/SAP/emm_reg.h -openair3/NAS/UE/EMM/SAP/emm_regDef.h -openair3/NAS/UE/EMM/SAP/emm_sap.c -openair3/NAS/UE/EMM/SAP/emm_sap.h -openair3/NAS/UE/EMM/SAP/emm_send.c -openair3/NAS/UE/EMM/SAP/emm_send.h -openair3/NAS/UE/EMM/SAP/EmmDeregistered.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c -openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c -openair3/NAS/UE/EMM/SAP/EmmNull.c -openair3/NAS/UE/EMM/SAP/EmmRegistered.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c -openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c -openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c -openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c -openair3/NAS/UE/EMM/Attach.c -openair3/NAS/UE/EMM/Authentication.c -openair3/NAS/UE/EMM/Authentication.h -openair3/NAS/UE/EMM/Detach.c -openair3/NAS/UE/EMM/emm_fsm_defs.h -openair3/NAS/UE/EMM/emm_main.c -openair3/NAS/UE/EMM/emm_main.h -openair3/NAS/UE/EMM/emm_proc.h -openair3/NAS/UE/EMM/emm_proc_defs.h -openair3/NAS/UE/EMM/emm_timers.h -openair3/NAS/UE/EMM/emmData.h -openair3/NAS/UE/EMM/EmmStatusHdl.c -openair3/NAS/UE/EMM/Identification.c -openair3/NAS/UE/EMM/IdleMode.c -openair3/NAS/UE/EMM/IdleMode.h -openair3/NAS/UE/EMM/IdleMode_defs.h -openair3/NAS/UE/EMM/LowerLayer.c -openair3/NAS/UE/EMM/LowerLayer.h -openair3/NAS/UE/EMM/LowerLayer_defs.h -openair3/NAS/UE/EMM/SecurityModeControl.c -openair3/NAS/UE/EMM/SecurityModeControl.h -openair3/NAS/UE/EMM/ServiceRequestHdl.c -openair3/NAS/UE/EMM/TrackingAreaUpdate.c -openair3/NAS/UE/ESM/SAP/esm_recv.c -openair3/NAS/UE/ESM/SAP/esm_recv.h -openair3/NAS/UE/ESM/SAP/esm_sap.c -openair3/NAS/UE/ESM/SAP/esm_sap.h -openair3/NAS/UE/ESM/SAP/esm_sapDef.h -openair3/NAS/UE/ESM/SAP/esm_send.c -openair3/NAS/UE/ESM/SAP/esm_send.h -openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c -openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c -openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c -openair3/NAS/UE/ESM/esm_ebr.c -openair3/NAS/UE/ESM/esm_ebr.h -openair3/NAS/UE/ESM/esm_ebr_context.c -openair3/NAS/UE/ESM/esm_ebr_context.h -openair3/NAS/UE/ESM/esm_ip.c -openair3/NAS/UE/ESM/esm_main.c -openair3/NAS/UE/ESM/esm_main.h -openair3/NAS/UE/ESM/esm_proc.h -openair3/NAS/UE/ESM/esm_pt.c -openair3/NAS/UE/ESM/esm_pt.h -openair3/NAS/UE/ESM/esm_pt_defs.h -openair3/NAS/UE/ESM/esmData.h -openair3/NAS/UE/ESM/EsmStatusHdl.c -openair3/NAS/UE/ESM/PdnConnectivity.c -openair3/NAS/UE/ESM/PdnDisconnect.c -openair3/NAS/UE/nas_itti_messaging.c -openair3/NAS/UE/nas_itti_messaging.h -openair3/NAS/UE/nas_network.c -openair3/NAS/UE/nas_network.h -openair3/NAS/UE/nas_parser.c -openair3/NAS/UE/nas_parser.h -openair3/NAS/UE/nas_proc.c -openair3/NAS/UE/nas_proc.h -openair3/NAS/UE/nas_proc_defs.h -openair3/NAS/UE/nas_ue_task.c -openair3/NAS/UE/nas_ue_task.h -openair3/NAS/UE/nas_user.c -openair3/NAS/UE/nas_user.h -openair3/NAS/UE/UEprocess.c -openair3/NAS/UE/user_defs.h -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn -openair3/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn -openair3/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn -openair3/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn -openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py -openair3/S1AP/MESSAGES/ASN1/README -openair3/S1AP/s1ap_common.c -openair3/S1AP/s1ap_common.h -openair3/S1AP/s1ap_eNB.c -openair3/S1AP/s1ap_eNB.h -openair3/S1AP/s1ap_eNB_context_management_procedures.c -openair3/S1AP/s1ap_eNB_context_management_procedures.h -openair3/S1AP/s1ap_eNB_decoder.c -openair3/S1AP/s1ap_eNB_decoder.h -openair3/S1AP/s1ap_eNB_default_values.h -openair3/S1AP/s1ap_eNB_defs.h -openair3/S1AP/s1ap_eNB_encoder.c -openair3/S1AP/s1ap_eNB_encoder.h -openair3/S1AP/s1ap_eNB_handlers.c -openair3/S1AP/s1ap_eNB_handlers.h -openair3/S1AP/s1ap_eNB_itti_messaging.c -openair3/S1AP/s1ap_eNB_itti_messaging.h -openair3/S1AP/s1ap_eNB_management_procedures.c -openair3/S1AP/s1ap_eNB_management_procedures.h -openair3/S1AP/s1ap_eNB_nas_procedures.c -openair3/S1AP/s1ap_eNB_nas_procedures.h -openair3/S1AP/s1ap_eNB_nnsf.c -openair3/S1AP/s1ap_eNB_nnsf.h -openair3/S1AP/s1ap_eNB_overload.c -openair3/S1AP/s1ap_eNB_overload.h -openair3/S1AP/s1ap_eNB_trace.c -openair3/S1AP/s1ap_eNB_trace.h -openair3/S1AP/s1ap_eNB_ue_context.c -openair3/S1AP/s1ap_eNB_ue_context.h -openair3/SCTP/sctp_common.c -openair3/SCTP/sctp_common.h -openair3/SCTP/sctp_default_values.h -openair3/SCTP/sctp_eNB_defs.h -openair3/SCTP/sctp_eNB_itti_messaging.c -openair3/SCTP/sctp_eNB_itti_messaging.h -openair3/SCTP/sctp_eNB_task.c -openair3/SCTP/sctp_eNB_task.h -openair3/SCTP/sctp_primitives_client.c -openair3/SCTP/sctp_primitives_client.h -openair3/SECU/kdf.c -openair3/SECU/key_nas_deriver.c -openair3/SECU/key_nas_encryption.c -openair3/SECU/nas_stream_eea1.c -openair3/SECU/nas_stream_eea2.c -openair3/SECU/nas_stream_eia1.c -openair3/SECU/nas_stream_eia2.c -openair3/SECU/rijndael.c -openair3/SECU/rijndael.h -openair3/SECU/secu_defs.h -openair3/SECU/snow3g.c -openair3/SECU/snow3g.h -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf -openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml -openair3/TEST/EPC_TEST/generate_scenario.c -openair3/TEST/EPC_TEST/generate_scenario.h -openair3/TEST/EPC_TEST/play_scenario.c -openair3/TEST/EPC_TEST/play_scenario.h -openair3/TEST/EPC_TEST/play_scenario_decode.c -openair3/TEST/EPC_TEST/play_scenario_display.c -openair3/TEST/EPC_TEST/play_scenario_fsm.c -openair3/TEST/EPC_TEST/play_scenario_parse.c -openair3/TEST/EPC_TEST/play_scenario_s1ap.c -openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c -openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h -openair3/TEST/EPC_TEST/play_scenario_sctp.c -openair3/TEST/oaisim_mme_client_test.c -openair3/TEST/oaisim_mme_itti_test.c -openair3/TEST/oaisim_mme_list_benchmark.c -openair3/TEST/oaisim_mme_s1ap_test.c -openair3/TEST/oaisim_mme_sctp_test.c -openair3/TEST/oaisim_mme_test_s1c.c -openair3/TEST/oaisim_mme_test_s1c.h -openair3/TEST/oaisim_mme_test_s1c_s1ap.c -openair3/TEST/oaisim_mme_test_s1c_s1ap.h -openair3/TEST/oaisim_mme_test_s1c_scenario.c -openair3/TEST/oaisim_mme_test_s1c_scenario.h -openair3/TEST/oaisim_mme_test_s1c_scenario1.c -openair3/TEST/test_aes128_cmac_encrypt.c -openair3/TEST/test_aes128_ctr_decrypt.c -openair3/TEST/test_aes128_ctr_encrypt.c -openair3/TEST/test_kdf.c -openair3/TEST/test_s1ap.c -openair3/TEST/test_secu.c -openair3/TEST/test_secu_kenb.c -openair3/TEST/test_secu_knas.c -openair3/TEST/test_secu_knas_encrypt_eea1.c -openair3/TEST/test_secu_knas_encrypt_eea2.c -openair3/TEST/test_secu_knas_encrypt_eia1.c -openair3/TEST/test_secu_knas_encrypt_eia2.c -openair3/TEST/test_secu_knas_stream_int.c -openair3/UDP/udp_eNB_task.c -openair3/UDP/udp_eNB_task.h -openair3/UTILS/CONF/COPYING -openair3/UTILS/conversions.c -openair3/UTILS/conversions.h -openair3/UTILS/enum_string.c -openair3/UTILS/enum_string.h -openair3/UTILS/log.c -openair3/UTILS/log.h -openair3/UTILS/mcc_mnc_itu.c -openair3/UTILS/mcc_mnc_itu.h -openair3/UTILS/mme_config.c -openair3/UTILS/mme_config.h -openair3/UTILS/mme_default_values.h -openair3/UTILS/mme_parser.y -openair3/UTILS/mme_scanner.l -openair3/UTILS/queue.h -openair3/UTILS/tree.h -openair3/valgrind.sh -svn2git/authors.txt -svn2git/authors_original.txt -svn2git/authors_original_java_output.txt -svn2git/check_diff_author.sh -svn2git/git-author-rewrite.sh -svn2git/README.txt -targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c -targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h -targets/ARCH/COMMON/common_lib.c -targets/ARCH/COMMON/common_lib.h -targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c -targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c -targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c -targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h -targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk -targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd -targets/ARCH/EXMIMO/BITSTREAM/program_fpga -targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd -targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd -targets/ARCH/EXMIMO/DEFS/openair_device.h -targets/ARCH/EXMIMO/DEFS/pcie_interface.h -targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h -targets/ARCH/EXMIMO/DRIVER/eurecom/do_reenumerate_expressmimo.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/do_reinsert_driver.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c -targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h -targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c -targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c -targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c -targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reenumerate_expressmimo.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reinsert_driver.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/test_script.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c -targets/ARCH/EXMIMO/DRIVER/readme.txt -targets/ARCH/EXMIMO/USERSPACE/LIB/example.c -targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c -targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h -targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c -targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo1 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m -targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp -targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp -targets/ARCH/LMSSDR/LimeSDR.ini -targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini -targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini -targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini -targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini -targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp -targets/COMMON/create_tasks.c -targets/COMMON/create_tasks.h -targets/COMMON/openairinterface5g_limits.h -targets/COMMON/threads_t.h -targets/DOCS/images/oai_logo.png -targets/DOCS/api_icic.xml -targets/DOCS/Doxyfile -targets/DOCS/E-UTRAN_User_Guide.docx -targets/DOCS/E-UTRAN_User_Guide.pdf -targets/DOCS/oai_L1_L2_procedures.pdf -targets/DOCS/oaiemu.doc -targets/DOCS/oaisim_walkthrough.pdf -targets/DOCS/openair_header.tex -targets/DOCS/path_loss_oaisim.xlsx -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf -targets/PROJECTS/E-MBMS/build_all.bash -targets/PROJECTS/E-MBMS/enb.conf -targets/PROJECTS/E-MBMS/start_enb.bash -targets/PROJECTS/E-MBMS/start_ue.bash -targets/PROJECTS/E-MBMS/utils.bash -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.flexran.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.flexran.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.centos.nord.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.pft.memphis.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.epc_eur.local.exmimo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5-ercom.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210-conga.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.25PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if5.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml -targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash -targets/PROJECTS/GENERIC-LTE-EPC/networks.bash -targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash -targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash -targets/PROJECTS/GENERIC-LTE-EPC/utils.bash -targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash -targets/PROJECTS/LOCALIZATION/filesave0811.mat -targets/PROJECTS/LOCALIZATION/generation.m -targets/PROJECTS/LOCALIZATION/initial_sync.m -targets/PROJECTS/LOCALIZATION/initparams.m -targets/PROJECTS/LOCALIZATION/plots.m -targets/PROJECTS/LOCALIZATION/recup.m -targets/PROJECTS/LOCALIZATION/where2.m -targets/PROJECTS/LOCALIZATION/where2_v1_final.mat -targets/PROJECTS/LOCALIZATION/where2_vf.m -targets/PROJECTS/TDDREC/v0/alterproj.m -targets/PROJECTS/TDDREC/v0/beamforming.m -targets/PROJECTS/TDDREC/v0/calibration.m -targets/PROJECTS/TDDREC/v0/genorthqpskseq.m -targets/PROJECTS/TDDREC/v0/genrandpskseq.m -targets/PROJECTS/TDDREC/v0/initparams.m -targets/PROJECTS/TDDREC/v0/initparams2.m -targets/PROJECTS/TDDREC/v0/ofdm_mod.m -targets/PROJECTS/TDDREC/v0/readme.txt -targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m -targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m -targets/PROJECTS/TDDREC/v0/runmeas_mimo.m -targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m -targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m -targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m -targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m -targets/PROJECTS/TDDREC/f_ch_est.m -targets/PROJECTS/TDDREC/f_ofdm_mod.m -targets/PROJECTS/TDDREC/f_ofdm_rx.m -targets/PROJECTS/TDDREC/f_ofdm_tx.m -targets/PROJECTS/TDDREC/f_tls_ap.m -targets/PROJECTS/TDDREC/f_tls_diag.m -targets/PROJECTS/TDDREC/f_tls_svd.m -targets/PROJECTS/TDDREC/s_beamforming.m -targets/PROJECTS/TDDREC/s_calib.m -targets/PROJECTS/TDDREC/s_draw_F.m -targets/PROJECTS/TDDREC/s_init_params.m -targets/PROJECTS/TDDREC/s_run_meas.m -targets/RT/LAUNCH_SCRIPTS/load_module.sh -targets/RT/LAUNCH_SCRIPTS/nas_enb.sh -targets/RT/LAUNCH_SCRIPTS/nas_ue.sh -targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh -targets/RT/LAUNCH_SCRIPTS/start_emos.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh -targets/RT/LAUNCH_SCRIPTS/start_rf.sh -targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh -targets/RT/LAUNCH_SCRIPTS/start_ue.sh -targets/RT/LAUNCH_SCRIPTS/start_ue2.sh -targets/RT/LAUNCH_SCRIPTS/stop_rf.sh -targets/RT/USER/TOOLS/thread_ipc.c -targets/RT/USER/TOOLS/thread_ipc.h -targets/RT/USER/condtest.c -targets/RT/USER/emos-raw.c -targets/RT/USER/eNB_exmimo2.gtkw -targets/RT/USER/eNB_transport_IQ.c -targets/RT/USER/eNB_usrp.gtkw -targets/RT/USER/exmimo2_2arxg.lime -targets/RT/USER/exmimo2_2brxg.lime -targets/RT/USER/init_b200.sh -targets/RT/USER/init_exmimo.sh -targets/RT/USER/init_exmimo2.sh -targets/RT/USER/init_rtai.sh -targets/RT/USER/lte-enb.c -targets/RT/USER/lte-ran.c -targets/RT/USER/lte-ru.c -targets/RT/USER/lte-softmodem.c -targets/RT/USER/lte-softmodem.h -targets/RT/USER/lte-ue.c -targets/RT/USER/make_for_usrp.sh -targets/RT/USER/msg_helper.c -targets/RT/USER/msg_many.c -targets/RT/USER/msg_many.h -targets/RT/USER/rau_if4_single_thread.gtkw -targets/RT/USER/rcc_if4.gtkw -targets/RT/USER/rcc_if5.gtkw -targets/RT/USER/rrh.c -targets/RT/USER/rrh.gtkw -targets/RT/USER/rrh_gw.c -targets/RT/USER/rrh_gw.h -targets/RT/USER/rrh_gw_externs.h -targets/RT/USER/rru_if4p5_single_thread.gtkw -targets/RT/USER/rru_if4p5_usrp.gtkw -targets/RT/USER/rru_if5_usrp.gtkw -targets/RT/USER/rt_wrapper.c -targets/RT/USER/rt_wrapper.h -targets/RT/USER/sleeptest.c -targets/RT/USER/stats.c -targets/RT/USER/stats.fd -targets/RT/USER/stats.h -targets/RT/USER/synctest.c -targets/RT/USER/ue_exmimo2.gtkw -targets/RT/USER/UE_transport_IQ.c -targets/RT/USER/ue_usrp.gtkw -targets/SCRIPTS/asn1_generate_rrc_messaging_c_code.bash -targets/SCRIPTS/install_asn1.sh -targets/SCRIPTS/install_asn1c_0.9.24.modified.bash -targets/SCRIPTS/msc_gen.py -targets/SCRIPTS/svn-merge-meld.py -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_ue -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/AT_serial_bouchon.py -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb_v2 -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue_cx2android -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue1 -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue2 -targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_26.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml -targets/SIMU/EXAMPLES/OSD/README.txt -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_multi_UE_nas -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_two_UE_PHY_nas -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB_OAI_LITE/start_one_eNB_multi_UE_nas -targets/SIMU/PROC/SCRIPT/Run.py -targets/SIMU/PROC/channel_sim_proc.c -targets/SIMU/PROC/channel_sim_proc.h -targets/SIMU/PROC/interface.h -targets/SIMU/PROC/Process.c -targets/SIMU/PROC/Process.h -targets/SIMU/PROC/Tsync.h -targets/SIMU/USER/files/MI_16qam.csv -targets/SIMU/USER/files/MI_16qam.txt -targets/SIMU/USER/files/MI_4qam.csv -targets/SIMU/USER/files/MI_4qam.txt -targets/SIMU/USER/files/MI_64qam.csv -targets/SIMU/USER/files/MI_64qam.txt -targets/SIMU/USER/channel_sim.c -targets/SIMU/USER/cor_SF_sim.c -targets/SIMU/USER/cor_SF_sim.h -targets/SIMU/USER/event_handler.c -targets/SIMU/USER/event_handler.h -targets/SIMU/USER/init_lte.c -targets/SIMU/USER/init_lte.h -targets/SIMU/USER/oaisim.c -targets/SIMU/USER/oaisim.h -targets/SIMU/USER/oaisim_config.c -targets/SIMU/USER/oaisim_config.h -targets/SIMU/USER/oaisim_functions.c -targets/SIMU/USER/oaisim_functions.h -targets/SIMU/USER/oaisim_pad.c -targets/SIMU/USER/phy_procedures_sim_form.c -targets/SIMU/USER/phy_procedures_sim_form.fd -targets/SIMU/USER/phy_procedures_sim_form.h -targets/SIMU/USER/plot_results.m -targets/SIMU/USER/sinr_sim.c -targets/SIMU/USER/threadpool.c -targets/SIMU/USER/threadpool.h -targets/SIMU/USER/valgrind.sh -targets/TEST/AT_COMMANDS/oaisim.c -targets/TEST/OAI/case01.py -targets/TEST/OAI/case02.py -targets/TEST/OAI/case03.py -targets/TEST/OAI/case04.py -targets/TEST/OAI/case05.py -targets/TEST/OAI/case11.py -targets/TEST/OAI/case12.py -targets/TEST/OAI/case13.py -targets/TEST/OAI/core.py -targets/TEST/OAI/log.py -targets/TEST/OAI/openair.py -targets/TEST/OAI/README -targets/TEST/OAI/test01.py -targets/TEST/OAI/test02.py -targets/TEST/PACKET_TRACER/messages/Msg4.txt -targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt -targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt -targets/TEST/PACKET_TRACER/messages/sib1.txt -targets/TEST/PACKET_TRACER/messages/sib2.txt -targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt -targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt -targets/TEST/PACKET_TRACER/messages/sib3.txt -targets/TEST/PACKET_TRACER/pt.c -targets/TEST/PACKET_TRACER/README.txt -targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt -targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c -targets/TEST/PDCP/readme.txt -targets/TEST/PDCP/test_pdcp.c -targets/TEST/PDCP/test_pdcp.h -targets/TEST/PDCP/test_util.h -targets/TEST/PDCP/todo.txt -targets/TEST/RLC_AM_V9.3.0/oaisim.c -targets/TEST/RLC_UM_V9.3.0/oaisim.c -targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp -targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp -targets/TEST/ROHDE_SCHWARZ/TcpClient.h -targets/build_helper.bash -targets/build_oai.bash -targets/itti_vcd_tasks.sav -targets/Makerules -targets/perf_oai.bash -targets/README.txt -LICENSE -maketags -NOTICE.txt -oaienv -pre-commit -README.txt \ No newline at end of file diff --git a/enb_dev.includes b/enb_dev.includes deleted file mode 100755 index a4921c1d5b..0000000000 --- a/enb_dev.includes +++ /dev/null @@ -1,143 +0,0 @@ -cmake_targets/lte_build_oai/build/CMakeFiles/R10.5 -cmake_targets/lte_build_oai/build/CMakeFiles/R11.2 -cmake_targets/lte_build_oai/build/CMakeFiles/Rel14 -common -common/utils -common/utils/collection -common/utils/hashtable -common/utils/itti -common/utils/itti_analyzer/common -common/utils/itti_analyzer/libbuffers -common/utils/itti_analyzer/libparser -common/utils/itti_analyzer/libresolver -common/utils/itti_analyzer/libui -common/utils/msc -common/utils/T -common/utils/T/tracer -common/utils/T/tracer/filter -common/utils/T/tracer/gui -common/utils/T/tracer/logger -common/utils/T/tracer/view -openair1/PHY -openair1/PHY/CODING -openair1/PHY/INIT -openair1/PHY/LTE_ESTIMATION -openair1/PHY/LTE_REFSIG -openair1/PHY/LTE_TRANSPORT -openair1/PHY/MODULATION -openair1/PHY/TOOLS -openair1/SCHED -openair1/SIMULATION/ETH_TRANSPORT -openair1/SIMULATION/LTE_PHY -openair1/SIMULATION/RF -openair1/SIMULATION/TOOLS -openair2/COMMON -openair2/DOCS/TEMPLATES/CODE -openair2/ENB_APP -openair2/ENB_APP/CONTROL_MODULES/MAC -openair2/LAYER2 -openair2/LAYER2/MAC -openair2/LAYER2/PDCP_v10.1.0 -openair2/LAYER2/RLC -openair2/LAYER2/RLC/AM_v9.3.0 -openair2/LAYER2/RLC/TM_v9.3.0 -openair2/LAYER2/RLC/UM_v9.3.0 -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL -openair2/NAS/DRIVER/CELLULAR/NASMT -openair2/NAS/DRIVER/CELLULAR/NASRG -openair2/NAS/SIMU_CELLULAR -openair2/NETWORK_DRIVER/LITE -openair2/NETWORK_DRIVER/MESH -openair2/NETWORK_DRIVER/UE_IP -openair2/PHY_INTERFACE -openair2/RRC/L2_INTERFACE -openair2/RRC/LITE -openair2/RRC/LITE/MESSAGES -openair2/RRC/NAS -openair2/UTIL/ASYNC_IF -openair2/UTIL/BIGPHYS -openair2/UTIL/CLI -openair2/UTIL/FIFO -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack -openair2/UTIL/LFDS/liblfds6.1.1/test/src -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700 -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer -openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack -openair2/UTIL/LFDS/liblfds7.0.0/test/src -openair2/UTIL/LISTS -openair2/UTIL/LOG -openair2/UTIL/MATH -openair2/UTIL/MEM -openair2/UTIL/OCG -openair2/UTIL/OMG -openair2/UTIL/OMV -openair2/UTIL/OPT -openair2/UTIL/OSA -openair2/UTIL/OTG -openair2/UTIL/TIMER -openair2/UTIL/TRACE -openair2/X2AP -openair3/COMMON -openair3/GTPV1-U -openair3/GTPV1-U/nw-gtpv1u/include -openair3/GTPV1-U/nw-gtpv1u/shared -openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld -openair3/NAS/COMMON -openair3/NAS/COMMON/API/NETWORK -openair3/NAS/COMMON/EMM/MSG -openair3/NAS/COMMON/ESM/MSG -openair3/NAS/COMMON/IES -openair3/NAS/COMMON/UTIL -openair3/NAS/TEST/AS_SIMULATOR -openair3/NAS/TEST/NETWORK -openair3/NAS/TEST/USER -openair3/NAS/TOOLS -openair3/NAS/UE -openair3/NAS/UE/API/USER -openair3/NAS/UE/API/USIM -openair3/NAS/UE/EMM -openair3/NAS/UE/EMM/SAP -openair3/NAS/UE/ESM -openair3/NAS/UE/ESM/SAP -openair3/S1AP -openair3/SCTP -openair3/SECU -openair3/TEST -openair3/TEST/EPC_TEST -openair3/UDP -openair3/UTILS -targets/ARCH/BLADERF/USERSPACE/LIB -targets/ARCH/COMMON -targets/ARCH/ETHERNET/USERSPACE/LIB -targets/ARCH/EXMIMO/DEFS -targets/ARCH/EXMIMO/DRIVER/eurecom -targets/ARCH/EXMIMO/DRIVER/exmimo3 -targets/ARCH/EXMIMO/DRIVER/telecomparistech -targets/ARCH/EXMIMO/USERSPACE/LIB -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT -targets/ARCH/EXMIMO/USERSPACE/OCTAVE -targets/COMMON -targets/RT/USER -targets/RT/USER/TOOLS -targets/SIMU/PROC -targets/SIMU/USER -targets/TEST/PDCP -targets/TEST/ROHDE_SCHWARZ \ No newline at end of file diff --git a/oai5g_development.config b/oai5g_development.config deleted file mode 100755 index e0284f4257..0000000000 --- a/oai5g_development.config +++ /dev/null @@ -1,2 +0,0 @@ -// Add predefined macros for your project here. For example: -// #define THE_ANSWER 42 diff --git a/oai5g_development.creator b/oai5g_development.creator deleted file mode 100755 index e94cbbd302..0000000000 --- a/oai5g_development.creator +++ /dev/null @@ -1 +0,0 @@ -[General] diff --git a/oai5g_development.files b/oai5g_development.files deleted file mode 100755 index 24c41067c5..0000000000 --- a/oai5g_development.files +++ /dev/null @@ -1,3763 +0,0 @@ -cmake_targets/at_commands/CMakeLists.txt -cmake_targets/autotests/test.0101/CMakeLists.txt -cmake_targets/autotests/test.0102/CMakeLists.txt -cmake_targets/autotests/test.0103/CMakeLists.txt -cmake_targets/autotests/test.0104/CMakeLists.txt -cmake_targets/autotests/test.0106/CMakeLists.txt -cmake_targets/autotests/test.0107/CMakeLists.txt -cmake_targets/autotests/test.0108/CMakeLists.txt -cmake_targets/autotests/test.0113/CMakeLists.txt -cmake_targets/autotests/test.0114/CMakeLists.txt -cmake_targets/autotests/test.0115/CMakeLists.txt -cmake_targets/autotests/test.0120/CMakeLists.txt -cmake_targets/autotests/run_compilation_autotests.bash -cmake_targets/autotests/run_exec_autotests.bash -cmake_targets/doxygen/CMakeLists.txt -cmake_targets/epc_build_oai/CMakeLists.template -cmake_targets/hss_build/acl.conf.in -cmake_targets/hss_build/CMakeLists.txt -cmake_targets/hss_build/hss.conf.in -cmake_targets/hss_build/hss_fd.conf.in -cmake_targets/lte-simulators/CMakeLists.txt -cmake_targets/lte_noS1_build_oai/CMakeLists.txt -cmake_targets/nas_sim_tools/CMakeLists.txt -cmake_targets/oaisim_build_oai/CMakeLists.template -cmake_targets/oaisim_mme_build_oai/CMakeLists.template -cmake_targets/oaisim_noS1_build_oai/CMakeLists.template -cmake_targets/s1c_mme_test/CMakeLists.template -cmake_targets/tools/MODULES/cmake_useful.cmake -cmake_targets/tools/MODULES/CMakeParseArguments.cmake -cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake -cmake_targets/tools/MODULES/CMakeUserUseBison.cmake -cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake -cmake_targets/tools/MODULES/FindFreeDiameter.cmake -cmake_targets/tools/MODULES/FindGCCXML.cmake -cmake_targets/tools/MODULES/FindGcrypt.cmake -cmake_targets/tools/MODULES/FindGnuTLS.cmake -cmake_targets/tools/MODULES/FindKbuild.cmake -cmake_targets/tools/MODULES/FindLibXml2.cmake -cmake_targets/tools/MODULES/FindMySQL.cmake -cmake_targets/tools/MODULES/FindNettle.cmake -cmake_targets/tools/MODULES/FindPostgreSQL.cmake -cmake_targets/tools/MODULES/FindSCTP.cmake -cmake_targets/tools/MODULES/Kbuild.cmake -cmake_targets/tools/MODULES/kbuild_system.cmake -cmake_targets/tools/MODULES/kmodule.cmake -cmake_targets/tools/MODULES/path_prefixes.cmake -cmake_targets/tools/build_epc -cmake_targets/tools/build_helper -cmake_targets/tools/build_hss -cmake_targets/tools/check_hss_s6a_certificate -cmake_targets/tools/check_mme_s6a_certificate -cmake_targets/tools/create_hss_database -cmake_targets/tools/epc.conf.in -cmake_targets/tools/epc.local.enb.conf.in -cmake_targets/tools/example_enb_exmimo_mme_hss.txt -cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt -cmake_targets/tools/exmimo2_2arxg.lime -cmake_targets/tools/exmimo2_2brxg.lime -cmake_targets/tools/generate_asn1 -cmake_targets/tools/indent_source_code -cmake_targets/tools/init_exmimo2 -cmake_targets/tools/init_nas_nos1 -cmake_targets/tools/Kbuild.cmake -cmake_targets/tools/perf_oai.bash -cmake_targets/tools/run_enb_s1_exmimo -cmake_targets/tools/run_enb_s1_usrp -cmake_targets/tools/run_enb_ue_virt_noS1 -cmake_targets/tools/run_enb_ue_virt_s1 -cmake_targets/tools/run_epc -cmake_targets/tools/run_hss -cmake_targets/tools/s6a.conf.in -cmake_targets/tools/test_helper -cmake_targets/build_oai -cmake_targets/CMakeLists.txt -common/utils/collection/hashtable/COPYING -common/utils/collection/hashtable/hashtable.c -common/utils/collection/hashtable/hashtable.h -common/utils/collection/hashtable/obj_hashtable.c -common/utils/collection/hashtable/obj_hashtable.h -common/utils/collection/COPYING -common/utils/collection/queue.h -common/utils/collection/tree.h -common/utils/itti/assertions.h -common/utils/itti/backtrace.c -common/utils/itti/backtrace.h -common/utils/itti/COPYING -common/utils/itti/intertask_interface.c -common/utils/itti/intertask_interface.h -common/utils/itti/intertask_interface_dump.c -common/utils/itti/intertask_interface_dump.h -common/utils/itti/intertask_interface_init.h -common/utils/itti/intertask_interface_types.h -common/utils/itti/intertask_messages_def.h -common/utils/itti/intertask_messages_types.h -common/utils/itti/itti_types.h -common/utils/itti/memory_pools.c -common/utils/itti/memory_pools.h -common/utils/itti/messages_def.h -common/utils/itti/messages_types.h -common/utils/itti/signals.c -common/utils/itti/signals.h -common/utils/itti/tasks_def.h -common/utils/itti/timer.c -common/utils/itti/timer.h -common/utils/itti/timer_messages_def.h -common/utils/itti/timer_messages_types.h -common/utils/itti_analyzer/common/COPYING -common/utils/itti_analyzer/common/itti_types.h -common/utils/itti_analyzer/common/logs.h -common/utils/itti_analyzer/common/queue.h -common/utils/itti_analyzer/common/rc.h -common/utils/itti_analyzer/libbuffers/buffers.c -common/utils/itti_analyzer/libbuffers/buffers.h -common/utils/itti_analyzer/libbuffers/COPYING -common/utils/itti_analyzer/libbuffers/file.c -common/utils/itti_analyzer/libbuffers/file.h -common/utils/itti_analyzer/libbuffers/socket.c -common/utils/itti_analyzer/libbuffers/socket.h -common/utils/itti_analyzer/libparser/array_type.c -common/utils/itti_analyzer/libparser/array_type.h -common/utils/itti_analyzer/libparser/COPYING -common/utils/itti_analyzer/libparser/enum_type.c -common/utils/itti_analyzer/libparser/enum_type.h -common/utils/itti_analyzer/libparser/enum_value_type.c -common/utils/itti_analyzer/libparser/enum_value_type.h -common/utils/itti_analyzer/libparser/field_type.c -common/utils/itti_analyzer/libparser/field_type.h -common/utils/itti_analyzer/libparser/file_type.c -common/utils/itti_analyzer/libparser/file_type.h -common/utils/itti_analyzer/libparser/fundamental_type.c -common/utils/itti_analyzer/libparser/fundamental_type.h -common/utils/itti_analyzer/libparser/intertask_contexts.h -common/utils/itti_analyzer/libparser/pointer_type.c -common/utils/itti_analyzer/libparser/pointer_type.h -common/utils/itti_analyzer/libparser/reference_type.c -common/utils/itti_analyzer/libparser/reference_type.h -common/utils/itti_analyzer/libparser/struct_type.c -common/utils/itti_analyzer/libparser/struct_type.h -common/utils/itti_analyzer/libparser/typedef_type.c -common/utils/itti_analyzer/libparser/typedef_type.h -common/utils/itti_analyzer/libparser/types.c -common/utils/itti_analyzer/libparser/types.h -common/utils/itti_analyzer/libparser/union_type.c -common/utils/itti_analyzer/libparser/union_type.h -common/utils/itti_analyzer/libparser/xml_parse.c -common/utils/itti_analyzer/libparser/xml_parse.h -common/utils/itti_analyzer/libresolver/COPYING -common/utils/itti_analyzer/libresolver/locate_root.c -common/utils/itti_analyzer/libresolver/locate_root.h -common/utils/itti_analyzer/libresolver/resolvers.c -common/utils/itti_analyzer/libresolver/resolvers.h -common/utils/itti_analyzer/libui/COPYING -common/utils/itti_analyzer/libui/ui_callbacks.c -common/utils/itti_analyzer/libui/ui_callbacks.h -common/utils/itti_analyzer/libui/ui_filters.c -common/utils/itti_analyzer/libui/ui_filters.h -common/utils/itti_analyzer/libui/ui_interface.c -common/utils/itti_analyzer/libui/ui_interface.h -common/utils/itti_analyzer/libui/ui_main_screen.c -common/utils/itti_analyzer/libui/ui_main_screen.h -common/utils/itti_analyzer/libui/ui_menu_bar.c -common/utils/itti_analyzer/libui/ui_menu_bar.h -common/utils/itti_analyzer/libui/ui_notebook.c -common/utils/itti_analyzer/libui/ui_notebook.h -common/utils/itti_analyzer/libui/ui_notif_dlg.c -common/utils/itti_analyzer/libui/ui_notif_dlg.h -common/utils/itti_analyzer/libui/ui_notifications.c -common/utils/itti_analyzer/libui/ui_notifications.h -common/utils/itti_analyzer/libui/ui_signal_dissect_view.c -common/utils/itti_analyzer/libui/ui_signal_dissect_view.h -common/utils/itti_analyzer/libui/ui_tree_view.c -common/utils/itti_analyzer/libui/ui_tree_view.h -common/utils/itti_analyzer/AUTHORS -common/utils/itti_analyzer/autogen.sh -common/utils/itti_analyzer/ChangeLog -common/utils/itti_analyzer/configure.ac -common/utils/itti_analyzer/COPYING -common/utils/itti_analyzer/filters.xml -common/utils/itti_analyzer/filters_mme.xml -common/utils/itti_analyzer/filters_ue_enb.xml -common/utils/itti_analyzer/INSTALL -common/utils/itti_analyzer/itti_analyzer.c -common/utils/itti_analyzer/NEWS -common/utils/itti_analyzer/README -common/utils/msc/msc.c -common/utils/msc/msc.h -common/utils/asn1_conversions.h -common/utils/assertions.h -common/utils/COPYING -openair-cn/COMMON/as_message.h -openair-cn/COMMON/common_types.h -openair-cn/COMMON/gtpv1_u_messages_def.h -openair-cn/COMMON/gtpv1_u_messages_types.h -openair-cn/COMMON/intertask_interface_conf.h -openair-cn/COMMON/ip_forward_messages_def.h -openair-cn/COMMON/ip_forward_messages_types.h -openair-cn/COMMON/messages_def.h -openair-cn/COMMON/messages_types.h -openair-cn/COMMON/mme_app_messages_def.h -openair-cn/COMMON/mme_app_messages_types.h -openair-cn/COMMON/nas_messages_def.h -openair-cn/COMMON/nas_messages_types.h -openair-cn/COMMON/s11_messages_def.h -openair-cn/COMMON/s11_messages_types.h -openair-cn/COMMON/s1ap_messages_def.h -openair-cn/COMMON/s1ap_messages_types.h -openair-cn/COMMON/s6a_messages_def.h -openair-cn/COMMON/s6a_messages_types.h -openair-cn/COMMON/sctp_messages_def.h -openair-cn/COMMON/sctp_messages_types.h -openair-cn/COMMON/security_types.h -openair-cn/COMMON/sgw_lite_def.h -openair-cn/COMMON/sgw_lite_messages_types.h -openair-cn/COMMON/tasks_def.h -openair-cn/COMMON/udp_messages_def.h -openair-cn/COMMON/udp_messages_types.h -openair-cn/DOCS/DOXYGEN/COPYING -openair-cn/DOCS/DOXYGEN/Doxyfile.in -openair-cn/DOCS/Latex/DefaultBearer/COPYING -openair-cn/DOCS/Latex/DefaultBearer/DefaultBearer.pdf -openair-cn/DOCS/Latex/DefaultBearer/DefaultBearer.tex -openair-cn/DOCS/Latex/EPC/COPYING -openair-cn/DOCS/Latex/EPC/EPC.pdf -openair-cn/DOCS/Latex/EPC/EPC.tex -openair-cn/DOCS/Latex/COPYING -openair-cn/DOCS/COPYING -openair-cn/DOCS/EPC_User_Guide.docx -openair-cn/DOCS/EPC_User_Guide.pdf -openair-cn/GTPV1-U/GTPUAH/cmd.sh -openair-cn/GTPV1-U/GTPUAH/COPYING -openair-cn/GTPV1-U/GTPUAH/INSTALL -openair-cn/GTPV1-U/GTPUAH/libxt_GTPUAH.c -openair-cn/GTPV1-U/GTPUAH/README -openair-cn/GTPV1-U/GTPUAH/RELEASE_NOTES -openair-cn/GTPV1-U/GTPUAH/xt_GTPUAH.c -openair-cn/GTPV1-U/GTPUAH/xt_GTPUAH.h -openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h -openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h -openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h -openair-cn/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwLog.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwTypes.h -openair-cn/GTPV1-U/nw-gtpv1u/shared/NwUtils.h -openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c -openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c -openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c -openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h -openair-cn/GTPV1-U/nw-gtpv1u/AUTHORS -openair-cn/GTPV1-U/nw-gtpv1u/ChangeLog -openair-cn/GTPV1-U/nw-gtpv1u/COPYING -openair-cn/GTPV1-U/nw-gtpv1u/NEWS -openair-cn/GTPV1-U/nw-gtpv1u/README -openair-cn/GTPV1-U/gtpv1u.h -openair-cn/GTPV1-U/gtpv1u_eNB.c -openair-cn/GTPV1-U/gtpv1u_eNB_defs.h -openair-cn/GTPV1-U/gtpv1u_eNB_task.h -openair-cn/GTPV1-U/gtpv1u_sgw_defs.h -openair-cn/GTPV1-U/gtpv1u_task.c -openair-cn/GTPV1-U/gtpv1u_teid_pool.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/helloworld.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwEvt.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.c -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.h -openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS -openair-cn/GTPV2-C/nwgtpv2c-0.11/ChangeLog -openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac -openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING -openair-cn/GTPV2-C/nwgtpv2c-0.11/NEWS -openair-cn/GTPV2-C/nwgtpv2c-0.11/README -openair-cn/INTERTASK_INTERFACE/assertions.h -openair-cn/INTERTASK_INTERFACE/backtrace.c -openair-cn/INTERTASK_INTERFACE/backtrace.h -openair-cn/INTERTASK_INTERFACE/COPYING -openair-cn/INTERTASK_INTERFACE/intertask_interface.c -openair-cn/INTERTASK_INTERFACE/intertask_interface.h -openair-cn/INTERTASK_INTERFACE/intertask_interface_dump.c -openair-cn/INTERTASK_INTERFACE/intertask_interface_dump.h -openair-cn/INTERTASK_INTERFACE/intertask_interface_init.h -openair-cn/INTERTASK_INTERFACE/intertask_interface_types.h -openair-cn/INTERTASK_INTERFACE/intertask_messages_def.h -openair-cn/INTERTASK_INTERFACE/intertask_messages_types.h -openair-cn/INTERTASK_INTERFACE/itti_types.h -openair-cn/INTERTASK_INTERFACE/memory_pools.c -openair-cn/INTERTASK_INTERFACE/memory_pools.h -openair-cn/INTERTASK_INTERFACE/messages_def.h -openair-cn/INTERTASK_INTERFACE/messages_types.h -openair-cn/INTERTASK_INTERFACE/signals.c -openair-cn/INTERTASK_INTERFACE/signals.h -openair-cn/INTERTASK_INTERFACE/tasks_def.h -openair-cn/INTERTASK_INTERFACE/timer.c -openair-cn/INTERTASK_INTERFACE/timer.h -openair-cn/INTERTASK_INTERFACE/timer_messages_def.h -openair-cn/INTERTASK_INTERFACE/timer_messages_types.h -openair-cn/MME_APP/COPYING -openair-cn/MME_APP/mme_app_authentication.c -openair-cn/MME_APP/mme_app_bearer.c -openair-cn/MME_APP/mme_app_capabilities.c -openair-cn/MME_APP/mme_app_config.c -openair-cn/MME_APP/mme_app_config.h -openair-cn/MME_APP/mme_app_context.c -openair-cn/MME_APP/mme_app_defs.h -openair-cn/MME_APP/mme_app_extern.h -openair-cn/MME_APP/mme_app_itti_messaging.h -openair-cn/MME_APP/mme_app_location.c -openair-cn/MME_APP/mme_app_main.c -openair-cn/MME_APP/mme_app_statistics.c -openair-cn/MME_APP/mme_app_statistics.h -openair-cn/MME_APP/mme_app_ue_context.h -openair-cn/MME_APP/s6a_2_nas_cause.c -openair-cn/NAS/EURECOM-NAS/bin/COPYING -openair-cn/NAS/EURECOM-NAS/lib/COPYING -openair-cn/NAS/EURECOM-NAS/libMME/COPYING -openair-cn/NAS/EURECOM-NAS/libUE/COPYING -openair-cn/NAS/EURECOM-NAS/src/api/mme/COPYING -openair-cn/NAS/EURECOM-NAS/src/api/mme/mme_api.c -openair-cn/NAS/EURECOM-NAS/src/api/mme/mme_api.h -openair-cn/NAS/EURECOM-NAS/src/api/network/as_message.c -openair-cn/NAS/EURECOM-NAS/src/api/network/as_message.h -openair-cn/NAS/EURECOM-NAS/src/api/network/COPYING -openair-cn/NAS/EURECOM-NAS/src/api/network/l2_message.h -openair-cn/NAS/EURECOM-NAS/src/api/network/nas_message.c -openair-cn/NAS/EURECOM-NAS/src/api/network/nas_message.h -openair-cn/NAS/EURECOM-NAS/src/api/network/network_api.c -openair-cn/NAS/EURECOM-NAS/src/api/network/network_api.h -openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.c -openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.in -openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.in.bis -openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.out -openair-cn/NAS/EURECOM-NAS/src/api/user/tst/at_parser.out.bis -openair-cn/NAS/EURECOM-NAS/src/api/user/tst/smartcom.txt -openair-cn/NAS/EURECOM-NAS/src/api/user/at_command.c -openair-cn/NAS/EURECOM-NAS/src/api/user/at_command.h -openair-cn/NAS/EURECOM-NAS/src/api/user/at_error.c -openair-cn/NAS/EURECOM-NAS/src/api/user/at_error.h -openair-cn/NAS/EURECOM-NAS/src/api/user/at_response.c -openair-cn/NAS/EURECOM-NAS/src/api/user/at_response.h -openair-cn/NAS/EURECOM-NAS/src/api/user/COPYING -openair-cn/NAS/EURECOM-NAS/src/api/user/user_api.c -openair-cn/NAS/EURECOM-NAS/src/api/user/user_api.h -openair-cn/NAS/EURECOM-NAS/src/api/user/user_indication.c -openair-cn/NAS/EURECOM-NAS/src/api/user/user_indication.h -openair-cn/NAS/EURECOM-NAS/src/api/usim/aka_functions.c -openair-cn/NAS/EURECOM-NAS/src/api/usim/aka_functions.h -openair-cn/NAS/EURECOM-NAS/src/api/usim/COPYING -openair-cn/NAS/EURECOM-NAS/src/api/usim/usim_api.c -openair-cn/NAS/EURECOM-NAS/src/api/usim/usim_api.h -openair-cn/NAS/EURECOM-NAS/src/api/COPYING -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachAccept.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachAccept.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachComplete.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachComplete.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachReject.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachReject.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AttachRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationFailure.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationFailure.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationReject.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationReject.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationResponse.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/AuthenticationResponse.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/COPYING -openair-cn/NAS/EURECOM-NAS/src/emm/msg/CsServiceNotification.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/CsServiceNotification.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachAccept.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachAccept.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/DetachRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/DownlinkNasTransport.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/DownlinkNasTransport.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_cause.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_msg.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_msg.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/emm_msgDef.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmInformation.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmInformation.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmStatus.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/EmmStatus.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/ExtendedServiceRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/ExtendedServiceRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationCommand.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationCommand.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationComplete.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/GutiReallocationComplete.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityResponse.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/IdentityResponse.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/NASSecurityModeCommand.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/NASSecurityModeComplete.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeCommand.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeComplete.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeReject.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/SecurityModeReject.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceReject.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceReject.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/ServiceRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateAccept.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateAccept.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateComplete.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateComplete.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateReject.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateReject.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateRequest.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/TrackingAreaUpdateRequest.h -openair-cn/NAS/EURECOM-NAS/src/emm/msg/UplinkNasTransport.c -openair-cn/NAS/EURECOM-NAS/src/emm/msg/UplinkNasTransport.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/COPYING -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_asDef.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_cn.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_cn.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_cnDef.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_esm.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_esm.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_esmDef.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_fsm.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_fsm.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_recv.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_recv.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_reg.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_reg.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_regDef.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_sap.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_sap.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_send.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_send.h -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmCommonProcedureInitiated.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregistered.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredAttachNeeded.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredAttemptingToAttach.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredInitiated.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredLimitedService.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredNoCellAvailable.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredNoImsi.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredNormalService.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmDeregisteredPlmnSearch.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmNull.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegistered.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredAttemptingToUpdate.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredImsiDetachInitiated.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredInitiated.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredLimitedService.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredNoCellAvailable.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredNormalService.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredPlmnSearch.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmRegisteredUpdateNeeded.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmServiceRequestInitiated.c -openair-cn/NAS/EURECOM-NAS/src/emm/sap/EmmTrackingAreaUpdatingInitiated.c -openair-cn/NAS/EURECOM-NAS/src/emm/Attach.c -openair-cn/NAS/EURECOM-NAS/src/emm/Authentication.c -openair-cn/NAS/EURECOM-NAS/src/emm/COPYING -openair-cn/NAS/EURECOM-NAS/src/emm/Detach.c -openair-cn/NAS/EURECOM-NAS/src/emm/emm_data_ctx.c -openair-cn/NAS/EURECOM-NAS/src/emm/emm_main.c -openair-cn/NAS/EURECOM-NAS/src/emm/emm_main.h -openair-cn/NAS/EURECOM-NAS/src/emm/emm_proc.h -openair-cn/NAS/EURECOM-NAS/src/emm/EmmCommon.c -openair-cn/NAS/EURECOM-NAS/src/emm/EmmCommon.h -openair-cn/NAS/EURECOM-NAS/src/emm/emmData.h -openair-cn/NAS/EURECOM-NAS/src/emm/EmmStatusHdl.c -openair-cn/NAS/EURECOM-NAS/src/emm/Identification.c -openair-cn/NAS/EURECOM-NAS/src/emm/IdleMode.c -openair-cn/NAS/EURECOM-NAS/src/emm/IdleMode.h -openair-cn/NAS/EURECOM-NAS/src/emm/LowerLayer.c -openair-cn/NAS/EURECOM-NAS/src/emm/LowerLayer.h -openair-cn/NAS/EURECOM-NAS/src/emm/SecurityModeControl.c -openair-cn/NAS/EURECOM-NAS/src/emm/ServiceRequestHdl.c -openair-cn/NAS/EURECOM-NAS/src/emm/TrackingAreaUpdate.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextAccept.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextAccept.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceAllocationRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/BearerResourceModificationRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/COPYING -openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextAccept.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextAccept.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_cause.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_msg.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_msg.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/esm_msgDef.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationResponse.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmInformationResponse.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmStatus.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/EsmStatus.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextAccept.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextAccept.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnConnectivityRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectReject.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectReject.h -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectRequest.c -openair-cn/NAS/EURECOM-NAS/src/esm/msg/PdnDisconnectRequest.h -openair-cn/NAS/EURECOM-NAS/src/esm/sap/COPYING -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_recv.c -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_recv.h -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_sap.c -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_sap.h -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_sapDef.h -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_send.c -openair-cn/NAS/EURECOM-NAS/src/esm/sap/esm_send.h -openair-cn/NAS/EURECOM-NAS/src/esm/COPYING -openair-cn/NAS/EURECOM-NAS/src/esm/DedicatedEpsBearerContextActivation.c -openair-cn/NAS/EURECOM-NAS/src/esm/DefaultEpsBearerContextActivation.c -openair-cn/NAS/EURECOM-NAS/src/esm/EpsBearerContextDeactivation.c -openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr.c -openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr.h -openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr_context.c -openair-cn/NAS/EURECOM-NAS/src/esm/esm_ebr_context.h -openair-cn/NAS/EURECOM-NAS/src/esm/esm_ip.c -openair-cn/NAS/EURECOM-NAS/src/esm/esm_main.c -openair-cn/NAS/EURECOM-NAS/src/esm/esm_main.h -openair-cn/NAS/EURECOM-NAS/src/esm/esm_proc.h -openair-cn/NAS/EURECOM-NAS/src/esm/esm_pt.c -openair-cn/NAS/EURECOM-NAS/src/esm/esm_pt.h -openair-cn/NAS/EURECOM-NAS/src/esm/esmData.h -openair-cn/NAS/EURECOM-NAS/src/esm/EsmStatusHdl.c -openair-cn/NAS/EURECOM-NAS/src/esm/PdnConnectivity.c -openair-cn/NAS/EURECOM-NAS/src/esm/PdnDisconnect.c -openair-cn/NAS/EURECOM-NAS/src/ies/AccessPointName.c -openair-cn/NAS/EURECOM-NAS/src/ies/AccessPointName.h -openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateResult.c -openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateResult.h -openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateType.c -openair-cn/NAS/EURECOM-NAS/src/ies/AdditionalUpdateType.h -openair-cn/NAS/EURECOM-NAS/src/ies/ApnAggregateMaximumBitRate.c -openair-cn/NAS/EURECOM-NAS/src/ies/ApnAggregateMaximumBitRate.h -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationFailureParameter.c -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationFailureParameter.h -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterAutn.c -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterAutn.h -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterRand.c -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationParameterRand.h -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationResponseParameter.c -openair-cn/NAS/EURECOM-NAS/src/ies/AuthenticationResponseParameter.h -openair-cn/NAS/EURECOM-NAS/src/ies/CipheringKeySequenceNumber.c -openair-cn/NAS/EURECOM-NAS/src/ies/CipheringKeySequenceNumber.h -openair-cn/NAS/EURECOM-NAS/src/ies/Cli.c -openair-cn/NAS/EURECOM-NAS/src/ies/Cli.h -openair-cn/NAS/EURECOM-NAS/src/ies/COPYING -openair-cn/NAS/EURECOM-NAS/src/ies/CsfbResponse.c -openair-cn/NAS/EURECOM-NAS/src/ies/CsfbResponse.h -openair-cn/NAS/EURECOM-NAS/src/ies/DaylightSavingTime.c -openair-cn/NAS/EURECOM-NAS/src/ies/DaylightSavingTime.h -openair-cn/NAS/EURECOM-NAS/src/ies/DetachType.c -openair-cn/NAS/EURECOM-NAS/src/ies/DetachType.h -openair-cn/NAS/EURECOM-NAS/src/ies/DrxParameter.c -openair-cn/NAS/EURECOM-NAS/src/ies/DrxParameter.h -openair-cn/NAS/EURECOM-NAS/src/ies/EmergencyNumberList.c -openair-cn/NAS/EURECOM-NAS/src/ies/EmergencyNumberList.h -openair-cn/NAS/EURECOM-NAS/src/ies/EmmCause.c -openair-cn/NAS/EURECOM-NAS/src/ies/EmmCause.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachResult.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachResult.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachType.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsAttachType.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerContextStatus.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerContextStatus.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsBearerIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsMobileIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsMobileIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsQualityOfService.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsQualityOfService.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateResult.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateResult.h -openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateType.c -openair-cn/NAS/EURECOM-NAS/src/ies/EpsUpdateType.h -openair-cn/NAS/EURECOM-NAS/src/ies/EsmCause.c -openair-cn/NAS/EURECOM-NAS/src/ies/EsmCause.h -openair-cn/NAS/EURECOM-NAS/src/ies/EsmInformationTransferFlag.c -openair-cn/NAS/EURECOM-NAS/src/ies/EsmInformationTransferFlag.h -openair-cn/NAS/EURECOM-NAS/src/ies/EsmMessageContainer.c -openair-cn/NAS/EURECOM-NAS/src/ies/EsmMessageContainer.h -openair-cn/NAS/EURECOM-NAS/src/ies/GprsTimer.c -openair-cn/NAS/EURECOM-NAS/src/ies/GprsTimer.h -openair-cn/NAS/EURECOM-NAS/src/ies/GutiType.c -openair-cn/NAS/EURECOM-NAS/src/ies/GutiType.h -openair-cn/NAS/EURECOM-NAS/src/ies/IdentityType2.c -openair-cn/NAS/EURECOM-NAS/src/ies/IdentityType2.h -openair-cn/NAS/EURECOM-NAS/src/ies/ImeisvRequest.c -openair-cn/NAS/EURECOM-NAS/src/ies/ImeisvRequest.h -openair-cn/NAS/EURECOM-NAS/src/ies/KsiAndSequenceNumber.c -openair-cn/NAS/EURECOM-NAS/src/ies/KsiAndSequenceNumber.h -openair-cn/NAS/EURECOM-NAS/src/ies/LcsClientIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/LcsClientIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/LcsIndicator.c -openair-cn/NAS/EURECOM-NAS/src/ies/LcsIndicator.h -openair-cn/NAS/EURECOM-NAS/src/ies/LinkedEpsBearerIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/LinkedEpsBearerIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/LlcServiceAccessPointIdentifier.c -openair-cn/NAS/EURECOM-NAS/src/ies/LlcServiceAccessPointIdentifier.h -openair-cn/NAS/EURECOM-NAS/src/ies/LocationAreaIdentification.c -openair-cn/NAS/EURECOM-NAS/src/ies/LocationAreaIdentification.h -openair-cn/NAS/EURECOM-NAS/src/ies/MessageType.c -openair-cn/NAS/EURECOM-NAS/src/ies/MessageType.h -openair-cn/NAS/EURECOM-NAS/src/ies/MobileIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/MobileIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark2.c -openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark2.h -openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark3.c -openair-cn/NAS/EURECOM-NAS/src/ies/MobileStationClassmark3.h -openair-cn/NAS/EURECOM-NAS/src/ies/MsNetworkCapability.c -openair-cn/NAS/EURECOM-NAS/src/ies/MsNetworkCapability.h -openair-cn/NAS/EURECOM-NAS/src/ies/NasKeySetIdentifier.c -openair-cn/NAS/EURECOM-NAS/src/ies/NasKeySetIdentifier.h -openair-cn/NAS/EURECOM-NAS/src/ies/NasMessageContainer.c -openair-cn/NAS/EURECOM-NAS/src/ies/NasMessageContainer.h -openair-cn/NAS/EURECOM-NAS/src/ies/NasRequestType.c -openair-cn/NAS/EURECOM-NAS/src/ies/NasRequestType.h -openair-cn/NAS/EURECOM-NAS/src/ies/NasSecurityAlgorithms.c -openair-cn/NAS/EURECOM-NAS/src/ies/NasSecurityAlgorithms.h -openair-cn/NAS/EURECOM-NAS/src/ies/NetworkName.c -openair-cn/NAS/EURECOM-NAS/src/ies/NetworkName.h -openair-cn/NAS/EURECOM-NAS/src/ies/Nonce.c -openair-cn/NAS/EURECOM-NAS/src/ies/Nonce.h -openair-cn/NAS/EURECOM-NAS/src/ies/PacketFlowIdentifier.c -openair-cn/NAS/EURECOM-NAS/src/ies/PacketFlowIdentifier.h -openair-cn/NAS/EURECOM-NAS/src/ies/PagingIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/PagingIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/PdnAddress.c -openair-cn/NAS/EURECOM-NAS/src/ies/PdnAddress.h -openair-cn/NAS/EURECOM-NAS/src/ies/PdnType.c -openair-cn/NAS/EURECOM-NAS/src/ies/PdnType.h -openair-cn/NAS/EURECOM-NAS/src/ies/PlmnList.c -openair-cn/NAS/EURECOM-NAS/src/ies/PlmnList.h -openair-cn/NAS/EURECOM-NAS/src/ies/ProcedureTransactionIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/ProcedureTransactionIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolConfigurationOptions.c -openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolConfigurationOptions.h -openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolDiscriminator.c -openair-cn/NAS/EURECOM-NAS/src/ies/ProtocolDiscriminator.h -openair-cn/NAS/EURECOM-NAS/src/ies/PTmsiSignature.c -openair-cn/NAS/EURECOM-NAS/src/ies/PTmsiSignature.h -openair-cn/NAS/EURECOM-NAS/src/ies/QualityOfService.c -openair-cn/NAS/EURECOM-NAS/src/ies/QualityOfService.h -openair-cn/NAS/EURECOM-NAS/src/ies/RadioPriority.c -openair-cn/NAS/EURECOM-NAS/src/ies/RadioPriority.h -openair-cn/NAS/EURECOM-NAS/src/ies/SecurityHeaderType.c -openair-cn/NAS/EURECOM-NAS/src/ies/SecurityHeaderType.h -openair-cn/NAS/EURECOM-NAS/src/ies/ServiceType.c -openair-cn/NAS/EURECOM-NAS/src/ies/ServiceType.h -openair-cn/NAS/EURECOM-NAS/src/ies/ShortMac.c -openair-cn/NAS/EURECOM-NAS/src/ies/ShortMac.h -openair-cn/NAS/EURECOM-NAS/src/ies/SsCode.c -openair-cn/NAS/EURECOM-NAS/src/ies/SsCode.h -openair-cn/NAS/EURECOM-NAS/src/ies/SupportedCodecList.c -openair-cn/NAS/EURECOM-NAS/src/ies/SupportedCodecList.h -openair-cn/NAS/EURECOM-NAS/src/ies/TimeZone.c -openair-cn/NAS/EURECOM-NAS/src/ies/TimeZone.h -openair-cn/NAS/EURECOM-NAS/src/ies/TimeZoneAndTime.c -openair-cn/NAS/EURECOM-NAS/src/ies/TimeZoneAndTime.h -openair-cn/NAS/EURECOM-NAS/src/ies/TmsiStatus.c -openair-cn/NAS/EURECOM-NAS/src/ies/TmsiStatus.h -openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentity.c -openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentity.h -openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentityList.c -openair-cn/NAS/EURECOM-NAS/src/ies/TrackingAreaIdentityList.h -openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowAggregateDescription.c -openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowAggregateDescription.h -openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowTemplate.c -openair-cn/NAS/EURECOM-NAS/src/ies/TrafficFlowTemplate.h -openair-cn/NAS/EURECOM-NAS/src/ies/TransactionIdentifier.c -openair-cn/NAS/EURECOM-NAS/src/ies/TransactionIdentifier.h -openair-cn/NAS/EURECOM-NAS/src/ies/UeNetworkCapability.c -openair-cn/NAS/EURECOM-NAS/src/ies/UeNetworkCapability.h -openair-cn/NAS/EURECOM-NAS/src/ies/UeRadioCapabilityInformationUpdateNeeded.c -openair-cn/NAS/EURECOM-NAS/src/ies/UeRadioCapabilityInformationUpdateNeeded.h -openair-cn/NAS/EURECOM-NAS/src/ies/UeSecurityCapability.c -openair-cn/NAS/EURECOM-NAS/src/ies/UeSecurityCapability.h -openair-cn/NAS/EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.c -openair-cn/NAS/EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.h -openair-cn/NAS/EURECOM-NAS/src/include/commonDef.h -openair-cn/NAS/EURECOM-NAS/src/include/COPYING -openair-cn/NAS/EURECOM-NAS/src/include/networkDef.h -openair-cn/NAS/EURECOM-NAS/src/include/securityDef.h -openair-cn/NAS/EURECOM-NAS/src/include/userDef.h -openair-cn/NAS/EURECOM-NAS/src/util/tst/timer.c -openair-cn/NAS/EURECOM-NAS/src/util/tst/timer_debug.txt -openair-cn/NAS/EURECOM-NAS/src/util/COPYING -openair-cn/NAS/EURECOM-NAS/src/util/device.c -openair-cn/NAS/EURECOM-NAS/src/util/device.h -openair-cn/NAS/EURECOM-NAS/src/util/memory.c -openair-cn/NAS/EURECOM-NAS/src/util/memory.h -openair-cn/NAS/EURECOM-NAS/src/util/nas_log.c -openair-cn/NAS/EURECOM-NAS/src/util/nas_log.h -openair-cn/NAS/EURECOM-NAS/src/util/nas_timer.c -openair-cn/NAS/EURECOM-NAS/src/util/nas_timer.h -openair-cn/NAS/EURECOM-NAS/src/util/OctetString.c -openair-cn/NAS/EURECOM-NAS/src/util/OctetString.h -openair-cn/NAS/EURECOM-NAS/src/util/parser.c -openair-cn/NAS/EURECOM-NAS/src/util/parser.h -openair-cn/NAS/EURECOM-NAS/src/util/socket.c -openair-cn/NAS/EURECOM-NAS/src/util/socket.h -openair-cn/NAS/EURECOM-NAS/src/util/stty.c -openair-cn/NAS/EURECOM-NAS/src/util/TLVDecoder.c -openair-cn/NAS/EURECOM-NAS/src/util/TLVDecoder.h -openair-cn/NAS/EURECOM-NAS/src/util/TLVEncoder.c -openair-cn/NAS/EURECOM-NAS/src/util/TLVEncoder.h -openair-cn/NAS/EURECOM-NAS/src/COPYING -openair-cn/NAS/EURECOM-NAS/src/MMEprocess.c -openair-cn/NAS/EURECOM-NAS/src/nas_network.c -openair-cn/NAS/EURECOM-NAS/src/nas_network.h -openair-cn/NAS/EURECOM-NAS/src/nas_parser.c -openair-cn/NAS/EURECOM-NAS/src/nas_parser.h -openair-cn/NAS/EURECOM-NAS/src/nas_proc.c -openair-cn/NAS/EURECOM-NAS/src/nas_proc.h -openair-cn/NAS/EURECOM-NAS/src/nas_user.c -openair-cn/NAS/EURECOM-NAS/src/nas_user.h -openair-cn/NAS/EURECOM-NAS/src/UEprocess.c -openair-cn/NAS/EURECOM-NAS/tools/COPYING -openair-cn/NAS/EURECOM-NAS/tools/network.h -openair-cn/NAS/EURECOM-NAS/tools/ue_data.c -openair-cn/NAS/EURECOM-NAS/tools/usim_data.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_data.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_data.h -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_process.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_process.h -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_simulator.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_simulator_parser.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/as_simulator_parser.h -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/COPYING -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_data.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_data.h -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_process.c -openair-cn/NAS/EURECOM-NAS/tst/as_simulator/nas_process.h -openair-cn/NAS/EURECOM-NAS/tst/MSC/ActivatePDN.png -openair-cn/NAS/EURECOM-NAS/tst/MSC/AuthenticationReject.png -openair-cn/NAS/EURECOM-NAS/tst/MSC/COPYING -openair-cn/NAS/EURECOM-NAS/tst/MSC/DeactivatePDN.png -openair-cn/NAS/EURECOM-NAS/tst/MSC/InitialAttach.png -openair-cn/NAS/EURECOM-NAS/tst/MSC/InitialAttachReject.png -openair-cn/NAS/EURECOM-NAS/tst/MSC/msc_gen.py -openair-cn/NAS/EURECOM-NAS/tst/MSC/mscgen -openair-cn/NAS/EURECOM-NAS/tst/MSC/NomalDetach.png -openair-cn/NAS/EURECOM-NAS/tst/MSC/README -openair-cn/NAS/EURECOM-NAS/tst/MSC/SwitchOffDetach.png -openair-cn/NAS/EURECOM-NAS/tst/network/COPYING -openair-cn/NAS/EURECOM-NAS/tst/network/network_parser.c -openair-cn/NAS/EURECOM-NAS/tst/network/network_parser.h -openair-cn/NAS/EURECOM-NAS/tst/network/network_simulator.c -openair-cn/NAS/EURECOM-NAS/tst/network/README -openair-cn/NAS/EURECOM-NAS/tst/user/COPYING -openair-cn/NAS/EURECOM-NAS/tst/user/user_parser.c -openair-cn/NAS/EURECOM-NAS/tst/user/user_parser.h -openair-cn/NAS/EURECOM-NAS/tst/user/user_simulator.c -openair-cn/NAS/EURECOM-NAS/tst/COPYING -openair-cn/NAS/EURECOM-NAS/COPYING -openair-cn/NAS/EURECOM-NAS/Makerules -openair-cn/NAS/COPYING -openair-cn/NAS/nas_defs.h -openair-cn/NAS/nas_itti_messaging.c -openair-cn/NAS/nas_itti_messaging.h -openair-cn/NAS/nas_main.c -openair-cn/NAS/nas_ue_task.c -openair-cn/OAI_EPC/COPYING -openair-cn/OAI_EPC/oai_epc.c -openair-cn/OAI_EPC/oai_epc.h -openair-cn/OAI_EPC/oai_epc_log.c -openair-cn/OAI_SGW/COPYING -openair-cn/OAI_SGW/oai_sgw.c -openair-cn/OAI_SGW/oai_sgw.h -openair-cn/OAI_SGW/oai_sgw_log.c -openair-cn/OAISIM_MME/COPYING -openair-cn/OAISIM_MME/oai_mme_log.c -openair-cn/OAISIM_MME/oaisim_mme.c -openair-cn/OAISIM_MME/oaisim_mme.h -openair-cn/OPENAIRHSS/access_restriction/access_restriction.c -openair-cn/OPENAIRHSS/access_restriction/access_restriction.h -openair-cn/OPENAIRHSS/access_restriction/COPYING -openair-cn/OPENAIRHSS/auc/auc.h -openair-cn/OPENAIRHSS/auc/COPYING -openair-cn/OPENAIRHSS/auc/fx.c -openair-cn/OPENAIRHSS/auc/kdf.c -openair-cn/OPENAIRHSS/auc/random.c -openair-cn/OPENAIRHSS/auc/rijndael.c -openair-cn/OPENAIRHSS/auc/sequence_number.c -openair-cn/OPENAIRHSS/conf/demoCA/COPYING -openair-cn/OPENAIRHSS/conf/COPYING -openair-cn/OPENAIRHSS/conf/hss.conf.in -openair-cn/OPENAIRHSS/conf/make_certs.sh -openair-cn/OPENAIRHSS/db/COPYING -openair-cn/OPENAIRHSS/db/db_connector.c -openair-cn/OPENAIRHSS/db/db_epc_equipment.c -openair-cn/OPENAIRHSS/db/db_proto.h -openair-cn/OPENAIRHSS/db/db_subscription_data.c -openair-cn/OPENAIRHSS/db/oai_db.sql -openair-cn/OPENAIRHSS/db/pft_db.sql -openair-cn/OPENAIRHSS/debian/changelog -openair-cn/OPENAIRHSS/debian/compat -openair-cn/OPENAIRHSS/debian/control -openair-cn/OPENAIRHSS/debian/copyright -openair-cn/OPENAIRHSS/debian/dirs -openair-cn/OPENAIRHSS/debian/files -openair-cn/OPENAIRHSS/debian/openair-hss.install -openair-cn/OPENAIRHSS/debian/rules -openair-cn/OPENAIRHSS/s6a/COPYING -openair-cn/OPENAIRHSS/s6a/s6a_auth_info.c -openair-cn/OPENAIRHSS/s6a/s6a_common.c -openair-cn/OPENAIRHSS/s6a/s6a_error.c -openair-cn/OPENAIRHSS/s6a/s6a_fd.c -openair-cn/OPENAIRHSS/s6a/s6a_in_addr.c -openair-cn/OPENAIRHSS/s6a/s6a_peers.c -openair-cn/OPENAIRHSS/s6a/s6a_proto.h -openair-cn/OPENAIRHSS/s6a/s6a_purge_ue.c -openair-cn/OPENAIRHSS/s6a/s6a_subscription_data.c -openair-cn/OPENAIRHSS/s6a/s6a_supported_features.c -openair-cn/OPENAIRHSS/s6a/s6a_supported_features.h -openair-cn/OPENAIRHSS/s6a/s6a_up_loc.c -openair-cn/OPENAIRHSS/scripts/COPYING -openair-cn/OPENAIRHSS/scripts/install_hss.sh -openair-cn/OPENAIRHSS/tests/COPYING -openair-cn/OPENAIRHSS/tests/test_fd.c -openair-cn/OPENAIRHSS/tests/test_fd.h -openair-cn/OPENAIRHSS/tests/test_kdf.c -openair-cn/OPENAIRHSS/tests/test_security.c -openair-cn/OPENAIRHSS/tests/test_security_f1.c -openair-cn/OPENAIRHSS/tests/test_security_f2_f3_f5.c -openair-cn/OPENAIRHSS/tests/test_security_f4_f5star.c -openair-cn/OPENAIRHSS/tests/test_security_kasme.c -openair-cn/OPENAIRHSS/tests/test_utils.c -openair-cn/OPENAIRHSS/tests/test_utils.h -openair-cn/OPENAIRHSS/tests/up_loc_test.c -openair-cn/OPENAIRHSS/utils/conversion.c -openair-cn/OPENAIRHSS/utils/conversion.h -openair-cn/OPENAIRHSS/utils/COPYING -openair-cn/OPENAIRHSS/utils/hss_config.c -openair-cn/OPENAIRHSS/utils/hss_config.h -openair-cn/OPENAIRHSS/utils/hss_parser.y -openair-cn/OPENAIRHSS/utils/hss_scanner.l -openair-cn/OPENAIRHSS/utils/queue.h -openair-cn/OPENAIRHSS/AUTHORS -openair-cn/OPENAIRHSS/autogen.sh -openair-cn/OPENAIRHSS/ChangeLog -openair-cn/OPENAIRHSS/configure.ac -openair-cn/OPENAIRHSS/hss_main.c -openair-cn/OPENAIRHSS/INSTALL -openair-cn/OPENAIRHSS/NEWS -openair-cn/OPENAIRHSS/README -openair-cn/S11/COPYING -openair-cn/S11/s11_common.c -openair-cn/S11/s11_common.h -openair-cn/S11/s11_ie_formatter.c -openair-cn/S11/s11_ie_formatter.h -openair-cn/S11/s11_mme.h -openair-cn/S11/s11_mme_peer_manager.c -openair-cn/S11/s11_mme_session_manager.c -openair-cn/S11/s11_mme_session_manager.h -openair-cn/S11/s11_mme_task.c -openair-cn/S11/s11_sgw.c -openair-cn/S11/s11_sgw.h -openair-cn/S11/s11_sgw_bearer_manager.c -openair-cn/S11/s11_sgw_bearer_manager.h -openair-cn/S11/s11_sgw_session_manager.c -openair-cn/S11/s11_sgw_session_manager.h -openair-cn/S1AP/MESSAGES/ASN1/R10.5/COPYING -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-CommonDataTypes.asn -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-Constants.asn -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-Containers.asn -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-IEs.asn -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Contents.asn -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU-Descriptions.asn -openair-cn/S1AP/MESSAGES/ASN1/R10.5/S1AP-PDU.asn -openair-cn/S1AP/MESSAGES/ASN1/R8.10/COPYING -openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn -openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn -openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn -openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn -openair-cn/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/COPYING -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn -openair-cn/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn -openair-cn/S1AP/MESSAGES/ASN1/asn1cpatch.p0 -openair-cn/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 -openair-cn/S1AP/MESSAGES/ASN1/asn1tostruct.py -openair-cn/S1AP/MESSAGES/ASN1/COPYING -openair-cn/S1AP/MESSAGES/ASN1/README -openair-cn/S1AP/MESSAGES/COPYING -openair-cn/S1AP/COPYING -openair-cn/S1AP/s1ap_common.c -openair-cn/S1AP/s1ap_common.h -openair-cn/S1AP/s1ap_eNB.c -openair-cn/S1AP/s1ap_eNB.h -openair-cn/S1AP/s1ap_eNB_context_management_procedures.c -openair-cn/S1AP/s1ap_eNB_context_management_procedures.h -openair-cn/S1AP/s1ap_eNB_decoder.c -openair-cn/S1AP/s1ap_eNB_decoder.h -openair-cn/S1AP/s1ap_eNB_default_values.h -openair-cn/S1AP/s1ap_eNB_defs.h -openair-cn/S1AP/s1ap_eNB_encoder.c -openair-cn/S1AP/s1ap_eNB_encoder.h -openair-cn/S1AP/s1ap_eNB_handlers.c -openair-cn/S1AP/s1ap_eNB_handlers.h -openair-cn/S1AP/s1ap_eNB_itti_messaging.c -openair-cn/S1AP/s1ap_eNB_itti_messaging.h -openair-cn/S1AP/s1ap_eNB_management_procedures.c -openair-cn/S1AP/s1ap_eNB_management_procedures.h -openair-cn/S1AP/s1ap_eNB_nas_procedures.c -openair-cn/S1AP/s1ap_eNB_nas_procedures.h -openair-cn/S1AP/s1ap_eNB_nnsf.c -openair-cn/S1AP/s1ap_eNB_nnsf.h -openair-cn/S1AP/s1ap_eNB_overload.c -openair-cn/S1AP/s1ap_eNB_overload.h -openair-cn/S1AP/s1ap_eNB_trace.c -openair-cn/S1AP/s1ap_eNB_trace.h -openair-cn/S1AP/s1ap_eNB_ue_context.c -openair-cn/S1AP/s1ap_eNB_ue_context.h -openair-cn/S1AP/s1ap_mme.c -openair-cn/S1AP/s1ap_mme.h -openair-cn/S1AP/s1ap_mme_decoder.c -openair-cn/S1AP/s1ap_mme_decoder.h -openair-cn/S1AP/s1ap_mme_encoder.c -openair-cn/S1AP/s1ap_mme_encoder.h -openair-cn/S1AP/s1ap_mme_handlers.c -openair-cn/S1AP/s1ap_mme_handlers.h -openair-cn/S1AP/s1ap_mme_itti_messaging.c -openair-cn/S1AP/s1ap_mme_itti_messaging.h -openair-cn/S1AP/s1ap_mme_nas_procedures.c -openair-cn/S1AP/s1ap_mme_nas_procedures.h -openair-cn/S1AP/s1ap_mme_retransmission.c -openair-cn/S1AP/s1ap_mme_retransmission.h -openair-cn/S1AP/s1ap_mme_ta.c -openair-cn/S1AP/s1ap_mme_ta.h -openair-cn/S6A/freediameter/freediameter-1.1.5.patch -openair-cn/S6A/freediameter/freediameter-1.2.0.patch -openair-cn/S6A/freediameter/install_freediameter.sh -openair-cn/S6A/freediameter/make_certs.sh -openair-cn/S6A/freediameter/README.txt -openair-cn/S6A/freediameter/s6a.conf -openair-cn/S6A/COPYING -openair-cn/S6A/s6a_apn_conf.c -openair-cn/S6A/s6a_auth_info.c -openair-cn/S6A/s6a_defs.h -openair-cn/S6A/s6a_dict.c -openair-cn/S6A/s6a_error.c -openair-cn/S6A/s6a_messages.h -openair-cn/S6A/s6a_peer.c -openair-cn/S6A/s6a_subscription_data.c -openair-cn/S6A/s6a_task.c -openair-cn/S6A/s6a_up_loc.c -openair-cn/SCTP/COPYING -openair-cn/SCTP/sctp_common.c -openair-cn/SCTP/sctp_common.h -openair-cn/SCTP/sctp_default_values.h -openair-cn/SCTP/sctp_eNB_defs.h -openair-cn/SCTP/sctp_eNB_itti_messaging.c -openair-cn/SCTP/sctp_eNB_itti_messaging.h -openair-cn/SCTP/sctp_eNB_task.c -openair-cn/SCTP/sctp_eNB_task.h -openair-cn/SCTP/sctp_itti_messaging.c -openair-cn/SCTP/sctp_itti_messaging.h -openair-cn/SCTP/sctp_primitives_client.c -openair-cn/SCTP/sctp_primitives_client.h -openair-cn/SCTP/sctp_primitives_server.c -openair-cn/SCTP/sctp_primitives_server.h -openair-cn/SECU/COPYING -openair-cn/SECU/kdf.c -openair-cn/SECU/key_nas_deriver.c -openair-cn/SECU/key_nas_encryption.c -openair-cn/SECU/nas_stream_eea1.c -openair-cn/SECU/nas_stream_eea2.c -openair-cn/SECU/nas_stream_eia1.c -openair-cn/SECU/nas_stream_eia2.c -openair-cn/SECU/rijndael.c -openair-cn/SECU/rijndael.h -openair-cn/SECU/secu_defs.h -openair-cn/SECU/snow3g.c -openair-cn/SECU/snow3g.h -openair-cn/SGW-LITE/COPYING -openair-cn/SGW-LITE/pgw_lite_paa.c -openair-cn/SGW-LITE/pgw_lite_paa.h -openair-cn/SGW-LITE/s11_causes.c -openair-cn/SGW-LITE/s11_causes.h -openair-cn/SGW-LITE/sgw_lite.h -openair-cn/SGW-LITE/sgw_lite_context_manager.c -openair-cn/SGW-LITE/sgw_lite_context_manager.h -openair-cn/SGW-LITE/sgw_lite_defs.h -openair-cn/SGW-LITE/sgw_lite_handlers.c -openair-cn/SGW-LITE/sgw_lite_handlers.h -openair-cn/SGW-LITE/sgw_lite_ie_defs.h -openair-cn/SGW-LITE/sgw_lite_task.c -openair-cn/SGW-LITE/spgw_config.c -openair-cn/SGW-LITE/spgw_config.h -openair-cn/TEST/COPYING -openair-cn/TEST/oaisim_mme_client_test.c -openair-cn/TEST/oaisim_mme_itti_test.c -openair-cn/TEST/oaisim_mme_list_benchmark.c -openair-cn/TEST/oaisim_mme_s1ap_test.c -openair-cn/TEST/oaisim_mme_sctp_test.c -openair-cn/TEST/oaisim_mme_test_s1c.c -openair-cn/TEST/oaisim_mme_test_s1c.h -openair-cn/TEST/oaisim_mme_test_s1c_scenario.h -openair-cn/TEST/oaisim_mme_test_s1c_scenario1.c -openair-cn/TEST/test_aes128_cmac_encrypt.c -openair-cn/TEST/test_aes128_ctr_decrypt.c -openair-cn/TEST/test_aes128_ctr_encrypt.c -openair-cn/TEST/test_kdf.c -openair-cn/TEST/test_s1ap.c -openair-cn/TEST/test_secu.c -openair-cn/TEST/test_secu_kenb.c -openair-cn/TEST/test_secu_knas.c -openair-cn/TEST/test_secu_knas_encrypt_eea1.c -openair-cn/TEST/test_secu_knas_encrypt_eea2.c -openair-cn/TEST/test_secu_knas_encrypt_eia1.c -openair-cn/TEST/test_secu_knas_encrypt_eia2.c -openair-cn/TEST/test_secu_knas_stream_int.c -openair-cn/TEST/test_util.c -openair-cn/TEST/test_util.h -openair-cn/UDP/COPYING -openair-cn/UDP/udp_eNB_task.c -openair-cn/UDP/udp_eNB_task.h -openair-cn/UDP/udp_primitives_server.c -openair-cn/UDP/udp_primitives_server.h -openair-cn/UTILS/CONF/COPYING -openair-cn/UTILS/HASHTABLE/COPYING -openair-cn/UTILS/HASHTABLE/hashtable.c -openair-cn/UTILS/HASHTABLE/hashtable.h -openair-cn/UTILS/HASHTABLE/obj_hashtable.c -openair-cn/UTILS/HASHTABLE/obj_hashtable.h -openair-cn/UTILS/conversions.c -openair-cn/UTILS/conversions.h -openair-cn/UTILS/COPYING -openair-cn/UTILS/enum_string.c -openair-cn/UTILS/enum_string.h -openair-cn/UTILS/log.c -openair-cn/UTILS/log.h -openair-cn/UTILS/mcc_mnc_itu.c -openair-cn/UTILS/mcc_mnc_itu.h -openair-cn/UTILS/mme_config.c -openair-cn/UTILS/mme_config.h -openair-cn/UTILS/mme_default_values.h -openair-cn/UTILS/mme_parser.y -openair-cn/UTILS/mme_scanner.l -openair-cn/UTILS/queue.h -openair-cn/UTILS/tree.h -openair-cn/AUTHORS -openair-cn/autogen.sh -openair-cn/ChangeLog -openair-cn/configure.ac -openair-cn/COPYING -openair-cn/cppcheck.sh -openair-cn/INSTALL -openair-cn/NEWS -openair-cn/README -openair-cn/valgrind.sh -openair1/MAC_INTERFACE/COPYING -openair1/MAC_INTERFACE/defs.h -openair1/MAC_INTERFACE/extern.h -openair1/MAC_INTERFACE/init.c -openair1/MAC_INTERFACE/register.c -openair1/MAC_INTERFACE/vars.h -openair1/PHY/CODING/TESTBENCH/COPYING -openair1/PHY/CODING/TESTBENCH/ltetest.c -openair1/PHY/CODING/TESTBENCH/pdcch_test.c -openair1/PHY/CODING/TESTBENCH/README.txt -openair1/PHY/CODING/TESTBENCH/viterbi_test.c -openair1/PHY/CODING/3gpplte.c -openair1/PHY/CODING/3gpplte_sse.c -openair1/PHY/CODING/3gpplte_turbo_decoder.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c -openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c -openair1/PHY/CODING/ccoding_byte.c -openair1/PHY/CODING/ccoding_byte_lte.c -openair1/PHY/CODING/COPYING -openair1/PHY/CODING/crc_byte.c -openair1/PHY/CODING/defs.h -openair1/PHY/CODING/extern.h -openair1/PHY/CODING/extern_3GPPinterleaver.h -openair1/PHY/CODING/lte_interleaver.h -openair1/PHY/CODING/lte_interleaver2.h -openair1/PHY/CODING/lte_interleaver_inline.h -openair1/PHY/CODING/lte_rate_matching.c -openair1/PHY/CODING/lte_segmentation.c -openair1/PHY/CODING/lte_tf.m -openair1/PHY/CODING/rate_matching.c -openair1/PHY/CODING/README.txt -openair1/PHY/CODING/scrambler.h -openair1/PHY/CODING/vars.h -openair1/PHY/CODING/viterbi.c -openair1/PHY/CODING/viterbi_lte.c -openair1/PHY/INIT/COPYING -openair1/PHY/INIT/defs.h -openair1/PHY/INIT/extern.h -openair1/PHY/INIT/init_top.c -openair1/PHY/INIT/lte_init.c -openair1/PHY/INIT/lte_parms.c -openair1/PHY/INIT/README.txt -openair1/PHY/INIT/vars.h -openair1/PHY/LTE_ESTIMATION/adjust_gain.c -openair1/PHY/LTE_ESTIMATION/COPYING -openair1/PHY/LTE_ESTIMATION/defs.h -openair1/PHY/LTE_ESTIMATION/extern.h -openair1/PHY/LTE_ESTIMATION/filt96_32.h -openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m -openair1/PHY/LTE_ESTIMATION/freq_equalization.c -openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c -openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c -openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c -openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c -openair1/PHY/LTE_ESTIMATION/lte_sync_time.c -openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c -openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m -openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c -openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c -openair1/PHY/LTE_ESTIMATION/pss6144.h -openair1/PHY/LTE_ESTIMATION/README.txt -openair1/PHY/LTE_ESTIMATION/vars.h -openair1/PHY/LTE_REFSIG/COPYING -openair1/PHY/LTE_REFSIG/defs.h -openair1/PHY/LTE_REFSIG/gen_mod_table.m -openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c -openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c -openair1/PHY/LTE_REFSIG/lte_dl_uespec.c -openair1/PHY/LTE_REFSIG/lte_gold.c -openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c -openair1/PHY/LTE_REFSIG/lte_ul.m -openair1/PHY/LTE_REFSIG/lte_ul_ref.c -openair1/PHY/LTE_REFSIG/mod_table.h -openair1/PHY/LTE_REFSIG/primary_synch.h -openair1/PHY/LTE_REFSIG/primary_synch.m -openair1/PHY/LTE_REFSIG/README.txt -openair1/PHY/LTE_TRANSPORT/COPYING -openair1/PHY/LTE_TRANSPORT/dci.c -openair1/PHY/LTE_TRANSPORT/dci.h -openair1/PHY/LTE_TRANSPORT/dci_tools.c -openair1/PHY/LTE_TRANSPORT/defs.h -openair1/PHY/LTE_TRANSPORT/dlsch_coding.c -openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c -openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c -openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c -openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c -openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c -openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h -openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h -openair1/PHY/LTE_TRANSPORT/drs_modulation.c -openair1/PHY/LTE_TRANSPORT/extern.h -openair1/PHY/LTE_TRANSPORT/group_hopping.c -openair1/PHY/LTE_TRANSPORT/initial_sync.c -openair1/PHY/LTE_TRANSPORT/lte_mcs.c -openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h -openair1/PHY/LTE_TRANSPORT/pbch.c -openair1/PHY/LTE_TRANSPORT/pcfich.c -openair1/PHY/LTE_TRANSPORT/phich.c -openair1/PHY/LTE_TRANSPORT/pilots.c -openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c -openair1/PHY/LTE_TRANSPORT/pmch.c -openair1/PHY/LTE_TRANSPORT/power_control.c -openair1/PHY/LTE_TRANSPORT/prach.c -openair1/PHY/LTE_TRANSPORT/prach.h -openair1/PHY/LTE_TRANSPORT/print_stats.c -openair1/PHY/LTE_TRANSPORT/proto.h -openair1/PHY/LTE_TRANSPORT/pss.c -openair1/PHY/LTE_TRANSPORT/pucch.c -openair1/PHY/LTE_TRANSPORT/rar_tools.c -openair1/PHY/LTE_TRANSPORT/README.txt -openair1/PHY/LTE_TRANSPORT/srs_modulation.c -openair1/PHY/LTE_TRANSPORT/sss.c -openair1/PHY/LTE_TRANSPORT/sss.h -openair1/PHY/LTE_TRANSPORT/sss_gen.m -openair1/PHY/LTE_TRANSPORT/uci.h -openair1/PHY/LTE_TRANSPORT/uci_tools.c -openair1/PHY/LTE_TRANSPORT/ulsch_coding.c -openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c -openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c -openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c -openair1/PHY/LTE_TRANSPORT/vars.h -openair1/PHY/LTE_TRANSPORT/vrb_maps.m -openair1/PHY/MODULATION/COPYING -openair1/PHY/MODULATION/defs.h -openair1/PHY/MODULATION/extern.h -openair1/PHY/MODULATION/gen_7_5_kHz.m -openair1/PHY/MODULATION/kHz_7_5.h -openair1/PHY/MODULATION/ofdm_mod.c -openair1/PHY/MODULATION/prach625Hz.h -openair1/PHY/MODULATION/slot_fep.c -openair1/PHY/MODULATION/slot_fep_mbsfn.c -openair1/PHY/MODULATION/slot_fep_ul.c -openair1/PHY/MODULATION/ul_7_5_kHz.c -openair1/PHY/MODULATION/vars.h -openair1/PHY/TOOLS/8bit_rxdemux.c -openair1/PHY/TOOLS/8bit_txmux.c -openair1/PHY/TOOLS/angle.c -openair1/PHY/TOOLS/cadd_sv.c -openair1/PHY/TOOLS/cadd_vv.c -openair1/PHY/TOOLS/cdot_prod.c -openair1/PHY/TOOLS/cmult_mm.c -openair1/PHY/TOOLS/cmult_sv.c -openair1/PHY/TOOLS/cmult_vv.c -openair1/PHY/TOOLS/cmult_vvh.c -openair1/PHY/TOOLS/COPYING -openair1/PHY/TOOLS/costable.h -openair1/PHY/TOOLS/dB_routines.c -openair1/PHY/TOOLS/dB_routines.h -openair1/PHY/TOOLS/defs.h -openair1/PHY/TOOLS/extern.h -openair1/PHY/TOOLS/file_output.c -openair1/PHY/TOOLS/invSqrt.c -openair1/PHY/TOOLS/log2_approx.c -openair1/PHY/TOOLS/lte_dfts.c -openair1/PHY/TOOLS/lte_phy_scope.c -openair1/PHY/TOOLS/lte_phy_scope.h -openair1/PHY/TOOLS/lut.c -openair1/PHY/TOOLS/memory_routines.c -openair1/PHY/TOOLS/signal_energy.c -openair1/PHY/TOOLS/smbv.c -openair1/PHY/TOOLS/smbv.h -openair1/PHY/TOOLS/sqrt.c -openair1/PHY/TOOLS/time_meas.c -openair1/PHY/TOOLS/time_meas.h -openair1/PHY/TOOLS/twiddle12288.h -openair1/PHY/TOOLS/twiddle1536.h -openair1/PHY/TOOLS/twiddle24576.h -openair1/PHY/TOOLS/twiddle6144.h -openair1/PHY/TOOLS/twiddles4096.h -openair1/PHY/TOOLS/vars.h -openair1/PHY/COPYING -openair1/PHY/defs.h -openair1/PHY/extern.h -openair1/PHY/impl_defs_lte.h -openair1/PHY/impl_defs_top.h -openair1/PHY/spec_defs.h -openair1/PHY/spec_defs_top.h -openair1/PHY/sse_intrin.h -openair1/PHY/types.h -openair1/PHY/vars.h -openair1/SCHED/COPYING -openair1/SCHED/defs.h -openair1/SCHED/extern.h -openair1/SCHED/phy_procedures_emos.h -openair1/SCHED/phy_procedures_lte_common.c -openair1/SCHED/phy_procedures_lte_eNb.c -openair1/SCHED/phy_procedures_lte_ue.c -openair1/SCHED/pucch_pc.c -openair1/SCHED/pusch_pc.c -openair1/SCHED/rt_compat.h -openair1/SCHED/vars.h -openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c -openair1/SIMULATION/ETH_TRANSPORT/COPYING -openair1/SIMULATION/ETH_TRANSPORT/defs.h -openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c -openair1/SIMULATION/ETH_TRANSPORT/extern.h -openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c -openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h -openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c -openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c -openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h -openair1/SIMULATION/ETH_TRANSPORT/proto.h -openair1/SIMULATION/ETH_TRANSPORT/README.txt -openair1/SIMULATION/ETH_TRANSPORT/socket.c -openair1/SIMULATION/ETH_TRANSPORT/socket.h -openair1/SIMULATION/ETH_TRANSPORT/vars.h -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex -openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls -openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m -openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m -openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m -openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m -openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m -openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m -openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m -openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m -openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m -openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m -openair1/SIMULATION/LTE_PHY/plotTools/p -openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m -openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m -openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m -openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt -openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex -openair1/SIMULATION/LTE_PHY/blerSimus.zip -openair1/SIMULATION/LTE_PHY/COPYING -openair1/SIMULATION/LTE_PHY/dlsim.c -openair1/SIMULATION/LTE_PHY/fancyheadings.sty -openair1/SIMULATION/LTE_PHY/framegen.c -openair1/SIMULATION/LTE_PHY/gpib_send.c -openair1/SIMULATION/LTE_PHY/gpib_send.h -openair1/SIMULATION/LTE_PHY/launch_sim.sh -openair1/SIMULATION/LTE_PHY/LTE_Configuration.c -openair1/SIMULATION/LTE_PHY/LTE_Configuration.h -openair1/SIMULATION/LTE_PHY/mat2wv.m -openair1/SIMULATION/LTE_PHY/mbmssim.c -openair1/SIMULATION/LTE_PHY/pbch_awgn.txt -openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt -openair1/SIMULATION/LTE_PHY/pbchsim.c -openair1/SIMULATION/LTE_PHY/pbsPhyProcSim.sh -openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m -openair1/SIMULATION/LTE_PHY/pdcchsim.c -openair1/SIMULATION/LTE_PHY/prachsim.c -openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h -openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c -openair1/SIMULATION/LTE_PHY/pucchsim.c -openair1/SIMULATION/LTE_PHY/README.txt -openair1/SIMULATION/LTE_PHY/scansim.c -openair1/SIMULATION/LTE_PHY/signalanalyzer.c -openair1/SIMULATION/LTE_PHY/signalanalyzer.h -openair1/SIMULATION/LTE_PHY/syncsim.c -openair1/SIMULATION/LTE_PHY/test.c -openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c -openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h -openair1/SIMULATION/LTE_PHY/ulsim.c -openair1/SIMULATION/LTE_PHY/ulsim2.c -openair1/SIMULATION/RF/adc.c -openair1/SIMULATION/RF/COPYING -openair1/SIMULATION/RF/dac.c -openair1/SIMULATION/RF/defs.h -openair1/SIMULATION/RF/README.txt -openair1/SIMULATION/RF/rf.c -openair1/SIMULATION/TOOLS/abstraction.c -openair1/SIMULATION/TOOLS/ch_desc_proto.c -openair1/SIMULATION/TOOLS/COPYING -openair1/SIMULATION/TOOLS/corr_mat.m -openair1/SIMULATION/TOOLS/defs.h -openair1/SIMULATION/TOOLS/gauss.c -openair1/SIMULATION/TOOLS/llr_quantization.c -openair1/SIMULATION/TOOLS/multipath_channel.c -openair1/SIMULATION/TOOLS/multipath_tv_channel.c -openair1/SIMULATION/TOOLS/random_channel.c -openair1/SIMULATION/TOOLS/rangen_double.c -openair1/SIMULATION/TOOLS/scm.m -openair1/SIMULATION/TOOLS/scm_corrmat.h -openair1/SIMULATION/TOOLS/taus.c -openair1/SIMULATION/COPYING -openair1/COPYING -openair1/README.TXT -openair2/COMMON/as_message.h -openair2/COMMON/commonDef.h -openair2/COMMON/COPYING -openair2/COMMON/gtpv1_u_messages_def.h -openair2/COMMON/gtpv1_u_messages_types.h -openair2/COMMON/intertask_interface_conf.h -openair2/COMMON/mac_messages_def.h -openair2/COMMON/mac_messages_types.h -openair2/COMMON/mac_primitives.h -openair2/COMMON/mac_rlc_primitives.h -openair2/COMMON/mac_rrc_primitives.h -openair2/COMMON/messages_def.h -openair2/COMMON/messages_types.h -openair2/COMMON/nas_messages_def.h -openair2/COMMON/nas_messages_types.h -openair2/COMMON/networkDef.h -openair2/COMMON/openair_defs.h -openair2/COMMON/openair_types.h -openair2/COMMON/pdcp_messages_def.h -openair2/COMMON/pdcp_messages_types.h -openair2/COMMON/phy_messages_def.h -openair2/COMMON/phy_messages_types.h -openair2/COMMON/platform_constants.h -openair2/COMMON/platform_types.h -openair2/COMMON/ral_messages_def.h -openair2/COMMON/ral_messages_types.h -openair2/COMMON/rlc_messages_def.h -openair2/COMMON/rlc_messages_types.h -openair2/COMMON/rrc_messages_def.h -openair2/COMMON/rrc_messages_types.h -openair2/COMMON/rrm_config_structs.h -openair2/COMMON/rrm_constants.h -openair2/COMMON/rtos_header.h -openair2/COMMON/s1ap_messages_def.h -openair2/COMMON/s1ap_messages_types.h -openair2/COMMON/sctp_messages_def.h -openair2/COMMON/sctp_messages_types.h -openair2/COMMON/tasks_def.h -openair2/COMMON/udp_messages_def.h -openair2/COMMON/udp_messages_types.h -openair2/COMMON/x2ap_messages_def.h -openair2/COMMON/x2ap_messages_types.h -openair2/DOCS/Documentation/flow.txt -openair2/DOCS/DOXYGEN/images/cellular_topology.doc -openair2/DOCS/DOXYGEN/images/cellular_topology.pdf -openair2/DOCS/DOXYGEN/images/cellular_topology_small.png -openair2/DOCS/DOXYGEN/images/channel server.png -openair2/DOCS/DOXYGEN/images/channel server.vsd -openair2/DOCS/DOXYGEN/images/convolutional.png -openair2/DOCS/DOXYGEN/images/convolutional.vsd -openair2/DOCS/DOXYGEN/images/Diapositive6.JPG -openair2/DOCS/DOXYGEN/images/DLC_arch.png -openair2/DOCS/DOXYGEN/images/Framing.png -openair2/DOCS/DOXYGEN/images/Framing.vsd -openair2/DOCS/DOXYGEN/images/irs_dcf.jpg -openair2/DOCS/DOXYGEN/images/irs_pcf.jpg -openair2/DOCS/DOXYGEN/images/layer2_stack.jpg -openair2/DOCS/DOXYGEN/images/layer2_stack.pdf -openair2/DOCS/DOXYGEN/images/layer2_stack.png -openair2/DOCS/DOXYGEN/images/MAC Services.vsd -openair2/DOCS/DOXYGEN/images/MAC_arch.eps -openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG -openair2/DOCS/DOXYGEN/images/mac_channels.png -openair2/DOCS/DOXYGEN/images/MAC_Measurements.png -openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd -openair2/DOCS/DOXYGEN/images/MAC_Services.eps -openair2/DOCS/DOXYGEN/images/MAC_Services.vsd -openair2/DOCS/DOXYGEN/images/MAC_Services2.eps -openair2/DOCS/DOXYGEN/images/MAC_Services2.png -openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png -openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd -openair2/DOCS/DOXYGEN/images/mac_wbs.jpg -openair2/DOCS/DOXYGEN/images/macphynet.eps -openair2/DOCS/DOXYGEN/images/macphynet.png -openair2/DOCS/DOXYGEN/images/mesh_frame.pdf -openair2/DOCS/DOXYGEN/images/mesh_topology.pdf -openair2/DOCS/DOXYGEN/images/mesh_topology_small.png -openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png -openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd -openair2/DOCS/DOXYGEN/images/PHY_arch.eps -openair2/DOCS/DOXYGEN/images/PHY_arch.png -openair2/DOCS/DOXYGEN/images/PHY_arch.vsd -openair2/DOCS/DOXYGEN/images/QAM modulation.png -openair2/DOCS/DOXYGEN/images/QAM modulation.vsd -openair2/DOCS/DOXYGEN/images/QAMmodulation.png -openair2/DOCS/DOXYGEN/images/scrambler.png -openair2/DOCS/DOXYGEN/images/scrambler.vsd -openair2/DOCS/DOXYGEN/images/Transmission.pdf -openair2/DOCS/DOXYGEN/images/Transmission.png -openair2/DOCS/DOXYGEN/images/Transmission.ps -openair2/DOCS/DOXYGEN/images/w3g4f_framing.png -openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd -openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd -openair2/DOCS/DOXYGEN/Doxyfile -openair2/DOCS/TEMPLATES/CODE/images/arch.eps -openair2/DOCS/TEMPLATES/CODE/images/arch.png -openair2/DOCS/TEMPLATES/CODE/COPYING -openair2/DOCS/TEMPLATES/CODE/Doxyfile -openair2/DOCS/TEMPLATES/CODE/example_doxy.h -openair2/DOCS/TEMPLATES/README/Readme.doxy -openair2/DOCS/TEMPLATES/README/readme.txt -openair2/ENB_APP/enb_app.c -openair2/ENB_APP/enb_app.h -openair2/ENB_APP/enb_config.c -openair2/ENB_APP/enb_config.h -openair2/LAYER2/MAC/config.c -openair2/LAYER2/MAC/COPYING -openair2/LAYER2/MAC/defs.h -openair2/LAYER2/MAC/eNB_scheduler.c -openair2/LAYER2/MAC/eNB_scheduler_bch.c -openair2/LAYER2/MAC/eNB_scheduler_dlsch.c -openair2/LAYER2/MAC/eNB_scheduler_mch.c -openair2/LAYER2/MAC/eNB_scheduler_primitives.c -openair2/LAYER2/MAC/eNB_scheduler_RA.c -openair2/LAYER2/MAC/eNB_scheduler_ulsch.c -openair2/LAYER2/MAC/extern.h -openair2/LAYER2/MAC/l1_helpers.c -openair2/LAYER2/MAC/lte_transport_init.c -openair2/LAYER2/MAC/main.c -openair2/LAYER2/MAC/openair2_proc.c -openair2/LAYER2/MAC/pre_processor.c -openair2/LAYER2/MAC/proto.h -openair2/LAYER2/MAC/ra_procedures.c -openair2/LAYER2/MAC/rar_tools.c -openair2/LAYER2/MAC/ue_procedures.c -openair2/LAYER2/MAC/vars.h -openair2/LAYER2/PDCP_v10.1.0/COPYING -openair2/LAYER2/PDCP_v10.1.0/pdcp.c -openair2/LAYER2/PDCP_v10.1.0/pdcp.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h -openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c -openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h -openair2/LAYER2/RLC/AM_v9.3.0/COPYING -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c -openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h -openair2/LAYER2/RLC/TM_v9.3.0/COPYING -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h -openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h -openair2/LAYER2/RLC/UM_v9.3.0/COPYING -openair2/LAYER2/RLC/UM_v9.3.0/README -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c -openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h -openair2/LAYER2/RLC/COPYING -openair2/LAYER2/RLC/mac_primitives.h -openair2/LAYER2/RLC/rlc.c -openair2/LAYER2/RLC/rlc.h -openair2/LAYER2/RLC/rlc_def.h -openair2/LAYER2/RLC/rlc_def_lte.h -openair2/LAYER2/RLC/rlc_mac.c -openair2/LAYER2/RLC/rlc_mpls.c -openair2/LAYER2/RLC/rlc_primitives.h -openair2/LAYER2/RLC/rlc_rrc.c -openair2/LAYER2/COPYING -openair2/LAYER2/layer2_top.c -openair2/LAYER2/openair2_proc.c -openair2/LAYER2/register.c -openair2/LAYER2/register.h -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.c -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL/nascell_ioctl.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_ascontrol.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_classifier.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_common.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_constant.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_iocontrol.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_netlink.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_proto.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_sap.h -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_tool.c -openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_variables.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_ascontrol.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_classifier.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_common.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_constant.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_iocontrol.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_netlink.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_proto.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_sap.h -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_tool.c -openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_variables.h -openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest -openair2/NAS/DRIVER/CELLULAR/NETLTEST/netltest.c -openair2/NAS/DRIVER/CELLULAR/NETLTEST/nettestPDCP.c -openair2/NAS/DRIVER/CELLULAR/readme.txt -openair2/NAS/DRIVER/CELLULAR/start_mt_cellular -openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_noradvd -openair2/NAS/DRIVER/CELLULAR/start_rg_cellular_radvd -openair2/NAS/DRIVER/CELLULAR/stop_mt_cellular -openair2/NAS/DRIVER/CELLULAR/stop_rg_cellular -openair2/NAS/SIMU_CELLULAR/nas_simu_proto.h -openair2/NAS/SIMU_CELLULAR/nasrg_simu_meas.c -openair2/NAS/SIMU_CELLULAR/rrm_fifo_standalone.c -openair2/NAS/nas_ue_task.h -openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c -openair2/NETWORK_DRIVER/LITE/classifier.c -openair2/NETWORK_DRIVER/LITE/common.c -openair2/NETWORK_DRIVER/LITE/constant.h -openair2/NETWORK_DRIVER/LITE/COPYING -openair2/NETWORK_DRIVER/LITE/device.c -openair2/NETWORK_DRIVER/LITE/ioctl.c -openair2/NETWORK_DRIVER/LITE/ioctl.h -openair2/NETWORK_DRIVER/LITE/local.h -openair2/NETWORK_DRIVER/LITE/netlink.c -openair2/NETWORK_DRIVER/LITE/proto_extern.h -openair2/NETWORK_DRIVER/LITE/sap.h -openair2/NETWORK_DRIVER/LITE/tool.c -openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c -openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c -openair2/NETWORK_DRIVER/MESH/classifier.c -openair2/NETWORK_DRIVER/MESH/common.c -openair2/NETWORK_DRIVER/MESH/constant.h -openair2/NETWORK_DRIVER/MESH/COPYING -openair2/NETWORK_DRIVER/MESH/device.c -openair2/NETWORK_DRIVER/MESH/ioctl.c -openair2/NETWORK_DRIVER/MESH/ioctl.h -openair2/NETWORK_DRIVER/MESH/local.h -openair2/NETWORK_DRIVER/MESH/mesh.c -openair2/NETWORK_DRIVER/MESH/netlink.c -openair2/NETWORK_DRIVER/MESH/proto_extern.h -openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h -openair2/NETWORK_DRIVER/MESH/sap.h -openair2/NETWORK_DRIVER/MESH/tool.c -openair2/NETWORK_DRIVER/UE_IP/common.c -openair2/NETWORK_DRIVER/UE_IP/constant.h -openair2/NETWORK_DRIVER/UE_IP/COPYING -openair2/NETWORK_DRIVER/UE_IP/device.c -openair2/NETWORK_DRIVER/UE_IP/local.h -openair2/NETWORK_DRIVER/UE_IP/netlink.c -openair2/NETWORK_DRIVER/UE_IP/proto_extern.h -openair2/NETWORK_DRIVER/UE_IP/README -openair2/NETWORK_DRIVER/UE_IP/sap.h -openair2/PHY_INTERFACE/COPYING -openair2/PHY_INTERFACE/defs.h -openair2/PHY_INTERFACE/extern.h -openair2/PHY_INTERFACE/mac_phy_primitives.c -openair2/PHY_INTERFACE/mac_phy_primitives.h -openair2/PHY_INTERFACE/vars.h -openair2/RRC/L2_INTERFACE/COPYING -openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c -openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-860.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/36331-a20.txt -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn -openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl -openair2/RRC/LITE/MESSAGES/asn1_msg.c -openair2/RRC/LITE/MESSAGES/asn1_msg.h -openair2/RRC/LITE/MESSAGES/asn1_patch -openair2/RRC/LITE/MESSAGES/bsearch.c -openair2/RRC/LITE/MESSAGES/bsearch.h -openair2/RRC/LITE/MESSAGES/COPYING -openair2/RRC/LITE/MESSAGES/README.txt -openair2/RRC/LITE/MESSAGES/rtai_mem.c -openair2/RRC/LITE/MESSAGES/rtai_mem.h -openair2/RRC/LITE/COPYING -openair2/RRC/LITE/defs.h -openair2/RRC/LITE/extern.h -openair2/RRC/LITE/L2_interface.c -openair2/RRC/LITE/mesh_top.c -openair2/RRC/LITE/plmn_data.h -openair2/RRC/LITE/proto.h -openair2/RRC/LITE/rrc_2_rrm_msg.c -openair2/RRC/LITE/rrc_common.c -openair2/RRC/LITE/rrc_config.c -openair2/RRC/LITE/rrc_eNB.c -openair2/RRC/LITE/rrc_eNB_GTPV1U.c -openair2/RRC/LITE/rrc_eNB_GTPV1U.h -openair2/RRC/LITE/rrc_eNB_ral.c -openair2/RRC/LITE/rrc_eNB_ral.h -openair2/RRC/LITE/rrc_eNB_S1AP.c -openair2/RRC/LITE/rrc_eNB_S1AP.h -openair2/RRC/LITE/rrc_eNB_UE_context.c -openair2/RRC/LITE/rrc_eNB_UE_context.h -openair2/RRC/LITE/rrc_rrm_interface.c -openair2/RRC/LITE/rrc_rrm_interface.h -openair2/RRC/LITE/rrc_types.h -openair2/RRC/LITE/rrc_UE.c -openair2/RRC/LITE/rrc_UE_ral.c -openair2/RRC/LITE/rrc_UE_ral.h -openair2/RRC/LITE/rrm_2_rrc_msg.c -openair2/RRC/LITE/utils.c -openair2/RRC/LITE/vars.h -openair2/RRC/NAS/COPYING -openair2/RRC/NAS/nas_config.c -openair2/RRC/NAS/nas_config.h -openair2/RRC/NAS/rb_config.c -openair2/RRC/NAS/rb_config.h -openair2/RRM_4_RRC_LITE/src/com/asn1/rrc-rrm.asn -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerConfirm.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerConfirm.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerRequest.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddRadioAccessBearerRequest.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserConfirm.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserConfirm.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserRequest.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageAddUserRequest.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageConnectionRequest.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageConnectionRequest.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveRadioAccessBearerRequest.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveRadioAccessBearerRequest.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveUserRequest.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageRemoveUserRequest.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageUserReconfigurationComplete.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRC2RRMMessageUserReconfigurationComplete.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRCMessageHandler.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRCMessageHandler.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRCUdpSocket.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRCUdpSocket.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddRadioAccessBearerResponse.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddRadioAccessBearerResponse.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddUserResponse.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageAddUserResponse.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageConnectionResponse.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageConnectionResponse.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveRadioAccessBearerResponse.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveRadioAccessBearerResponse.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveUserResponse.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageRemoveUserResponse.h -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageUserReconfiguration.cpp -openair2/RRM_4_RRC_LITE/src/com/rrc/RRM2RRCMessageUserReconfiguration.h -openair2/RRM_4_RRC_LITE/src/com/rrm/RRMMessageHandler.cpp -openair2/RRM_4_RRC_LITE/src/com/rrm/RRMMessageHandler.h -openair2/RRM_4_RRC_LITE/src/com/rrm/RRMUdpSocket.cpp -openair2/RRM_4_RRC_LITE/src/com/rrm/RRMUdpSocket.h -openair2/RRM_4_RRC_LITE/src/com/Message.cpp -openair2/RRM_4_RRC_LITE/src/com/Message.h -openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/36331-860.txt -openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/EUTRA-InterNodeDefinitions.asn -openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/EUTRA-RRC-Definitions.asn -openair2/RRM_4_RRC_LITE/src/foreign/generated_c_asn1_rrc/ASN1_files/EUTRA-UE-Variables.asn -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libSockets.pc -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libSockets.pc.IN -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libsockets2.pc -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/pkgconfig/libsockets2.pc.IN -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/base64.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/chunked.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/copy.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/crlf.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/echoserver.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/events.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/http.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/http_post.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/httpd.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/httpd_test.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/https.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/json.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/listener.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/resolve.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/resume.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/retry.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/scanr.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/semtest.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/sloppy_http.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/sockets_test.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/stressclient.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/threadstress.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/tests/x.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ajp13.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ajp13Socket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ajp13Socket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/AjpBaseSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/AjpBaseSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Base64.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Base64.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Changelog -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Debug.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Debug.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Event.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Event.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventHandler.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventHandler.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventTime.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/EventTime.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Exception.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Exception.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/File.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/File.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/FileStream.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/FileStream.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/gpl.txt -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpBaseSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpBaseSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpClientSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpClientSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdCookies.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdCookies.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpDebugSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpDebugSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdForm.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdForm.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpdSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpGetSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpGetSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPostSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPostSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPutSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpPutSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpRequest.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpRequest.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpResponse.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpResponse.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HTTPSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HTTPSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpTransaction.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/HttpTransaction.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IBase.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IEventHandler.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IEventOwner.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IEventOwner.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IFile.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IFileUpload.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IHttpServer.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IMutex.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv4Address.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv4Address.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv6Address.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Ipv6Address.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ISocketHandler.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/IStream.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Json.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Json.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ListenSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Lock.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Lock.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/MemFile.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/MemFile.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/mkdot.sh -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Mutex.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Mutex.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/OSX.zip -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Parse.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Parse.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/README -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/README.macosx -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvServer.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvServer.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/ResolvSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SctpSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SctpSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Semaphore.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Semaphore.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SmtpdSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SmtpdSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Socket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Socket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/socket_include.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/socket_include.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketAddress.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandler.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandler.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerEp.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerEp.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerThread.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketHandlerThread.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Sockets-config -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Sockets-config.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/sockets-config.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketStream.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketStream.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketThread.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SocketThread.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SSLInitializer.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/SSLInitializer.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StdLog.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StdoutLog.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StdoutLog.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamWriter.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/StreamWriter.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/TcpSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/TcpSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Thread.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Thread.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/UdpSocket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/UdpSocket.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Utility.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/Utility.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlDocument.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlDocument.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlException.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlException.h -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlNode.cpp -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4/XmlNode.h -openair2/RRM_4_RRC_LITE/src/foreign/sql/sqlite3.c -openair2/RRM_4_RRC_LITE/src/foreign/sql/sqlite3.h -openair2/RRM_4_RRC_LITE/src/foreign/tcpip/socket.cpp -openair2/RRM_4_RRC_LITE/src/foreign/tcpip/socket.h -openair2/RRM_4_RRC_LITE/src/foreign/tcpip/socketUnitTests.cpp -openair2/RRM_4_RRC_LITE/src/foreign/tcpip/storage.cpp -openair2/RRM_4_RRC_LITE/src/foreign/tcpip/storage.h -openair2/RRM_4_RRC_LITE/src/foreign/tcpip/tcpipUnitTests.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.h -openair2/RRM_4_RRC_LITE/src/radio_resources/Command.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/Command.h -openair2/RRM_4_RRC_LITE/src/radio_resources/COPYING -openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.h -openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.h -openair2/RRM_4_RRC_LITE/src/radio_resources/Exceptions.h -openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.h -openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.h -openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.h -openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.h -openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.h -openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.h -openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.cpp -openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.h -openair2/RRM_4_RRC_LITE/src/test/test.cpp -openair2/RRM_4_RRC_LITE/src/test/TestScenario.cpp -openair2/RRM_4_RRC_LITE/src/test/TestScenario.h -openair2/RRM_4_RRC_LITE/src/COPYING -openair2/RRM_4_RRC_LITE/src/platform.h -openair2/RRM_4_RRC_LITE/src/platform_constants.h -openair2/RRM_4_RRC_LITE/src/platform_defines.h -openair2/RRM_4_RRC_LITE/src/platform_dim.h -openair2/RRM_4_RRC_LITE/src/rrm.cpp -openair2/RRM_4_RRC_LITE/src/version.h -openair2/RRM_4_RRC_LITE/ChangeLog -openair2/RRM_4_RRC_LITE/configure.ac -openair2/RRM_4_RRC_LITE/COPYING -openair2/RRM_4_RRC_LITE/NEWS -openair2/RRM_4_RRC_LITE/README -openair2/UTIL/AT_COMMANDS/COPYING -openair2/UTIL/AT_COMMANDS/parser.c -openair2/UTIL/AT_COMMANDS/parser.h -openair2/UTIL/BIGPHYS/bigphys.c -openair2/UTIL/BIGPHYS/COPYING -openair2/UTIL/BIGPHYS/defs.h -openair2/UTIL/CLI/cli.c -openair2/UTIL/CLI/cli.h -openair2/UTIL/CLI/cli_cmd.c -openair2/UTIL/CLI/cli_if.h -openair2/UTIL/CLI/cli_server.c -openair2/UTIL/CLI/COPYING -openair2/UTIL/FIFO/COPYING -openair2/UTIL/FIFO/pad_list.c -openair2/UTIL/FIFO/pad_list.h -openair2/UTIL/FIFO/types.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c -openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c -openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt -openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln -openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj -openair2/UTIL/LISTS/COPYING -openair2/UTIL/LISTS/list.c -openair2/UTIL/LISTS/list.h -openair2/UTIL/LISTS/list2.c -openair2/UTIL/LOG/COPYING -openair2/UTIL/LOG/log.c -openair2/UTIL/LOG/log.h -openair2/UTIL/LOG/log_extern.h -openair2/UTIL/LOG/log_if.h -openair2/UTIL/LOG/README.txt -openair2/UTIL/LOG/vcd_signal_dumper.c -openair2/UTIL/LOG/vcd_signal_dumper.h -openair2/UTIL/MATH/COPYING -openair2/UTIL/MATH/crc_byte.c -openair2/UTIL/MATH/oml.c -openair2/UTIL/MATH/oml.h -openair2/UTIL/MATH/random.c -openair2/UTIL/MATH/random_proto_extern.h -openair2/UTIL/MATH/taus.c -openair2/UTIL/MEM/COPYING -openair2/UTIL/MEM/mem_block.c -openair2/UTIL/MEM/mem_block.h -openair2/UTIL/MEM/mem_mngt.c -openair2/UTIL/MEM/mem_mngt_proto_extern.h -openair2/UTIL/MEM/mem_pool.h -openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml -openair2/UTIL/OCG/temp_output/OCG_report.xml -openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml -openair2/UTIL/OCG/COPYING -openair2/UTIL/OCG/Doxyfile -openair2/UTIL/OCG/eurecom_20110208110244.xml -openair2/UTIL/OCG/OCG.c -openair2/UTIL/OCG/OCG.h -openair2/UTIL/OCG/OCG_call_emu.c -openair2/UTIL/OCG/OCG_call_emu.h -openair2/UTIL/OCG/OCG_config_mobi.c -openair2/UTIL/OCG/OCG_config_mobi.h -openair2/UTIL/OCG/OCG_create_dir.c -openair2/UTIL/OCG/OCG_create_dir.h -openair2/UTIL/OCG/OCG_detect_file.c -openair2/UTIL/OCG/OCG_detect_file.h -openair2/UTIL/OCG/OCG_extern.h -openair2/UTIL/OCG/OCG_generate_report.c -openair2/UTIL/OCG/OCG_generate_report.h -openair2/UTIL/OCG/OCG_get_opt.c -openair2/UTIL/OCG/OCG_get_opt.h -openair2/UTIL/OCG/OCG_if.h -openair2/UTIL/OCG/OCG_parse_filename.c -openair2/UTIL/OCG/OCG_parse_filename.h -openair2/UTIL/OCG/OCG_parse_XML.c -openair2/UTIL/OCG/OCG_parse_XML.h -openair2/UTIL/OCG/OCG_save_XML.c -openair2/UTIL/OCG/OCG_save_XML.h -openair2/UTIL/OCG/OCG_vars.h -openair2/UTIL/OCG/Readme.doxy -openair2/UTIL/OCG/readme.txt -openair2/UTIL/OMG/SUMO/SCENARIOS/scen.sumo.cfg -openair2/UTIL/OMG/SUMO/SCENARIOS/sumo_commands.txt -openair2/UTIL/OMG/SUMO/SCENARIOS/traci.scen.sumo.cfg -openair2/UTIL/OMG/SUMO/SCENARIOS/traci_ex_Map.net.xml -openair2/UTIL/OMG/SUMO/SCENARIOS/traci_ex_ROU.rou.xml -openair2/UTIL/OMG/SUMO/README.TXT -openair2/UTIL/OMG/TRACE/example_trace.tr -openair2/UTIL/OMG/TRACE/handover.tr -openair2/UTIL/OMG/TRACE/handover_1ue.tr -openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr -openair2/UTIL/OMG/TRACE/mobility_2ues.tr -openair2/UTIL/OMG/TRACE/mobility_3ues.tr -openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf -openair2/UTIL/OMG/TRACE/README.TXT -openair2/UTIL/OMG/TRACE/regular.tr -openair2/UTIL/OMG/TRACE/static_1enb.tr -openair2/UTIL/OMG/TRACE/static_2ues.tr -openair2/UTIL/OMG/TRACE/zero_speed.tr -openair2/UTIL/OMG/client_traci_OMG.c -openair2/UTIL/OMG/client_traci_OMG.h -openair2/UTIL/OMG/common.c -openair2/UTIL/OMG/COPYING -openair2/UTIL/OMG/defs.h -openair2/UTIL/OMG/grid.c -openair2/UTIL/OMG/grid.h -openair2/UTIL/OMG/id_manager.c -openair2/UTIL/OMG/id_manager.h -openair2/UTIL/OMG/job.c -openair2/UTIL/OMG/mobility.txt -openair2/UTIL/OMG/mobility_parser.c -openair2/UTIL/OMG/mobility_parser.h -openair2/UTIL/OMG/omg.c -openair2/UTIL/OMG/omg.h -openair2/UTIL/OMG/omg_constants.h -openair2/UTIL/OMG/omg_hashtable.c -openair2/UTIL/OMG/omg_hashtable.h -openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf -openair2/UTIL/OMG/omg_vars.h -openair2/UTIL/OMG/README.TXT -openair2/UTIL/OMG/rwalk.c -openair2/UTIL/OMG/rwalk.h -openair2/UTIL/OMG/rwp.c -openair2/UTIL/OMG/rwp.h -openair2/UTIL/OMG/socket_traci_OMG.c -openair2/UTIL/OMG/socket_traci_OMG.h -openair2/UTIL/OMG/static.c -openair2/UTIL/OMG/static.h -openair2/UTIL/OMG/steadystaterwp.c -openair2/UTIL/OMG/steadystaterwp.h -openair2/UTIL/OMG/storage_traci_OMG.c -openair2/UTIL/OMG/storage_traci_OMG.h -openair2/UTIL/OMG/sumo.c -openair2/UTIL/OMG/sumo.h -openair2/UTIL/OMG/trace.c -openair2/UTIL/OMG/trace.h -openair2/UTIL/OMG/trace_hashtable.c -openair2/UTIL/OMG/trace_hashtable.h -openair2/UTIL/OMG/TraCIConstants.h -openair2/UTIL/OMV/blue.png -openair2/UTIL/OMV/communicationthread.cpp -openair2/UTIL/OMV/communicationthread.h -openair2/UTIL/OMV/COPYING -openair2/UTIL/OMV/green.png -openair2/UTIL/OMV/jpg.jpeg -openair2/UTIL/OMV/mus.png -openair2/UTIL/OMV/mywindow.cpp -openair2/UTIL/OMV/mywindow.h -openair2/UTIL/OMV/new.jpg -openair2/UTIL/OMV/new2.jpg -openair2/UTIL/OMV/omv.cpp -openair2/UTIL/OMV/openglwidget.cpp -openair2/UTIL/OMV/openglwidget.h -openair2/UTIL/OMV/README.txt -openair2/UTIL/OMV/red.png -openair2/UTIL/OMV/structures.h -openair2/UTIL/OMV/white.png -openair2/UTIL/OMV/wow.png -openair2/UTIL/OPT/COPYING -openair2/UTIL/OPT/mac_pcap.h -openair2/UTIL/OPT/opt.h -openair2/UTIL/OPT/packet-mac-lte.c -openair2/UTIL/OPT/packet-mac-lte.h -openair2/UTIL/OPT/packet-rlc-lte.h -openair2/UTIL/OPT/probe.c -openair2/UTIL/OPT/README.txt -openair2/UTIL/OPT/socket_sender.c -openair2/UTIL/OPT/vars.h -openair2/UTIL/OSA/COPYING -openair2/UTIL/OSA/osa_defs.h -openair2/UTIL/OSA/osa_internal.h -openair2/UTIL/OSA/osa_key_deriver.c -openair2/UTIL/OSA/osa_rijndael.c -openair2/UTIL/OSA/osa_rijndael.h -openair2/UTIL/OSA/osa_snow3g.c -openair2/UTIL/OSA/osa_snow3g.h -openair2/UTIL/OSA/osa_stream_eea.c -openair2/UTIL/OSA/osa_stream_eia.c -openair2/UTIL/OSA/README -openair2/UTIL/OSD/css/images/false.png -openair2/UTIL/OSD/css/images/false2.png -openair2/UTIL/OSD/css/images/lquote.png -openair2/UTIL/OSD/css/images/true.png -openair2/UTIL/OSD/css/images/warning.png -openair2/UTIL/OSD/css/blueprint.css -openair2/UTIL/OSD/css/fix-ie-rtl.css -openair2/UTIL/OSD/css/fix-ie.css -openair2/UTIL/OSD/css/ie.css -openair2/UTIL/OSD/css/ie6.css -openair2/UTIL/OSD/css/print.css -openair2/UTIL/OSD/css/screen.css -openair2/UTIL/OSD/css/style.css -openair2/UTIL/OSD/jquery/jquery.js -openair2/UTIL/OSD/COPYING -openair2/UTIL/OSD/fake_oaisim -openair2/UTIL/OSD/form.php -openair2/UTIL/OSD/header.php -openair2/UTIL/OSD/httpd-result.conf -openair2/UTIL/OSD/index.php -openair2/UTIL/OSD/OCG.pid -openair2/UTIL/OSD/OpenAirEmu.conf -openair2/UTIL/OSD/Platform_is_running.php -openair2/UTIL/OSD/README.txt -openair2/UTIL/OSD/recep.php -openair2/UTIL/OSD/toto.php -openair2/UTIL/OTG/COPYING -openair2/UTIL/OTG/Doxyfile -openair2/UTIL/OTG/help_OTGplot.txt -openair2/UTIL/OTG/main.c -openair2/UTIL/OTG/otg.c -openair2/UTIL/OTG/otg.h -openair2/UTIL/OTG/otg_config.h -openair2/UTIL/OTG/otg_defs.h -openair2/UTIL/OTG/otg_externs.h -openair2/UTIL/OTG/otg_form.c -openair2/UTIL/OTG/otg_form.h -openair2/UTIL/OTG/otg_kpi.c -openair2/UTIL/OTG/otg_kpi.h -openair2/UTIL/OTG/otg_models.c -openair2/UTIL/OTG/otg_models.h -openair2/UTIL/OTG/otg_rx.c -openair2/UTIL/OTG/otg_rx.h -openair2/UTIL/OTG/otg_rx_socket.c -openair2/UTIL/OTG/otg_rx_socket.h -openair2/UTIL/OTG/otg_tx.c -openair2/UTIL/OTG/otg_tx.h -openair2/UTIL/OTG/otg_tx_socket.c -openair2/UTIL/OTG/otg_tx_socket.h -openair2/UTIL/OTG/otg_vars.h -openair2/UTIL/OTG/OTGplot -openair2/UTIL/OTG/traffic_config.h -openair2/UTIL/SCTP/COPYING -openair2/UTIL/TIMER/COPYING -openair2/UTIL/TIMER/umts_timer.c -openair2/UTIL/TIMER/umts_timer.h -openair2/UTIL/TIMER/umts_timer_proto_extern.h -openair2/UTIL/TIMER/umts_timer_struct.h -openair2/UTIL/TRACE/COPYING -openair2/UTIL/TRACE/fifo_printf.c -openair2/UTIL/TRACE/fifo_printf.h -openair2/UTIL/TRACE/fifo_printf_proto_extern.h -openair2/UTIL/TRACE/print.h -openair2/UTIL/queue.h -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-CommonDataTypes.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Constants.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-Containers.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-IEs.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Contents.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Definitions.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU-Descriptions.asn -openair2/X2AP/MESSAGES/ASN1/R.UNKNOWN/X2AP-PDU.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-CommonDataTypes.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Constants.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-Containers.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-IEs.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Contents.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU-Descriptions.asn -openair2/X2AP/MESSAGES/ASN1/R11.2/X2AP-PDU.asn -openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py -openair2/X2AP/COPYING -openair2/X2AP/x2ap.c -openair2/X2AP/x2ap.h -openair2/X2AP/x2ap_common.c -openair2/X2AP/x2ap_common.h -openair3/DOCS/DOXYGEN/Doxyfile -openair3/DOCS/TEMPLATES/CODE/images/arch.eps -openair3/DOCS/TEMPLATES/CODE/images/arch.png -openair3/DOCS/TEMPLATES/CODE/COPYING -openair3/DOCS/TEMPLATES/CODE/Doxyfile -openair3/DOCS/TEMPLATES/CODE/example_doxy.h -openair3/DOCS/TEMPLATES/README/Readme.doxy -openair3/DOCS/TEMPLATES/README/readme.txt -openair3/DOCS/COPYING -openair3/MESH/RRM/DOC/Doxyfile_rrm -openair3/MESH/RRM/EMUL/actdiff.c -openair3/MESH/RRM/EMUL/actdiff.h -openair3/MESH/RRM/EMUL/emul_interface.c -openair3/MESH/RRM/EMUL/emul_interface.h -openair3/MESH/RRM/EMUL/scenario.c -openair3/MESH/RRM/GRAPH/graph -openair3/MESH/RRM/GRAPH/graph_enum.h -openair3/MESH/RRM/GRAPH/graph_int.c -openair3/MESH/RRM/GRAPH/graph_int.h -openair3/MESH/RRM/GRAPH/graph_sock.c -openair3/MESH/RRM/GRAPH/graph_sock.h -openair3/MESH/RRM/VCD/Config_wave.xxx -openair3/MESH/RRM/VCD/gtkwave.ini -openair3/MESH/RRM/VCD/mkvcd -openair3/MESH/RRM/all_freq_to_users_form.c -openair3/MESH/RRM/all_freq_to_users_form.fd -openair3/MESH/RRM/all_freq_to_users_form.h -openair3/MESH/RRM/ch_init.c -openair3/MESH/RRM/ch_init.h -openair3/MESH/RRM/channels_db.c -openair3/MESH/RRM/channels_db.h -openair3/MESH/RRM/cmm_msg.c -openair3/MESH/RRM/cmm_msg.h -openair3/MESH/RRM/debug.h -openair3/MESH/RRM/freq_ass_op.c -openair3/MESH/RRM/freq_ass_op.h -openair3/MESH/RRM/ip_msg.c -openair3/MESH/RRM/ip_msg.h -openair3/MESH/RRM/mr_attach.c -openair3/MESH/RRM/mr_attach.h -openair3/MESH/RRM/msg_mngt.c -openair3/MESH/RRM/msg_mngt.h -openair3/MESH/RRM/neighbor_db.c -openair3/MESH/RRM/neighbor_db.h -openair3/MESH/RRM/pusu_msg.c -openair3/MESH/RRM/pusu_msg.h -openair3/MESH/RRM/rb_db.c -openair3/MESH/RRM/rb_db.h -openair3/MESH/RRM/rb_mngt.c -openair3/MESH/RRM/rb_mngt.h -openair3/MESH/RRM/rrc_2_rrm_msg.c -openair3/MESH/RRM/rrc_rrm_msg.h -openair3/MESH/RRM/rrm.c -openair3/MESH/RRM/rrm.cfg -openair3/MESH/RRM/rrm.h -openair3/MESH/RRM/rrm.sh -openair3/MESH/RRM/rrm_2_rrc_msg.c -openair3/MESH/RRM/rrm_2_sensing_msg.c -openair3/MESH/RRM/rrm_5nodes.sh -openair3/MESH/RRM/rrm_constant.c -openair3/MESH/RRM/rrm_constant.h -openair3/MESH/RRM/rrm_graph.c -openair3/MESH/RRM/rrm_SENS.sh -openair3/MESH/RRM/rrm_sock.c -openair3/MESH/RRM/rrm_sock.h -openair3/MESH/RRM/rrm_SS2_CH1.sh -openair3/MESH/RRM/rrm_SS2_global.sh -openair3/MESH/RRM/rrm_test.sh -openair3/MESH/RRM/rrm_util.c -openair3/MESH/RRM/rrm_util.h -openair3/MESH/RRM/sens_CH1_scen_2.c -openair3/MESH/RRM/sens_CH1_scen_2.fd -openair3/MESH/RRM/sens_CH1_scen_2.h -openair3/MESH/RRM/sens_db.c -openair3/MESH/RRM/sens_db.h -openair3/MESH/RRM/sens_op.c -openair3/MESH/RRM/sens_op.h -openair3/MESH/RRM/sens_scen_2_form.c -openair3/MESH/RRM/sens_scen_2_form.fd -openair3/MESH/RRM/sens_scen_2_form.h -openair3/MESH/RRM/sens_sensor.c -openair3/MESH/RRM/sens_sensor.fd -openair3/MESH/RRM/sens_sensor.h -openair3/MESH/RRM/sensing_2_rrm_msg.c -openair3/MESH/RRM/sensing_form.c -openair3/MESH/RRM/sensing_form.fd -openair3/MESH/RRM/sensing_form.h -openair3/MESH/RRM/sensing_rrm_msg.h -openair3/MESH/RRM/SN_freq_form.c -openair3/MESH/RRM/SN_freq_form.fd -openair3/MESH/RRM/SN_freq_form.h -openair3/MESH/RRM/transact.c -openair3/MESH/RRM/transact.h -openair3/MESH/cmm_ral_interface.h -openair3/MESH/cmm_rrm_interface.h -openair3/MESH/COPYING -openair3/MESH/L3_rrc_defs.h -openair3/MESH/L3_rrc_interface.h -openair3/NEMO_SHO/COPYING -openair3/NEMO_SHO/mipv6-daemon-umip-0.4-nasmesh-2009-may-12.patch -openair3/NEMO_SHO/mipv6-daemon-umip-0.4-nepl-20080108.patch -openair3/NEMO_SHO/mipv6-daemon-umip-0.4-nepl-mcoa-20080108.patch -openair3/NEMO_SHO/mipv6-daemon-umip-0.4-sho-20080331.patch -openair3/NEMO_SHO/mipv6-daemon-umip-0.4.tar.gz -openair3/NEMO_SHO/README -openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/output.0 -openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/output.1 -openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/requests -openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/traces.0 -openair3/PMIPv6/freeradius-client-1.1.6/autom4te.cache/traces.1 -openair3/PMIPv6/freeradius-client-1.1.6/debian/changelog -openair3/PMIPv6/freeradius-client-1.1.6/debian/conffiles -openair3/PMIPv6/freeradius-client-1.1.6/debian/control -openair3/PMIPv6/freeradius-client-1.1.6/debian/copyright -openair3/PMIPv6/freeradius-client-1.1.6/debian/dirs -openair3/PMIPv6/freeradius-client-1.1.6/debian/docs -openair3/PMIPv6/freeradius-client-1.1.6/debian/examples -openair3/PMIPv6/freeradius-client-1.1.6/debian/files -openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng-dev.dirs -openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.conffiles -openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.dirs -openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.postinst -openair3/PMIPv6/freeradius-client-1.1.6/debian/libradius-ng.substvars -openair3/PMIPv6/freeradius-client-1.1.6/debian/postrm -openair3/PMIPv6/freeradius-client-1.1.6/debian/radiusclient-ng.dirs -openair3/PMIPv6/freeradius-client-1.1.6/debian/radiusclient-ng.postinst -openair3/PMIPv6/freeradius-client-1.1.6/debian/README.debian -openair3/PMIPv6/freeradius-client-1.1.6/debian/rules -openair3/PMIPv6/freeradius-client-1.1.6/debian/substvars -openair3/PMIPv6/freeradius-client-1.1.6/debian/watch -openair3/PMIPv6/freeradius-client-1.1.6/doc/ChangeLog -openair3/PMIPv6/freeradius-client-1.1.6/doc/instop.html -openair3/PMIPv6/freeradius-client-1.1.6/doc/login.example -openair3/PMIPv6/freeradius-client-1.1.6/doc/README -openair3/PMIPv6/freeradius-client-1.1.6/doc/release-method.txt -openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary -openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.ascend -openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.compat -openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.merit -openair3/PMIPv6/freeradius-client-1.1.6/etc/dictionary.sip -openair3/PMIPv6/freeradius-client-1.1.6/etc/issue -openair3/PMIPv6/freeradius-client-1.1.6/etc/port-id-map -openair3/PMIPv6/freeradius-client-1.1.6/etc/radiusclient.conf -openair3/PMIPv6/freeradius-client-1.1.6/etc/radiusclient.conf.in -openair3/PMIPv6/freeradius-client-1.1.6/etc/servers -openair3/PMIPv6/freeradius-client-1.1.6/examples/clients.conf -openair3/PMIPv6/freeradius-client-1.1.6/examples/radiusd.conf -openair3/PMIPv6/freeradius-client-1.1.6/examples/users -openair3/PMIPv6/freeradius-client-1.1.6/include/freeradius-client.h -openair3/PMIPv6/freeradius-client-1.1.6/include/includes.h -openair3/PMIPv6/freeradius-client-1.1.6/include/messages.h -openair3/PMIPv6/freeradius-client-1.1.6/include/pathnames.h -openair3/PMIPv6/freeradius-client-1.1.6/lib/avpair.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/buildreq.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/clientid.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/config.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/dict.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/env.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/ip_util.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/lock.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/log.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/md5.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/md5.h -openair3/PMIPv6/freeradius-client-1.1.6/lib/options.h -openair3/PMIPv6/freeradius-client-1.1.6/lib/sendserver.c -openair3/PMIPv6/freeradius-client-1.1.6/lib/util.c -openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/ip-down -openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/ip-up -openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/login.radius -openair3/PMIPv6/freeradius-client-1.1.6/login.radius/migs/README -openair3/PMIPv6/freeradius-client-1.1.6/login.radius/login.radius -openair3/PMIPv6/freeradius-client-1.1.6/login.radius/README -openair3/PMIPv6/freeradius-client-1.1.6/patches/merit-2.4.21-CHAP.diff -openair3/PMIPv6/freeradius-client-1.1.6/patches/radiusd-1.16.accounting.diff -openair3/PMIPv6/freeradius-client-1.1.6/patches/radiusd-1.16.shadow.diff -openair3/PMIPv6/freeradius-client-1.1.6/patches/README -openair3/PMIPv6/freeradius-client-1.1.6/rpm/radiusclient.spec -openair3/PMIPv6/freeradius-client-1.1.6/src/local.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radacct -openair3/PMIPv6/freeradius-client-1.1.6/src/radacct.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radembedded -openair3/PMIPv6/freeradius-client-1.1.6/src/radembedded.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radexample -openair3/PMIPv6/freeradius-client-1.1.6/src/radexample.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radius.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radiusclient -openair3/PMIPv6/freeradius-client-1.1.6/src/radiusclient.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radlogin -openair3/PMIPv6/freeradius-client-1.1.6/src/radlogin.c -openair3/PMIPv6/freeradius-client-1.1.6/src/radlogin.h -openair3/PMIPv6/freeradius-client-1.1.6/src/radstatus -openair3/PMIPv6/freeradius-client-1.1.6/src/radstatus.c -openair3/PMIPv6/freeradius-client-1.1.6/aclocal.m4 -openair3/PMIPv6/freeradius-client-1.1.6/BUGS -openair3/PMIPv6/freeradius-client-1.1.6/config.guess -openair3/PMIPv6/freeradius-client-1.1.6/config.h -openair3/PMIPv6/freeradius-client-1.1.6/config.h.in -openair3/PMIPv6/freeradius-client-1.1.6/config.log -openair3/PMIPv6/freeradius-client-1.1.6/config.status -openair3/PMIPv6/freeradius-client-1.1.6/config.sub -openair3/PMIPv6/freeradius-client-1.1.6/configure -openair3/PMIPv6/freeradius-client-1.1.6/configure.in -openair3/PMIPv6/freeradius-client-1.1.6/COPYRIGHT -openair3/PMIPv6/freeradius-client-1.1.6/depcomp -openair3/PMIPv6/freeradius-client-1.1.6/install-sh -openair3/PMIPv6/freeradius-client-1.1.6/libtool -openair3/PMIPv6/freeradius-client-1.1.6/ltmain.sh -openair3/PMIPv6/freeradius-client-1.1.6/missing -openair3/PMIPv6/freeradius-client-1.1.6/mkinstalldirs -openair3/PMIPv6/freeradius-client-1.1.6/README -openair3/PMIPv6/freeradius-client-1.1.6/README.radexample -openair3/PMIPv6/freeradius-client-1.1.6/stamp-h -openair3/PMIPv6/freeradius-client-1.1.6/stamp-h1 -openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pcap2msc -openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pcap2msc_check.py -openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pcap2msc_filter.py -openair3/PMIPv6/pmipv6-daemon-umip/extras/output-process/pmip_mscgen.sh -openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/lma_guest_setup.bash -openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/lma_vm_setup.bash -openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mag_guest_setup.bash -openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mag_vm_setup.bash -openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mn_guest_setup.bash -openair3/PMIPv6/pmipv6-daemon-umip/extras/VIRTUAL_BOX/mn_vm_setup.bash -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-cn.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-ha-lma.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-ha.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-lma.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-mag1.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-mag2.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-mn.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-nemo-ha.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/example-nemo-mn.conf -openair3/PMIPv6/pmipv6-daemon-umip/extras/mac-mapping.auth -openair3/PMIPv6/pmipv6-daemon-umip/extras/PMIPv6_schema_example_1LMA_2MRs.jpg -openair3/PMIPv6/pmipv6-daemon-umip/extras/UMIP0.4_ALL_UBUNTU_GEN_SEQ_DIAGRAM.10.04.sh -openair3/PMIPv6/pmipv6-daemon-umip/extras/UMIP0.4_LMA_UBUNTU.10.04.py -openair3/PMIPv6/pmipv6-daemon-umip/extras/UMIP0.4_MAG_UBUNTU.10.04.py -openair3/PMIPv6/pmipv6-daemon-umip/include/linux/xfrm.h -openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/icmp6.h -openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/in.h -openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/ip6.h -openair3/PMIPv6/pmipv6-daemon-umip/include/netinet/ip6mh.h -openair3/PMIPv6/pmipv6-daemon-umip/include/libnetlink.h -openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_opt_find.c -openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_add.c -openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_getaddr.c -openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_gettype.c -openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_init.c -openair3/PMIPv6/pmipv6-daemon-umip/libmissing/inet6_rth_space.c -openair3/PMIPv6/pmipv6-daemon-umip/libnetlink/libnetlink.c -openair3/PMIPv6/pmipv6-daemon-umip/libnetlink/README -openair3/PMIPv6/pmipv6-daemon-umip/licenses/cisco-ipr-draft-ietf-nemo-basic-support-03.txt -openair3/PMIPv6/pmipv6-daemon-umip/licenses/nokia-ipr-draft-ietf-nemo-basic-support.txt -openair3/PMIPv6/pmipv6-daemon-umip/man/mip6d.conf.tmpl -openair3/PMIPv6/pmipv6-daemon-umip/man/mip6d.tmpl -openair3/PMIPv6/pmipv6-daemon-umip/man/mipv6.tmpl -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/docs/Doxyfile -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/docs/footer.html -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_cache.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_cache.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_consts.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_fsm.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_fsm.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_handler.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_handler.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_hnp_cache.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_hnp_cache.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_init.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_init.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_lma_proc.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_lma_proc.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_mag_proc.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_mag_proc.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_msgs.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_msgs.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_pcap.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_pcap.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_tunnel.c -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_tunnel.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip/pmip_types.h -openair3/PMIPv6/pmipv6-daemon-umip/src/bcache.c -openair3/PMIPv6/pmipv6-daemon-umip/src/bcache.h -openair3/PMIPv6/pmipv6-daemon-umip/src/bul.c -openair3/PMIPv6/pmipv6-daemon-umip/src/bul.h -openair3/PMIPv6/pmipv6-daemon-umip/src/cn.c -openair3/PMIPv6/pmipv6-daemon-umip/src/cn.h -openair3/PMIPv6/pmipv6-daemon-umip/src/conf.c -openair3/PMIPv6/pmipv6-daemon-umip/src/conf.h -openair3/PMIPv6/pmipv6-daemon-umip/src/crypto.c -openair3/PMIPv6/pmipv6-daemon-umip/src/crypto.h -openair3/PMIPv6/pmipv6-daemon-umip/src/debug.c -openair3/PMIPv6/pmipv6-daemon-umip/src/debug.h -openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_ha.c -openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_ha.h -openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_mn.c -openair3/PMIPv6/pmipv6-daemon-umip/src/dhaad_mn.h -openair3/PMIPv6/pmipv6-daemon-umip/src/gram.y -openair3/PMIPv6/pmipv6-daemon-umip/src/ha.c -openair3/PMIPv6/pmipv6-daemon-umip/src/ha.h -openair3/PMIPv6/pmipv6-daemon-umip/src/hash.c -openair3/PMIPv6/pmipv6-daemon-umip/src/hash.h -openair3/PMIPv6/pmipv6-daemon-umip/src/icmp6.c -openair3/PMIPv6/pmipv6-daemon-umip/src/icmp6.h -openair3/PMIPv6/pmipv6-daemon-umip/src/ipsec.c -openair3/PMIPv6/pmipv6-daemon-umip/src/ipsec.h -openair3/PMIPv6/pmipv6-daemon-umip/src/keygen.c -openair3/PMIPv6/pmipv6-daemon-umip/src/keygen.h -openair3/PMIPv6/pmipv6-daemon-umip/src/list.h -openair3/PMIPv6/pmipv6-daemon-umip/src/main.c -openair3/PMIPv6/pmipv6-daemon-umip/src/mh.c -openair3/PMIPv6/pmipv6-daemon-umip/src/mh.h -openair3/PMIPv6/pmipv6-daemon-umip/src/mipv6.h -openair3/PMIPv6/pmipv6-daemon-umip/src/mk-pmgr_c.sh -openair3/PMIPv6/pmipv6-daemon-umip/src/mk-pmgr_h.sh -openair3/PMIPv6/pmipv6-daemon-umip/src/mn.c -openair3/PMIPv6/pmipv6-daemon-umip/src/mn.h -openair3/PMIPv6/pmipv6-daemon-umip/src/movement.c -openair3/PMIPv6/pmipv6-daemon-umip/src/movement.h -openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_ha.c -openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_ha.h -openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_mn.c -openair3/PMIPv6/pmipv6-daemon-umip/src/mpdisc_mn.h -openair3/PMIPv6/pmipv6-daemon-umip/src/ndisc.c -openair3/PMIPv6/pmipv6-daemon-umip/src/ndisc.h -openair3/PMIPv6/pmipv6-daemon-umip/src/pmgr.c.in -openair3/PMIPv6/pmipv6-daemon-umip/src/pmgr.h.in -openair3/PMIPv6/pmipv6-daemon-umip/src/policy.c -openair3/PMIPv6/pmipv6-daemon-umip/src/policy.h -openair3/PMIPv6/pmipv6-daemon-umip/src/prefix.c -openair3/PMIPv6/pmipv6-daemon-umip/src/prefix.h -openair3/PMIPv6/pmipv6-daemon-umip/src/proc_sys.c -openair3/PMIPv6/pmipv6-daemon-umip/src/proc_sys.h -openair3/PMIPv6/pmipv6-daemon-umip/src/retrout.c -openair3/PMIPv6/pmipv6-daemon-umip/src/retrout.h -openair3/PMIPv6/pmipv6-daemon-umip/src/rtnl.c -openair3/PMIPv6/pmipv6-daemon-umip/src/rtnl.h -openair3/PMIPv6/pmipv6-daemon-umip/src/scan.l -openair3/PMIPv6/pmipv6-daemon-umip/src/statistics.h -openair3/PMIPv6/pmipv6-daemon-umip/src/tqueue.c -openair3/PMIPv6/pmipv6-daemon-umip/src/tqueue.h -openair3/PMIPv6/pmipv6-daemon-umip/src/tunnelctl.c -openair3/PMIPv6/pmipv6-daemon-umip/src/tunnelctl.h -openair3/PMIPv6/pmipv6-daemon-umip/src/util.c -openair3/PMIPv6/pmipv6-daemon-umip/src/util.h -openair3/PMIPv6/pmipv6-daemon-umip/src/vars.c -openair3/PMIPv6/pmipv6-daemon-umip/src/vt.c -openair3/PMIPv6/pmipv6-daemon-umip/src/vt.h -openair3/PMIPv6/pmipv6-daemon-umip/src/xfrm.c -openair3/PMIPv6/pmipv6-daemon-umip/src/xfrm.h -openair3/PMIPv6/pmipv6-daemon-umip/AUTHORS -openair3/PMIPv6/pmipv6-daemon-umip/BUGS -openair3/PMIPv6/pmipv6-daemon-umip/ChangeLog -openair3/PMIPv6/pmipv6-daemon-umip/chkconf_kernel.sh -openair3/PMIPv6/pmipv6-daemon-umip/configure.ac -openair3/PMIPv6/pmipv6-daemon-umip/COPYING -openair3/PMIPv6/pmipv6-daemon-umip/COPYING.NEMO -openair3/PMIPv6/pmipv6-daemon-umip/depcomp -openair3/PMIPv6/pmipv6-daemon-umip/INSTALL -openair3/PMIPv6/pmipv6-daemon-umip/install-sh -openair3/PMIPv6/pmipv6-daemon-umip/INSTALL.kernel -openair3/PMIPv6/pmipv6-daemon-umip/missing -openair3/PMIPv6/pmipv6-daemon-umip/NEWS -openair3/PMIPv6/pmipv6-daemon-umip/README -openair3/PMIPv6/pmipv6-daemon-umip/README.IPsec -openair3/PMIPv6/pmipv6-daemon-umip/README.NEMO -openair3/PMIPv6/pmipv6-daemon-umip/THANKS -openair3/PMIPv6/AUTHORS -openair3/PMIPv6/BUGS -openair3/PMIPv6/CHANGELOG -openair3/PMIPv6/chkconf_kernel.sh -openair3/PMIPv6/COPYING -openair3/PMIPv6/INSTALL -openair3/PMIPv6/INSTALL.kernel -openair3/PMIPv6/README.first -openair3/PMIPv6/VERSION -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_bit_buffer.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F13_data_types_for_information_elements_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F1_basic_data_types_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F2_general_data_types_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F3_data_types_for_address_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F4_data_types_for_links_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_F9_data_types_for_qos_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_header_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_L2_type_values_for_tlv_encoding.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_log.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_Medieval_extensions.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_msg_codec.c -openair3/RAL-LTE/INTERFACE-802.21/C/MIH_C_primitive_codec.c -openair3/RAL-LTE/INTERFACE-802.21/DOXYGEN/Doxyfile -openair3/RAL-LTE/INTERFACE-802.21/DOXYGEN/footer.html -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_bit_buffer.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F13_data_types_for_information_elements_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F1_basic_data_types_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F2_general_data_types_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F3_data_types_for_address_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F4_data_types_for_links_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_F9_data_types_for_qos_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_header_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_L2_type_values_for_tlv_encoding.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Link_Constants.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Link_Messages.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Link_Primitives.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_log.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Medieval_extensions.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_msg_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_primitive_codec.h -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE/MIH_C_Types.h -openair3/RAL-LTE/INTERFACE-802.21/readme.txt -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_action.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_constants.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_main.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_mih_msg.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_parameters.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_process.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_proto.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_rrc_msg.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_subscribe.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_thresholds.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/lteRALenb_variables.h -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE/rrc_d_types.h -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/dist/eNB_lte_user.conf -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/dist/link_sap.conf -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/dist/odtone.conf -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/dummy_130606.tgz -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/eNB_lte_user.conf -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/Jamfile -openair3/RAL-LTE/LTE_RAL_ENB/MIH-USER/lte_test_user/rg_mih_usr.cpp -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_action.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_ioctl.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_main.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_mih_msg.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_parameters.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_process.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_rrc_msg.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_subscribe.c -openair3/RAL-LTE/LTE_RAL_ENB/SRC/lteRALenb_thresholds.c -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_action.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_constants.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_main.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_mih_execute.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_mih_msg.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_parameters.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_proto.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_rrc_msg.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_subscribe.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_thresholds.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/lteRALue_variables.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/nas_ue_ioctl.h -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE/rrc_d_types.h -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/dist/link_sap.conf -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/dist/lte_user.conf -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/dist/odtone.conf -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/Jamfile -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/lte_user.conf -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/mih_usr.cpp -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/README.txt -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/ue_lte_user.conf -openair3/RAL-LTE/LTE_RAL_UE/MIH-USER/lte_test_user/ue_lte_user.cpp -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_action.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_ioctl.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_main.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_mih_execute.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_mih_msg.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_parameters.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_process.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_rrc_msg.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_subscribe.c -openair3/RAL-LTE/LTE_RAL_UE/SRC/lteRALue_thresholds.c -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_0.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_1.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_10.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_11.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_12.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_2.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_3.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_mscgen_page_4.png -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/mih_usr.cpp -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/README.txt -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/VERSION0/rg_mih_usr.cpp -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/sendUDP-01 -openair3/RAL-LTE/RAL-DUMMY/802.21-SCENARIO/sendUDP-FF -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_action.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_constants.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_mih_msg.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_parameters.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_proto.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_subscribe.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_thresholds.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/eRALlte_variables.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_action.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_constants.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_get.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_main.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_mih_msg.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_parameters.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_proto.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_subscribe.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_thresholds.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/mRALlte_variables.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nas_rg_netlink.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nas_ue_ioctl.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nas_ue_netlink.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/nasUE_config.h -openair3/RAL-LTE/RAL-DUMMY/INCLUDE/rrc_d_types.h -openair3/RAL-LTE/RAL-DUMMY/MSCGEN_CHART/msc_gen.py -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_action.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_main.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_mih_msg.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_NAS.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_parameters.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_process.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_subscribe.c -openair3/RAL-LTE/RAL-DUMMY/SRC/eRALlte_thresholds.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_action.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_get.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_main.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_mih_msg.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_NAS.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_parameters.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_process.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_subscribe.c -openair3/RAL-LTE/RAL-DUMMY/SRC/mRALlte_thresholds.c -openair3/RAL-LTE/RAL-DUMMY/SRC/nasRGdummy.c -openair3/RAL-LTE/RAL-DUMMY/SRC/nasUEdummy.c -openair3/RAL-LTE/COPYING -openair3/RAL-LTE/RAL-LTE.readme.txt -openair3/UTILS/GPSDRIVE/maps/expedia/map_27650000_43.847_7.448.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.282_1.989.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.501_2.111.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.502_2.113.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_41.516_2.087.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.735_7.421.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.883_7.355.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.912_7.516.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_3950_43.923_7.527.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_47400_41.282_1.989.gif -openair3/UTILS/GPSDRIVE/maps/expedia/map_98750_41.516_2.088.gif -openair3/UTILS/GPSDRIVE/maps/map_koord.txt -openair3/UTILS/GPSDRIVE/README.txt -openair3/UTILS/REMSERIAL-1.4.UDP/README.txt -openair3/UTILS/REMSERIAL-1.4.UDP/remserial.c -openair3/UTILS/REMSERIAL-1.4.UDP/stty.c -openair3/UTILS/COPYING -openair3/COPYING -openair3/history.txt -openairITS/mac/DOT11/compat/scripts/compat_firmware_install -openairITS/mac/DOT11/compat/scripts/gen-compat-autoconf.sh -openairITS/mac/DOT11/compat/scripts/gen-compat-config.sh -openairITS/mac/DOT11/compat/scripts/skip-colors -openairITS/mac/DOT11/compat/compat-2.6.14.c -openairITS/mac/DOT11/compat/compat-2.6.18.c -openairITS/mac/DOT11/compat/compat-2.6.19.c -openairITS/mac/DOT11/compat/compat-2.6.21.c -openairITS/mac/DOT11/compat/compat-2.6.22.c -openairITS/mac/DOT11/compat/compat-2.6.23.c -openairITS/mac/DOT11/compat/compat-2.6.24.c -openairITS/mac/DOT11/compat/compat-2.6.25.c -openairITS/mac/DOT11/compat/compat-2.6.26.c -openairITS/mac/DOT11/compat/compat-2.6.27.c -openairITS/mac/DOT11/compat/compat-2.6.28.c -openairITS/mac/DOT11/compat/compat-2.6.29.c -openairITS/mac/DOT11/compat/compat-2.6.32.c -openairITS/mac/DOT11/compat/compat-2.6.33.c -openairITS/mac/DOT11/compat/compat-2.6.35.c -openairITS/mac/DOT11/compat/compat-2.6.36.c -openairITS/mac/DOT11/compat/compat-2.6.37.c -openairITS/mac/DOT11/compat/compat-2.6.38.c -openairITS/mac/DOT11/compat/compat-2.6.39.c -openairITS/mac/DOT11/compat/compat-3.0.c -openairITS/mac/DOT11/compat/compat-3.2.c -openairITS/mac/DOT11/compat/compat-3.3.c -openairITS/mac/DOT11/compat/compat-3.5.c -openairITS/mac/DOT11/compat/compat_atomic.c -openairITS/mac/DOT11/compat/compat_firmware_class.c -openairITS/mac/DOT11/compat/cordic.c -openairITS/mac/DOT11/compat/crc8.c -openairITS/mac/DOT11/compat/kfifo.c -openairITS/mac/DOT11/compat/kstrtox.c -openairITS/mac/DOT11/compat/main.c -openairITS/mac/DOT11/compat/modules.order -openairITS/mac/DOT11/compat/pm_qos_params.c -openairITS/mac/DOT11/include/crypto/aes.h -openairITS/mac/DOT11/include/linux/bcma/bcma.h -openairITS/mac/DOT11/include/linux/bcma/bcma_driver_chipcommon.h -openairITS/mac/DOT11/include/linux/bcma/bcma_driver_mips.h -openairITS/mac/DOT11/include/linux/bcma/bcma_driver_pci.h -openairITS/mac/DOT11/include/linux/bcma/bcma_regs.h -openairITS/mac/DOT11/include/linux/bcma/bcma_soc.h -openairITS/mac/DOT11/include/linux/spi/libertas_spi.h -openairITS/mac/DOT11/include/linux/ssb/ssb.h -openairITS/mac/DOT11/include/linux/ssb/ssb_driver_chipcommon.h -openairITS/mac/DOT11/include/linux/ssb/ssb_driver_extif.h -openairITS/mac/DOT11/include/linux/ssb/ssb_driver_gige.h -openairITS/mac/DOT11/include/linux/ssb/ssb_driver_mips.h -openairITS/mac/DOT11/include/linux/ssb/ssb_driver_pci.h -openairITS/mac/DOT11/include/linux/ssb/ssb_embedded.h -openairITS/mac/DOT11/include/linux/ssb/ssb_regs.h -openairITS/mac/DOT11/include/linux/unaligned/access_ok.h -openairITS/mac/DOT11/include/linux/unaligned/be_byteshift.h -openairITS/mac/DOT11/include/linux/unaligned/be_memmove.h -openairITS/mac/DOT11/include/linux/unaligned/be_struct.h -openairITS/mac/DOT11/include/linux/unaligned/generic.h -openairITS/mac/DOT11/include/linux/unaligned/le_byteshift.h -openairITS/mac/DOT11/include/linux/unaligned/le_memmove.h -openairITS/mac/DOT11/include/linux/unaligned/le_struct.h -openairITS/mac/DOT11/include/linux/unaligned/memmove.h -openairITS/mac/DOT11/include/linux/unaligned/packed_struct.h -openairITS/mac/DOT11/include/linux/usb/rndis_host.h -openairITS/mac/DOT11/include/linux/usb/usbnet.h -openairITS/mac/DOT11/include/linux/ath9k_platform.h -openairITS/mac/DOT11/include/linux/atomic.h -openairITS/mac/DOT11/include/linux/average.h -openairITS/mac/DOT11/include/linux/bitops.h -openairITS/mac/DOT11/include/linux/compat-2.6.14.h -openairITS/mac/DOT11/include/linux/compat-2.6.18.h -openairITS/mac/DOT11/include/linux/compat-2.6.19.h -openairITS/mac/DOT11/include/linux/compat-2.6.20.h -openairITS/mac/DOT11/include/linux/compat-2.6.21.h -openairITS/mac/DOT11/include/linux/compat-2.6.22.h -openairITS/mac/DOT11/include/linux/compat-2.6.23.h -openairITS/mac/DOT11/include/linux/compat-2.6.24.h -openairITS/mac/DOT11/include/linux/compat-2.6.25.h -openairITS/mac/DOT11/include/linux/compat-2.6.26.h -openairITS/mac/DOT11/include/linux/compat-2.6.27.h -openairITS/mac/DOT11/include/linux/compat-2.6.28.h -openairITS/mac/DOT11/include/linux/compat-2.6.29.h -openairITS/mac/DOT11/include/linux/compat-2.6.30.h -openairITS/mac/DOT11/include/linux/compat-2.6.31.h -openairITS/mac/DOT11/include/linux/compat-2.6.32.h -openairITS/mac/DOT11/include/linux/compat-2.6.33.h -openairITS/mac/DOT11/include/linux/compat-2.6.34.h -openairITS/mac/DOT11/include/linux/compat-2.6.35.h -openairITS/mac/DOT11/include/linux/compat-2.6.36.h -openairITS/mac/DOT11/include/linux/compat-2.6.37.h -openairITS/mac/DOT11/include/linux/compat-2.6.38.h -openairITS/mac/DOT11/include/linux/compat-2.6.39.h -openairITS/mac/DOT11/include/linux/compat-2.6.h -openairITS/mac/DOT11/include/linux/compat-3.0.h -openairITS/mac/DOT11/include/linux/compat-3.1.h -openairITS/mac/DOT11/include/linux/compat-3.2.h -openairITS/mac/DOT11/include/linux/compat-3.3.h -openairITS/mac/DOT11/include/linux/compat-3.4.h -openairITS/mac/DOT11/include/linux/compat-3.5.h -openairITS/mac/DOT11/include/linux/compat_autoconf.h -openairITS/mac/DOT11/include/linux/cordic.h -openairITS/mac/DOT11/include/linux/crc8.h -openairITS/mac/DOT11/include/linux/eeprom_93cx6.h -openairITS/mac/DOT11/include/linux/export.h -openairITS/mac/DOT11/include/linux/ieee80211.h -openairITS/mac/DOT11/include/linux/kfifo.h -openairITS/mac/DOT11/include/linux/math64.h -openairITS/mac/DOT11/include/linux/nl80211.h -openairITS/mac/DOT11/include/linux/of.h -openairITS/mac/DOT11/include/linux/pci-aspm.h -openairITS/mac/DOT11/include/linux/pci_ids.h -openairITS/mac/DOT11/include/linux/pm_qos.h -openairITS/mac/DOT11/include/linux/pm_qos_params.h -openairITS/mac/DOT11/include/linux/pm_runtime.h -openairITS/mac/DOT11/include/linux/printk.h -openairITS/mac/DOT11/include/linux/rfkill.h -openairITS/mac/DOT11/include/linux/rfkill_backport.h -openairITS/mac/DOT11/include/linux/semaphore.h -openairITS/mac/DOT11/include/linux/tracepoint.h -openairITS/mac/DOT11/include/linux/wireless.h -openairITS/mac/DOT11/include/linux/wl12xx.h -openairITS/mac/DOT11/include/N/pcmcia/cistpl.h -openairITS/mac/DOT11/include/N/trace/define_trace.h -openairITS/mac/DOT11/include/net/cfg80211-wext.h -openairITS/mac/DOT11/include/net/cfg80211.h -openairITS/mac/DOT11/include/net/ieee80211_radiotap.h -openairITS/mac/DOT11/include/net/lib80211.h -openairITS/mac/DOT11/include/net/mac80211.h -openairITS/mac/DOT11/include/net/net_namespace.h -openairITS/mac/DOT11/include/net/regulatory.h -openairITS/mac/DOT11/net/mac80211/aes_ccm.c -openairITS/mac/DOT11/net/mac80211/aes_ccm.h -openairITS/mac/DOT11/net/mac80211/aes_cmac.c -openairITS/mac/DOT11/net/mac80211/aes_cmac.h -openairITS/mac/DOT11/net/mac80211/agg-rx.c -openairITS/mac/DOT11/net/mac80211/agg-tx.c -openairITS/mac/DOT11/net/mac80211/cfg.c -openairITS/mac/DOT11/net/mac80211/cfg.h -openairITS/mac/DOT11/net/mac80211/chan.c -openairITS/mac/DOT11/net/mac80211/debugfs.c -openairITS/mac/DOT11/net/mac80211/debugfs.h -openairITS/mac/DOT11/net/mac80211/debugfs_key.c -openairITS/mac/DOT11/net/mac80211/debugfs_key.h -openairITS/mac/DOT11/net/mac80211/debugfs_netdev.c -openairITS/mac/DOT11/net/mac80211/debugfs_netdev.h -openairITS/mac/DOT11/net/mac80211/debugfs_sta.c -openairITS/mac/DOT11/net/mac80211/debugfs_sta.h -openairITS/mac/DOT11/net/mac80211/driver-ops.h -openairITS/mac/DOT11/net/mac80211/driver-trace.c -openairITS/mac/DOT11/net/mac80211/driver-trace.h -openairITS/mac/DOT11/net/mac80211/event.c -openairITS/mac/DOT11/net/mac80211/ht.c -openairITS/mac/DOT11/net/mac80211/ibss.c -openairITS/mac/DOT11/net/mac80211/ieee80211_i.h -openairITS/mac/DOT11/net/mac80211/iface.c -openairITS/mac/DOT11/net/mac80211/key.c -openairITS/mac/DOT11/net/mac80211/key.h -openairITS/mac/DOT11/net/mac80211/led.c -openairITS/mac/DOT11/net/mac80211/led.h -openairITS/mac/DOT11/net/mac80211/main.c -openairITS/mac/DOT11/net/mac80211/mesh.c -openairITS/mac/DOT11/net/mac80211/mesh.h -openairITS/mac/DOT11/net/mac80211/mesh_hwmp.c -openairITS/mac/DOT11/net/mac80211/mesh_pathtbl.c -openairITS/mac/DOT11/net/mac80211/mesh_plink.c -openairITS/mac/DOT11/net/mac80211/michael.c -openairITS/mac/DOT11/net/mac80211/michael.h -openairITS/mac/DOT11/net/mac80211/mlme.c -openairITS/mac/DOT11/net/mac80211/modules.order -openairITS/mac/DOT11/net/mac80211/offchannel.c -openairITS/mac/DOT11/net/mac80211/pm.c -openairITS/mac/DOT11/net/mac80211/rate.c -openairITS/mac/DOT11/net/mac80211/rate.h -openairITS/mac/DOT11/net/mac80211/rc80211_minstrel.c -openairITS/mac/DOT11/net/mac80211/rc80211_minstrel.h -openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_debugfs.c -openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_ht.c -openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_ht.h -openairITS/mac/DOT11/net/mac80211/rc80211_minstrel_ht_debugfs.c -openairITS/mac/DOT11/net/mac80211/rc80211_pid.h -openairITS/mac/DOT11/net/mac80211/rc80211_pid_algo.c -openairITS/mac/DOT11/net/mac80211/rc80211_pid_debugfs.c -openairITS/mac/DOT11/net/mac80211/rx.c -openairITS/mac/DOT11/net/mac80211/scan.c -openairITS/mac/DOT11/net/mac80211/spectmgmt.c -openairITS/mac/DOT11/net/mac80211/sta_info.c -openairITS/mac/DOT11/net/mac80211/sta_info.h -openairITS/mac/DOT11/net/mac80211/status.c -openairITS/mac/DOT11/net/mac80211/tkip.c -openairITS/mac/DOT11/net/mac80211/tkip.h -openairITS/mac/DOT11/net/mac80211/tx.c -openairITS/mac/DOT11/net/mac80211/util.c -openairITS/mac/DOT11/net/mac80211/wep.c -openairITS/mac/DOT11/net/mac80211/wep.h -openairITS/mac/DOT11/net/mac80211/wme.c -openairITS/mac/DOT11/net/mac80211/wme.h -openairITS/mac/DOT11/net/mac80211/work.c -openairITS/mac/DOT11/net/mac80211/wpa.c -openairITS/mac/DOT11/net/mac80211/wpa.h -openairITS/mac/DOT11/net/wireless/chan.c -openairITS/mac/DOT11/net/wireless/core.c -openairITS/mac/DOT11/net/wireless/core.h -openairITS/mac/DOT11/net/wireless/db.txt -openairITS/mac/DOT11/net/wireless/debugfs.c -openairITS/mac/DOT11/net/wireless/debugfs.h -openairITS/mac/DOT11/net/wireless/ethtool.c -openairITS/mac/DOT11/net/wireless/ethtool.h -openairITS/mac/DOT11/net/wireless/genregdb.awk -openairITS/mac/DOT11/net/wireless/ibss.c -openairITS/mac/DOT11/net/wireless/lib80211.c -openairITS/mac/DOT11/net/wireless/lib80211_crypt_ccmp.c -openairITS/mac/DOT11/net/wireless/lib80211_crypt_tkip.c -openairITS/mac/DOT11/net/wireless/lib80211_crypt_wep.c -openairITS/mac/DOT11/net/wireless/mesh.c -openairITS/mac/DOT11/net/wireless/mlme.c -openairITS/mac/DOT11/net/wireless/modules.order -openairITS/mac/DOT11/net/wireless/nl80211.c -openairITS/mac/DOT11/net/wireless/nl80211.h -openairITS/mac/DOT11/net/wireless/radiotap.c -openairITS/mac/DOT11/net/wireless/reg.c -openairITS/mac/DOT11/net/wireless/reg.h -openairITS/mac/DOT11/net/wireless/regdb.h -openairITS/mac/DOT11/net/wireless/scan.c -openairITS/mac/DOT11/net/wireless/sme.c -openairITS/mac/DOT11/net/wireless/sysfs.c -openairITS/mac/DOT11/net/wireless/sysfs.h -openairITS/mac/DOT11/net/wireless/util.c -openairITS/mac/DOT11/net/wireless/wext-compat.c -openairITS/mac/DOT11/net/wireless/wext-compat.h -openairITS/mac/DOT11/net/wireless/wext-core.c -openairITS/mac/DOT11/net/wireless/wext-priv.c -openairITS/mac/DOT11/net/wireless/wext-proc.c -openairITS/mac/DOT11/net/wireless/wext-sme.c -openairITS/mac/DOT11/net/wireless/wext-spy.c -openairITS/mac/DOT11/scripts/admin-clean.sh -openairITS/mac/DOT11/scripts/admin-refresh.sh -openairITS/mac/DOT11/scripts/admin-update.sh -openairITS/mac/DOT11/scripts/alx-enable -openairITS/mac/DOT11/scripts/athenable -openairITS/mac/DOT11/scripts/athload -openairITS/mac/DOT11/scripts/b43enable -openairITS/mac/DOT11/scripts/b43load -openairITS/mac/DOT11/scripts/btunload.sh -openairITS/mac/DOT11/scripts/check_config.sh -openairITS/mac/DOT11/scripts/check_depmod -openairITS/mac/DOT11/scripts/compress_modules -openairITS/mac/DOT11/scripts/driver-select -openairITS/mac/DOT11/scripts/gen-compat-autoconf.sh -openairITS/mac/DOT11/scripts/gen-stable-release.sh -openairITS/mac/DOT11/scripts/iwl-enable -openairITS/mac/DOT11/scripts/iwl-load -openairITS/mac/DOT11/scripts/madwifi-unload -openairITS/mac/DOT11/scripts/modlib.sh -openairITS/mac/DOT11/scripts/skip-colors -openairITS/mac/DOT11/scripts/unload.sh -openairITS/mac/DOT11/scripts/update-initramfs -openairITS/mac/DOT11/scripts/wlunload.sh -openairITS/mac/DOT11/code-metrics.txt -openairITS/mac/DOT11/compat_base_tree -openairITS/mac/DOT11/compat_base_tree_version -openairITS/mac/DOT11/compat_version -openairITS/mac/DOT11/config.mk -openairITS/mac/DOT11/COPYRIGHT -openairITS/mac/DOT11/MAINTAINERS -openairITS/mac/DOT11/README -openairITS/phy/DOT11/commonvars.h -openairITS/phy/DOT11/crc32.c -openairITS/phy/DOT11/data_detection.c -openairITS/phy/DOT11/defs.h -openairITS/phy/DOT11/generate_STSLTS_corr.m -openairITS/phy/DOT11/initial_sync.c -openairITS/phy/DOT11/interleaver.c -openairITS/phy/DOT11/phy_tx_start.c -openairITS/phy/DOT11/scrambler.c -openairITS/phy/DOT11/STS_LTS_F.h -openairITS/phy/DOT11/txvars.h -openairITS/phy/DRIVERS/ieee80211p-driver.c -openairITS/phy/DRIVERS/ieee80211p-driver.h -openairITS/phy/DRIVERS/ieee80211p-netlinkapi.c -openairITS/phy/DRIVERS/ieee80211p-netlinkapi.h -openairITS/phy/DRIVERS/ieee80211p-softmodem.c -openairITS/phy/SIMULATION/PER_PLOTS/errors_0_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_0_256.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_1_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_1_256.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_2_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_2_256.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_3_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_3_256.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_4_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_4_256.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_5_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/errors_5_256.m -openairITS/phy/SIMULATION/PER_PLOTS/plots.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_0_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_0_256.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_1_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_1_256.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_2_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_2_256.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_3_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_3_256.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_4_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_4_256.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_5_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/signal_errors_5_256.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_0_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_0_256.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_1_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_1_256.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_2_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_2_256.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_3_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_3_256.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_4_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_4_256.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_5_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/SNR_5_256.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_0_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_0_256.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_1_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_1_256.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_2_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_2_256.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_3_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_3_256.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_4_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_4_256.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_5_1024.m -openairITS/phy/SIMULATION/PER_PLOTS/trials_5_256.m -openairITS/phy/SIMULATION/dot11sim.c -openairITS/ieee80211p_compile_modules.sh -openairITS/ieee80211p_configure_interface.sh -openairITS/ieee80211p_insert_modules.sh -openairITS/ieee80211p_setup_vars.sh -svn2git/authors.txt -svn2git/authors_original.txt -svn2git/authors_original_java_output.txt -svn2git/check_diff_author.sh -svn2git/git-author-rewrite.sh -svn2git/README.txt -targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c -targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h -targets/ARCH/COMMON/common_lib.h -targets/ARCH/COMMON/COPYING -targets/ARCH/ETHERNET/USERSPACE/LIB/COPYING -targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c -targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs -targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf -targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk -targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd -targets/ARCH/EXMIMO/BITSTREAM/program_fpga -targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd -targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd -targets/ARCH/EXMIMO/DEFS/COPYING -targets/ARCH/EXMIMO/DEFS/openair_device.h -targets/ARCH/EXMIMO/DEFS/pcie_interface.h -targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/COPYING -targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h -targets/ARCH/EXMIMO/DRIVER/eurecom/do_reenumerate_expressmimo.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/do_reinsert_driver.sh -targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c -targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h -targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c -targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c -targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c -targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/COPYING -targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reenumerate_expressmimo.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/do_reinsert_driver.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h -targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c -targets/ARCH/EXMIMO/DRIVER/exmimo3/test_script.sh -targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h -targets/ARCH/EXMIMO/DRIVER/telecomparistech/COPYING -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c -targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c -targets/ARCH/EXMIMO/DRIVER/readme.txt -targets/ARCH/EXMIMO/USERSPACE/LIB/COPYING -targets/ARCH/EXMIMO/USERSPACE/LIB/example.c -targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c -targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h -targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c -targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/COPYING -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo1 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/COPYING -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m -targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m -targets/ARCH/USRP/USERSPACE/LIB/COPYING -targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp -targets/COMMON/COPYING -targets/COMMON/create_tasks.c -targets/COMMON/create_tasks.h -targets/DOCS/images/oai_logo.png -targets/DOCS/api_icic.xml -targets/DOCS/Doxyfile -targets/DOCS/oaiemu.doc -targets/DOCS/oaisim_walkthrough.pdf -targets/DOCS/openair_header.tex -targets/DOCS/path_loss_oaisim.xlsx -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf -targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/COPYING -targets/PROJECTS/E-MBMS/build_all.bash -targets/PROJECTS/E-MBMS/enb.conf -targets/PROJECTS/E-MBMS/start_enb.bash -targets/PROJECTS/E-MBMS/start_ue.bash -targets/PROJECTS/E-MBMS/utils.bash -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.rel10.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2_2a.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.centos.nord.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band13_band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band38_band44.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.band7_band20.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.dual.rel10.band13_band4.exmimo2.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.pft.memphis.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sequans.sud.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/epc.generic.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/epc.on.enb.example.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.band7.epc_eur.local.exmimo2_2a.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/example.enb.epc_eur.local.exmimo.conf -targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml -targets/PROJECTS/GENERIC-LTE-EPC/COPYING -targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash -targets/PROJECTS/GENERIC-LTE-EPC/networks.bash -targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash -targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash -targets/PROJECTS/GENERIC-LTE-EPC/utils.bash -targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash -targets/PROJECTS/LOCALIZATION/filesave0811.mat -targets/PROJECTS/LOCALIZATION/generation.m -targets/PROJECTS/LOCALIZATION/initial_sync.m -targets/PROJECTS/LOCALIZATION/initparams.m -targets/PROJECTS/LOCALIZATION/plots.m -targets/PROJECTS/LOCALIZATION/recup.m -targets/PROJECTS/LOCALIZATION/where2.m -targets/PROJECTS/LOCALIZATION/where2_v1_final.mat -targets/PROJECTS/LOCALIZATION/where2_vf.m -targets/PROJECTS/TDDREC/v0/alterproj.m -targets/PROJECTS/TDDREC/v0/beamforming.m -targets/PROJECTS/TDDREC/v0/calibration.m -targets/PROJECTS/TDDREC/v0/genorthqpskseq.m -targets/PROJECTS/TDDREC/v0/genrandpskseq.m -targets/PROJECTS/TDDREC/v0/initparams.m -targets/PROJECTS/TDDREC/v0/initparams2.m -targets/PROJECTS/TDDREC/v0/ofdm_mod.m -targets/PROJECTS/TDDREC/v0/readme.txt -targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m -targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m -targets/PROJECTS/TDDREC/v0/runmeas_mimo.m -targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m -targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m -targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m -targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m -targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m -targets/PROJECTS/TDDREC/f_ch_est.m -targets/PROJECTS/TDDREC/f_ofdm_mod.m -targets/PROJECTS/TDDREC/f_ofdm_rx.m -targets/PROJECTS/TDDREC/f_ofdm_tx.m -targets/PROJECTS/TDDREC/f_tls_ap.m -targets/PROJECTS/TDDREC/f_tls_diag.m -targets/PROJECTS/TDDREC/f_tls_svd.m -targets/PROJECTS/TDDREC/s_beamforming.m -targets/PROJECTS/TDDREC/s_calib.m -targets/PROJECTS/TDDREC/s_draw_F.m -targets/PROJECTS/TDDREC/s_init_params.m -targets/PROJECTS/TDDREC/s_run_meas.m -targets/PROJECTS/COPYING -targets/RT/LAUNCH_SCRIPTS/load_module.sh -targets/RT/LAUNCH_SCRIPTS/nas_enb.sh -targets/RT/LAUNCH_SCRIPTS/nas_ue.sh -targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh -targets/RT/LAUNCH_SCRIPTS/start_emos.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh -targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh -targets/RT/LAUNCH_SCRIPTS/start_rf.sh -targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh -targets/RT/LAUNCH_SCRIPTS/start_ue.sh -targets/RT/LAUNCH_SCRIPTS/start_ue2.sh -targets/RT/LAUNCH_SCRIPTS/stop_rf.sh -targets/RT/USER/TOOLS/thread_ipc.c -targets/RT/USER/TOOLS/thread_ipc.h -targets/RT/USER/condtest.c -targets/RT/USER/COPYING -targets/RT/USER/dot11.c -targets/RT/USER/emos-raw.c -targets/RT/USER/eNB.gtkw -targets/RT/USER/eNB_exmimo2.gtkw -targets/RT/USER/exmimo2_2arxg.lime -targets/RT/USER/exmimo2_2brxg.lime -targets/RT/USER/ieee80211p-softmodem.c -targets/RT/USER/init_b200.sh -targets/RT/USER/init_exmimo.sh -targets/RT/USER/init_exmimo2.sh -targets/RT/USER/init_rtai.sh -targets/RT/USER/lte-softmodem.c -targets/RT/USER/lte-ue.c -targets/RT/USER/make_for_usrp.sh -targets/RT/USER/msg_helper.c -targets/RT/USER/msg_many.c -targets/RT/USER/msg_many.h -targets/RT/USER/rrh.c -targets/RT/USER/rt_wrapper.c -targets/RT/USER/rt_wrapper.h -targets/RT/USER/sched_dlsch.c -targets/RT/USER/sched_rx_pdsch.c -targets/RT/USER/sched_ulsch.c -targets/RT/USER/sleeptest.c -targets/RT/USER/stats.c -targets/RT/USER/stats.fd -targets/RT/USER/stats.h -targets/RT/USER/synctest.c -targets/RT/USER/ue_exmimo2.gtkw -targets/SCRIPTS/PROFILING/gprof2dot.py -targets/SCRIPTS/PROFILING/profoai.sh -targets/SCRIPTS/asn1_generate_rrc_messaging_c_code.bash -targets/SCRIPTS/install_asn1.sh -targets/SCRIPTS/install_asn1c_0.9.24.modified.bash -targets/SCRIPTS/msc_gen.py -targets/SCRIPTS/svn-merge-meld.py -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE/start_ue -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/AT_serial_bouchon.py -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_enb_v2 -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_1UE_OAI_DRIVER_ETHERNET/start_ue_cx2android -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_enb -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue1 -targets/SIMU/EXAMPLES/ETH_EMUL_1eNB_2UE/start_ue2 -targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_1.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_10.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_120.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_121.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_122.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_123.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_124.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_125.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_126.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_127.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_128.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_129.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_13.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_14.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_15.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_16.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_17.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_18.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_19.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_21.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_26.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_27.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_29.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_33.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_34.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_4.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_40.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_41.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_42.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_43.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_6.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_60.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_7.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_70.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_8.xml -targets/SIMU/EXAMPLES/OSD/WEBXML/template_9.xml -targets/SIMU/EXAMPLES/OSD/README.txt -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_multi_UE_nas -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB/start_one_eNB_two_UE_PHY_nas -targets/SIMU/EXAMPLES/VIRT_EMUL_1eNB_OAI_LITE/start_one_eNB_multi_UE_nas -targets/SIMU/PROC/SCRIPT/Run.py -targets/SIMU/PROC/channel_sim_proc.c -targets/SIMU/PROC/channel_sim_proc.h -targets/SIMU/PROC/COPYING -targets/SIMU/PROC/interface.h -targets/SIMU/PROC/Process.c -targets/SIMU/PROC/Process.h -targets/SIMU/PROC/Tsync.h -targets/SIMU/USER/files/MI_16qam.csv -targets/SIMU/USER/files/MI_16qam.txt -targets/SIMU/USER/files/MI_4qam.csv -targets/SIMU/USER/files/MI_4qam.txt -targets/SIMU/USER/files/MI_64qam.csv -targets/SIMU/USER/files/MI_64qam.txt -targets/SIMU/USER/channel_sim.c -targets/SIMU/USER/COPYING -targets/SIMU/USER/cor_SF_sim.c -targets/SIMU/USER/cor_SF_sim.h -targets/SIMU/USER/event_handler.c -targets/SIMU/USER/event_handler.h -targets/SIMU/USER/init_lte.c -targets/SIMU/USER/init_lte.h -targets/SIMU/USER/oaisim.c -targets/SIMU/USER/oaisim.h -targets/SIMU/USER/oaisim_config.c -targets/SIMU/USER/oaisim_config.h -targets/SIMU/USER/oaisim_functions.c -targets/SIMU/USER/oaisim_functions.h -targets/SIMU/USER/oaisim_pad.c -targets/SIMU/USER/phy_procedures_sim_form.c -targets/SIMU/USER/phy_procedures_sim_form.fd -targets/SIMU/USER/phy_procedures_sim_form.h -targets/SIMU/USER/plot_results.m -targets/SIMU/USER/sinr_sim.c -targets/SIMU/USER/threadpool.c -targets/SIMU/USER/threadpool.h -targets/SIMU/USER/valgrind.sh -targets/TEST/AT_COMMANDS/oaisim.c -targets/TEST/OAI/case01.py -targets/TEST/OAI/case02.py -targets/TEST/OAI/case03.py -targets/TEST/OAI/case04.py -targets/TEST/OAI/case05.py -targets/TEST/OAI/case11.py -targets/TEST/OAI/case12.py -targets/TEST/OAI/case13.py -targets/TEST/OAI/core.py -targets/TEST/OAI/log.py -targets/TEST/OAI/openair.py -targets/TEST/OAI/README -targets/TEST/OAI/test01.py -targets/TEST/OAI/test02.py -targets/TEST/PACKET_TRACER/messages/Msg4.txt -targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt -targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt -targets/TEST/PACKET_TRACER/messages/sib1.txt -targets/TEST/PACKET_TRACER/messages/sib2.txt -targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt -targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt -targets/TEST/PACKET_TRACER/messages/sib3.txt -targets/TEST/PACKET_TRACER/pt.c -targets/TEST/PACKET_TRACER/README.txt -targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt -targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c -targets/TEST/PDCP/readme.txt -targets/TEST/PDCP/test_pdcp.c -targets/TEST/PDCP/test_pdcp.h -targets/TEST/PDCP/test_util.h -targets/TEST/PDCP/todo.txt -targets/TEST/RLC_AM_V9.3.0/oaisim.c -targets/TEST/RLC_UM_V9.3.0/oaisim.c -targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp -targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp -targets/TEST/ROHDE_SCHWARZ/TcpClient.h -targets/build_helper.bash -targets/build_oai.bash -targets/COPYING -targets/itti_vcd_tasks.sav -targets/Makerules -targets/perf_oai.bash -targets/README.txt -COPYING -maketags -oaienv -README.txt \ No newline at end of file diff --git a/oai5g_development.includes b/oai5g_development.includes deleted file mode 100755 index 1fbdd1b648..0000000000 --- a/oai5g_development.includes +++ /dev/null @@ -1,182 +0,0 @@ -common/utils -common/utils/collection -common/utils/collection/hashtable -common/utils/itti -common/utils/itti_analyzer/common -common/utils/itti_analyzer/libbuffers -common/utils/itti_analyzer/libparser -common/utils/itti_analyzer/libresolver -common/utils/itti_analyzer/libui -common/utils/msc -openair-cn/COMMON -openair-cn/GTPV1-U -openair-cn/GTPV1-U/GTPUAH -openair-cn/GTPV1-U/nw-gtpv1u/include -openair-cn/GTPV1-U/nw-gtpv1u/shared -openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld -openair-cn/GTPV2-C/nwgtpv2c-0.11/include -openair-cn/GTPV2-C/nwgtpv2c-0.11/shared -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping -openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld -openair-cn/INTERTASK_INTERFACE -openair-cn/MME_APP -openair-cn/NAS -openair-cn/NAS/EURECOM-NAS/src -openair-cn/NAS/EURECOM-NAS/src/api/mme -openair-cn/NAS/EURECOM-NAS/src/api/network -openair-cn/NAS/EURECOM-NAS/src/api/user -openair-cn/NAS/EURECOM-NAS/src/api/usim -openair-cn/NAS/EURECOM-NAS/src/emm -openair-cn/NAS/EURECOM-NAS/src/emm/msg -openair-cn/NAS/EURECOM-NAS/src/emm/sap -openair-cn/NAS/EURECOM-NAS/src/esm -openair-cn/NAS/EURECOM-NAS/src/esm/msg -openair-cn/NAS/EURECOM-NAS/src/esm/sap -openair-cn/NAS/EURECOM-NAS/src/ies -openair-cn/NAS/EURECOM-NAS/src/include -openair-cn/NAS/EURECOM-NAS/src/util -openair-cn/NAS/EURECOM-NAS/tools -openair-cn/NAS/EURECOM-NAS/tst/as_simulator -openair-cn/NAS/EURECOM-NAS/tst/network -openair-cn/NAS/EURECOM-NAS/tst/user -openair-cn/OAI_EPC -openair-cn/OAI_SGW -openair-cn/OAISIM_MME -openair-cn/OPENAIRHSS/access_restriction -openair-cn/OPENAIRHSS/auc -openair-cn/OPENAIRHSS/db -openair-cn/OPENAIRHSS/s6a -openair-cn/OPENAIRHSS/tests -openair-cn/OPENAIRHSS/utils -openair-cn/S11 -openair-cn/S1AP -openair-cn/S6A -openair-cn/SCTP -openair-cn/SECU -openair-cn/SGW-LITE -openair-cn/TEST -openair-cn/UDP -openair-cn/UTILS -openair-cn/UTILS/HASHTABLE -openair1/MAC_INTERFACE -openair1/PHY -openair1/PHY/CODING -openair1/PHY/INIT -openair1/PHY/LTE_ESTIMATION -openair1/PHY/LTE_REFSIG -openair1/PHY/LTE_TRANSPORT -openair1/PHY/MODULATION -openair1/PHY/TOOLS -openair1/SCHED -openair1/SIMULATION/ETH_TRANSPORT -openair1/SIMULATION/LTE_PHY -openair1/SIMULATION/RF -openair1/SIMULATION/TOOLS -openair2/COMMON -openair2/DOCS/TEMPLATES/CODE -openair2/ENB_APP -openair2/LAYER2 -openair2/LAYER2/MAC -openair2/LAYER2/PDCP_v10.1.0 -openair2/LAYER2/RLC -openair2/LAYER2/RLC/AM_v9.3.0 -openair2/LAYER2/RLC/TM_v9.3.0 -openair2/LAYER2/RLC/UM_v9.3.0 -openair2/NAS -openair2/NAS/DRIVER/CELLULAR/CTL_TOOL -openair2/NAS/DRIVER/CELLULAR/NASMT -openair2/NAS/DRIVER/CELLULAR/NASRG -openair2/NAS/SIMU_CELLULAR -openair2/NETWORK_DRIVER/LITE -openair2/NETWORK_DRIVER/MESH -openair2/NETWORK_DRIVER/UE_IP -openair2/PHY_INTERFACE -openair2/RRC/L2_INTERFACE -openair2/RRC/LITE -openair2/RRC/LITE/MESSAGES -openair2/RRC/NAS -openair2/RRM_4_RRC_LITE/src -openair2/RRM_4_RRC_LITE/src/com -openair2/RRM_4_RRC_LITE/src/com/rrc -openair2/RRM_4_RRC_LITE/src/com/rrm -openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4 -openair2/RRM_4_RRC_LITE/src/foreign/sql -openair2/RRM_4_RRC_LITE/src/foreign/tcpip -openair2/RRM_4_RRC_LITE/src/radio_resources -openair2/RRM_4_RRC_LITE/src/test -openair2/UTIL -openair2/UTIL/AT_COMMANDS -openair2/UTIL/BIGPHYS -openair2/UTIL/CLI -openair2/UTIL/FIFO -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist -openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack -openair2/UTIL/LFDS/liblfds6.1.1/test/src -openair2/UTIL/LISTS -openair2/UTIL/LOG -openair2/UTIL/MATH -openair2/UTIL/MEM -openair2/UTIL/OCG -openair2/UTIL/OMG -openair2/UTIL/OMV -openair2/UTIL/OPT -openair2/UTIL/OSA -openair2/UTIL/OTG -openair2/UTIL/TIMER -openair2/UTIL/TRACE -openair2/X2AP -openair3/DOCS/TEMPLATES/CODE -openair3/MESH -openair3/MESH/RRM -openair3/MESH/RRM/EMUL -openair3/MESH/RRM/GRAPH -openair3/PMIPv6/freeradius-client-1.1.6 -openair3/PMIPv6/freeradius-client-1.1.6/include -openair3/PMIPv6/freeradius-client-1.1.6/lib -openair3/PMIPv6/freeradius-client-1.1.6/src -openair3/PMIPv6/pmipv6-daemon-umip/include -openair3/PMIPv6/pmipv6-daemon-umip/include/linux -openair3/PMIPv6/pmipv6-daemon-umip/include/netinet -openair3/PMIPv6/pmipv6-daemon-umip/src -openair3/PMIPv6/pmipv6-daemon-umip/src/pmip -openair3/RAL-LTE/INTERFACE-802.21/INCLUDE -openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE -openair3/RAL-LTE/LTE_RAL_UE/INCLUDE -openair3/RAL-LTE/RAL-DUMMY/INCLUDE -openairITS/mac/DOT11/include/crypto -openairITS/mac/DOT11/include/linux -openairITS/mac/DOT11/include/linux/bcma -openairITS/mac/DOT11/include/linux/spi -openairITS/mac/DOT11/include/linux/ssb -openairITS/mac/DOT11/include/linux/unaligned -openairITS/mac/DOT11/include/linux/usb -openairITS/mac/DOT11/include/N/pcmcia -openairITS/mac/DOT11/include/N/trace -openairITS/mac/DOT11/include/net -openairITS/mac/DOT11/net/mac80211 -openairITS/mac/DOT11/net/wireless -openairITS/phy/DOT11 -openairITS/phy/DRIVERS -targets/ARCH/BLADERF/USERSPACE/LIB -targets/ARCH/COMMON -targets/ARCH/ETHERNET/USERSPACE/LIB -targets/ARCH/EXMIMO/DEFS -targets/ARCH/EXMIMO/DRIVER/eurecom -targets/ARCH/EXMIMO/DRIVER/exmimo3 -targets/ARCH/EXMIMO/DRIVER/telecomparistech -targets/ARCH/EXMIMO/USERSPACE/LIB -targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT -targets/COMMON -targets/RT/USER -targets/RT/USER/TOOLS -targets/SIMU/PROC -targets/SIMU/USER -targets/TEST/PDCP -targets/TEST/ROHDE_SCHWARZ \ No newline at end of file diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 121270c99b..a03ec0b3f9 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -425,7 +425,7 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i AssertFatal(epdcch_setconfig_r11->ext2 && epdcch_setconfig_r11->ext2->mpdcch_config_r13 ," mpdcch config not found") ; -*maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 ; +*maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 ; * narrowBandindex = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 ; @@ -461,7 +461,7 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i } -/* + void schedule_ue_spec_br( @@ -601,6 +601,8 @@ schedule_ue_spec_br( for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) { + if (!UE_list->UE_template[CC_id][UE_id].rach_resource_type ) // do the following scheduling only if the UE is emtc + continue ; continue_flag = 0; // reset the flag to allow allocation for the remaining UEs rnti = UE_RNTI(module_idP, UE_id); @@ -776,26 +778,26 @@ schedule_ue_spec_br( vrb_map[first_rb + 5] = 1; if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0)) + (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC) > 0)) { // MPDCCH configuration for RAR dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_list->UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + AssertFatal(cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_id].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB @@ -826,7 +828,7 @@ schedule_ue_spec_br( dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; - UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; dl_req->number_pdu++; @@ -846,31 +848,31 @@ schedule_ue_spec_br( S_DL_SCHEDULED); } //repetition_count==0 && SF condition met - else if (UE_template[CC_id][UE_id].msg2_mpdcch_repetition_cnt > 0) + else if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt > 0) { // we're in a stream of repetitions - UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; - if (UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps) + UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case + if (cc[CC_id].tdd_Config == NULL) { // FDD case // wait 2 subframes for PDSCH transmission - if (subframeP > 7) UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023; - else UE_template[CC_id][UE_id].Msg2_frame = frameP; - UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + if (subframeP > 7) UE_list->UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023; + else UE_list->UE_template[CC_id][UE_id].Msg2_frame = frameP; + UE_list->UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 } else { AssertFatal(1 == 0, "TDD case not done yet\n"); } } // mpdcch_repetition_count == reps - if ((UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) { + if ((UE_list->UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_list->UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) { // Program PDSCH dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 4; // format 6-1A dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized @@ -893,7 +895,7 @@ schedule_ue_spec_br( dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; @@ -956,6 +958,9 @@ schedule_ue_spec_br( rlc_status.bytes_in_buffer = 0; // Now check RLC information to compute number of required RBs // get maximum TBS size for RLC request + + + TBS = 408; // check first for RLC data on DCCH // add the length for all the control elements (timing adv, drx, etc) : header + payload @@ -1155,9 +1160,12 @@ schedule_ue_spec_br( //else { // nb_rb = min_rb_unit[CC_id]; //} + + //[khalid]: maximum MCS (7 or 15) depend on the DCI formate used from UE_list->UE_template[CC_id [UE_id].rach_resource_type + mcs = 4; nb_rb = 6; - + TBS = 408;//get_TBS_DL(mcs, nb_rb); @@ -1368,7 +1376,7 @@ schedule_ue_spec_br( unsigned int first_rb, rep, reps; // rmax from RRC connection setup - getRepetition(&UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); + getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); // choose r3 by default for RAR (Table 9.1.5-5) rep = 2; @@ -1384,28 +1392,28 @@ schedule_ue_spec_br( vrb_map[first_rb + 4] = 1; vrb_map[first_rb + 5] = 1; - if ((UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0)) + if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && + (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC) > 0)) { // MPDCCH configuration for RAR dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_list->UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, + AssertFatal(cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_id].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter @@ -1435,7 +1443,7 @@ schedule_ue_spec_br( dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; - UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; dl_req->number_pdu++; @@ -1458,31 +1466,31 @@ schedule_ue_spec_br( eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; } //repetition_count==0 && SF condition met - else if (UE_template[CC_id][UE_id].msg2_mpdcch_repetition_cnt > 0) + else if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt > 0) { // we're in a stream of repetitions - UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; - if (UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps) + UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++; + if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case + if (cc[CC_id].tdd_Config == NULL) { // FDD case // wait 2 subframes for PDSCH transmission - if (subframeP > 7) UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023; - else UE_template[CC_id][UE_id].Msg2_frame = frameP; - UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + if (subframeP > 7) UE_list->UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023; + else UE_list->UE_template[CC_id][UE_id].Msg2_frame = frameP; + UE_list->UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 } else { AssertFatal(1 == 0, "TDD case not done yet\n"); } } // mpdcch_repetition_count == reps - if ((UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) { + if ((UE_list->UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_list->UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) { // Program PDSCH dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 4; // format 6-1A dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized @@ -1505,7 +1513,7 @@ schedule_ue_spec_br( dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; @@ -1574,7 +1582,7 @@ schedule_ue_spec_br( } -*/ + //------------------------------------------------------------------------------ void From 4a067bd119c064d5c984b3d41cffa349dc5c39e0 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Tue, 15 Aug 2017 10:07:04 +0200 Subject: [PATCH 027/109] band 13 50 PRB configuration file including eMTC resources --- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 368 ++++++++++++++++++ 1 file changed, 368 insertions(+) create mode 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf new file mode 100755 index 0000000000..dbae933a5f --- /dev/null +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -0,0 +1,368 @@ +Active_eNBs = ( "eNB_Eurecom_LTEBox"); +# Asn1_verbosity, choice in: none, info, annoying +Asn1_verbosity = "none"; + +eNBs = +( + { + ////////// Identification parameters: + eNB_ID = 0xe00; + + cell_type = "CELL_MACRO_ENB"; + + eNB_name = "eNB_Eurecom_LTEBox"; + + // Tracking area code, 0x0000 and 0xfffe are reserved values + tracking_area_code = "1"; + + mobile_country_code = "208"; + + mobile_network_code = "93"; + + tr_s_preference = "local_mac" + + ////////// Physical parameters: + + component_carriers = ( + { + node_function = "3GPP_eNodeB"; + node_timing = "synch_to_ext_device"; + node_synch_ref = 0; + frame_type = "FDD"; + tdd_config = 3; + tdd_config_s = 0; + prefix_type = "NORMAL"; + eutra_band = 13; + downlink_frequency = 751000000L; + uplink_frequency_offset = 31000000; + Nid_cell = 0; + N_RB_DL = 50; + Nid_cell_mbsfn = 0; + nb_antenna_ports = 1; + nb_antennas_tx = 1; + nb_antennas_rx = 1; + tx_gain = 90; + rx_gain = 110; + pbch_repetition = "FALSE"; + prach_root = 0; + prach_config_index = 0; + prach_high_speed = "DISABLE"; + prach_zero_correlation = 1; + prach_freq_offset = 2; + pucch_delta_shift = 1; + pucch_nRB_CQI = 1; + pucch_nCS_AN = 0; + pucch_n1_AN = 32; + pdsch_referenceSignalPower = -27; + pdsch_p_b = 0; + pusch_n_SB = 1; + pusch_enable64QAM = "DISABLE"; + pusch_hoppingMode = "interSubFrame"; + pusch_hoppingOffset = 0; + pusch_groupHoppingEnabled = "ENABLE"; + pusch_groupAssignment = 0; + pusch_sequenceHoppingEnabled = "DISABLE"; + pusch_nDMRS1 = 1; + phich_duration = "NORMAL"; + phich_resource = "ONESIXTH"; + srs_enable = "DISABLE"; + /* srs_BandwidthConfig =; + srs_SubframeConfig =; + srs_ackNackST =; + srs_MaxUpPts =;*/ + + pusch_p0_Nominal = -96; + pusch_alpha = "AL1"; + pucch_p0_Nominal = -104; + msg3_delta_Preamble = 6; + pucch_deltaF_Format1 = "deltaF2"; + pucch_deltaF_Format1b = "deltaF3"; + pucch_deltaF_Format2 = "deltaF0"; + pucch_deltaF_Format2a = "deltaF0"; + pucch_deltaF_Format2b = "deltaF0"; + + rach_numberOfRA_Preambles = 64; + rach_preamblesGroupAConfig = "DISABLE"; + /* + rach_sizeOfRA_PreamblesGroupA = ; + rach_messageSizeGroupA = ; + rach_messagePowerOffsetGroupB = ; + */ + rach_powerRampingStep = 4; + rach_preambleInitialReceivedTargetPower = -108; + rach_preambleTransMax = 10; + rach_raResponseWindowSize = 10; + rach_macContentionResolutionTimer = 48; + rach_maxHARQ_Msg3Tx = 4; + + pcch_default_PagingCycle = 128; + pcch_nB = "oneT"; + bcch_modificationPeriodCoeff = 2; + ue_TimersAndConstants_t300 = 1000; + ue_TimersAndConstants_t301 = 1000; + ue_TimersAndConstants_t310 = 1000; + ue_TimersAndConstants_t311 = 10000; + ue_TimersAndConstants_n310 = 20; + ue_TimersAndConstants_n311 = 1; + ue_TransmissionMode = 1; + + # BR Parameters + br_parameters : + { + #SIB1 + schedulingInfoSIB1_BR_r13 = 4; + hyperSFN_r13 = 0; + #eDRX_Allowed_r13 = 0; + cellSelectionInfoCE_r13 = "ENABLE"; + q_RxLevMinCE_r13 = -50; + #q_QualMinRSRQ_CE_r13 = ; + bandwidthReducedAccessRelatedInfo_r13 = "ENABLE" + scheduling_info_br = + ( + { + si_Narrowband_r13 = 5; + si_TBS_r13 = 4; + } + ); + si_WindowLength_BR_r13 = 0; + si_RepetitionPattern_r13 = 0; + fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern10-r13" + fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; + fdd_UplinkSubframeBitmapBR_r13 = 0; + startSymbolBR_r13 = 1; + si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF ! + si_ValidityTime_r13 = 0; + system_info_value_tag_SI = + ( + { + systemInfoValueTagSi_r13 = 0; + } + ); + freqHoppingParametersDL_r13 = "ENABLE" + mpdcch_pdsch_HoppingNB_r13 = 0; + interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13" + interval_DLHoppingConfigCommonModeA_r13_val = 0; + interval_DLHoppingConfigCommonModeB_r13 = "interval-FDD-r13" + interval_DLHoppingConfigCommonModeB_r13_val = 0; + mpdcch_pdsch_HoppingOffset_r13 = 1; + + + # SIB23 + frame_type = "FDD"; + preambleTransMax_CE_r13 = 10; + + # max 4 + rach_CE_LevelInfoList_r13 = + ( + { + firstPreamble_r13 = 0; + lastPreamble_r13 = 63; + ra_ResponseWindowSize_r13 = 0; + mac_ContentionResolutionTimer_r13 = 0; + rar_HoppingConfig_r13 = 0; + } + ); + + prach_ConfigCommon_v1310 = "ENABLE"; + + # max 3 + rsrp_range_list = + ( + { + rsrp_range_br = 60; + } + ); + + # max 4 + prach_parameters_ce_r13 = + ( + { + prach_config_index_br = 3; + prach_freq_offset_br = 1; + prach_StartingSubframe_r13 = 0; + maxNumPreambleAttemptCE_r13 = 0; + numRepetitionPerPreambleAttempt_r13 = 0; + mpdcch_NumRepetition_RA_r13 = 0; + prach_HoppingConfig_r13 = 0; + max_available_narrow_band = + ( + { + maxavailablenarrowband = 2; + + } + ); + } + ); + + n1PUCCH_AN_InfoList_r13 = + ( + { + pucch_info_value = 12; + }, + { + pucch_info_value = 13; + } + ); + + mpdcch_startSF_CSS_RA_r13 = "fdd-r13" + mpdcch_startSF_CSS_RA_r13_val = 5; + #prach_HoppingOffset_r13 = ; + + prach_root = 1; + prach_config_index = 0; + prach_high_speed = "DISABLE"; + prach_zero_correlation = 1; + prach_freq_offset = 3; + pucch_delta_shift = 1; + pucch_nRB_CQI = 1; + pucch_nCS_AN = 0; + pucch_n1_AN = 32; + pdsch_referenceSignalPower = -27; + pdsch_p_b = 0; + pusch_n_SB = 1; + pusch_enable64QAM = "DISABLE"; + pusch_hoppingMode = "interSubFrame"; + pusch_hoppingOffset = 0; + pusch_groupHoppingEnabled = "ENABLE"; + pusch_groupAssignment = 0; + pusch_sequenceHoppingEnabled = "DISABLE"; + pusch_nDMRS1 = 1; + phich_duration = "NORMAL"; + phich_resource = "ONESIXTH"; + srs_enable = "DISABLE"; + pusch_p0_Nominal = -96; + pusch_alpha = "AL1"; + pucch_p0_Nominal = -104; + msg3_delta_Preamble = 6; + pucch_deltaF_Format1 = "deltaF2"; + pucch_deltaF_Format1b = "deltaF3"; + pucch_deltaF_Format2 = "deltaF0"; + pucch_deltaF_Format2a = "deltaF0"; + pucch_deltaF_Format2b = "deltaF0"; + rach_numberOfRA_Preambles = 64; + rach_preamblesGroupAConfig = "DISABLE"; + rach_powerRampingStep = 4; + rach_preambleInitialReceivedTargetPower = -108; + rach_preambleTransMax = 10; + rach_raResponseWindowSize = 10; + rach_macContentionResolutionTimer = 48; + rach_maxHARQ_Msg3Tx = 4; + pcch_default_PagingCycle = 128; + pcch_nB = "oneT"; + bcch_modificationPeriodCoeff = 2; + ue_TimersAndConstants_t300 = 1000; + ue_TimersAndConstants_t301 = 1000; + ue_TimersAndConstants_t310 = 1000; + ue_TimersAndConstants_t311 = 10000; + ue_TimersAndConstants_n310 = 20; + ue_TimersAndConstants_n311 = 1; + ue_TransmissionMode = 1; + + } + + + +} + + + + + ); + + + srb1_parameters : + { + # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] + timer_poll_retransmit = 80; + + # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] + timer_reordering = 35; + + # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] + timer_status_prohibit = 0; + + # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] + poll_pdu = 4; + + # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] + poll_byte = 99999; + + # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] + max_retx_threshold = 4; + } + + # ------- SCTP definitions + SCTP : + { + # Number of streams to use in input/output + SCTP_INSTREAMS = 2; + SCTP_OUTSTREAMS = 2; + }; + + + ////////// MME parameters: + mme_ip_address = ( { ipv4 = "172.17.0.10"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0:S1-C-eNB"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "172.17.0.21/24"; + ENB_INTERFACE_NAME_FOR_S1U = "eth0:S1-U-eNB"; + ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.21/24"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + log_config : + { + global_log_level ="info"; + global_log_verbosity ="medium"; + hw_log_level ="info"; + hw_log_verbosity ="medium"; + phy_log_level ="info"; + phy_log_verbosity ="medium"; + mac_log_level ="info"; + mac_log_verbosity ="high"; + rlc_log_level ="info"; + rlc_log_verbosity ="medium"; + pdcp_log_level ="info"; + pdcp_log_verbosity ="medium"; + rrc_log_level ="info"; + rrc_log_verbosity ="medium"; + }; + } +); + +MACRLCs = ( + { + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; + } +); + +L1s = ( + { + num_cc = 1; + tr_n_preference = "local_mac"; + } +); + +RUs = ( + { + local_rf = "yes" + nb_tx = 1 + nb_rx = 1 + att_tx = 0 + att_rx = 0; + bands = [13]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 125; + eNB_instances = [0]; + } +); From db9f855b3b5509020504ba2e7e63789e30ee7699 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Tue, 15 Aug 2017 11:48:29 +0200 Subject: [PATCH 028/109] add UEspec mpdcch search space subframe rule --- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 4 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 37 +++---------------- .../LAYER2/MAC/eNB_scheduler_primitives.c | 15 +++++++- openair2/LAYER2/MAC/proto.h | 2 +- 4 files changed, 21 insertions(+), 37 deletions(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 88ee3d14ae..0dd607b7da 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -212,7 +212,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t first_rb = narrowband_to_first_rb(&cc[CC_idP],RA_template->msg2_narrowband); if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2)>0)){ + (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2,-1)>0)){ // MPDCCH configuration for RAR @@ -558,7 +558,7 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t first_rb = narrowband_to_first_rb(&cc[CC_idP],RA_template->msg34_narrowband); if ((RA_template->msg4_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2)>0)){ + (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2,-1)>0)){ // MPDCCH configuration for RAR memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index a03ec0b3f9..7122ae3baf 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -416,14 +416,14 @@ set_ul_DAI( void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned int *narrowBandindex, unsigned int *first_rb){ EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11; - AssertFatal(pue_template->physicalConfigDedicated, "no RRC physical configuration for this UE ") ; - AssertFatal(pue_template->physicalConfigDedicated->ext4, "no RRC physical configuration for this UE ") ; + AssertFatal(pue_template->physicalConfigDedicated !=NULL, "no RRC physical configuration for this UE ") ; + AssertFatal(pue_template->physicalConfigDedicated->ext4 !=NULL, "no RRC physical configuration for this UE ") ; AssertFatal(pue_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.count > 0 ,"epdcch config list is empty") ; epdcch_setconfig_r11 = pue_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; - AssertFatal(epdcch_setconfig_r11->ext2 && epdcch_setconfig_r11->ext2->mpdcch_config_r13 ," mpdcch config not found") ; + AssertFatal(epdcch_setconfig_r11->ext2 !=NULL && epdcch_setconfig_r11->ext2->mpdcch_config_r13 !=NULL," mpdcch config not found") ; *maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 ; @@ -431,33 +431,6 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i -/* - epdcch_setconfig_r11->setConfigId_r11 = 0; - epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; - epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; - //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; - - epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; - epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; - epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; - - epdcch_setconfig_r11->ext2 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2)); - epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; - epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13)); - epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; - ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); - - */ } @@ -778,7 +751,7 @@ schedule_ue_spec_br( vrb_map[first_rb + 5] = 1; if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC) > 0)) + (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC,UE_id) > 0)) { // MPDCCH configuration for RAR dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; @@ -1393,7 +1366,7 @@ schedule_ue_spec_br( vrb_map[first_rb + 5] = 1; if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC) > 0)) + (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC,UE_id) > 0)) { // MPDCCH configuration for RAR dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 9fa7c16868..a8418d2316 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -486,9 +486,13 @@ int get_numnarrowbandbits(long dl_Bandwidth) { int startSF_fdd_RA_times2[8] = {2,3,4,5,8,10,16,20}; int startSF_tdd_RA[7] = {1,2,4,5,8,10,20}; -int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t subframeP,int rmax,MPDCCH_TYPES_t mpdcch_type) { +int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t subframeP,int rmax,MPDCCH_TYPES_t mpdcch_type,int UE_id) { struct PRACH_ConfigSIB_v1310 *ext4_prach = eNB->common_channels[CC_id].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11= eNB->UE_list ->UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; + + int T; switch (mpdcch_type) { @@ -513,7 +517,14 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t AssertFatal(1==0,"MPDCCH Type 2A not handled yet\n"); break; case TYPEUESPEC: - AssertFatal(1==0,"MPDCCH Type UESPEC not handled yet\n"); + AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); + AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); + + if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD + T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; + else //TDD + T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; + break; default: return(0); diff --git a/openair2/LAYER2/MAC/proto.h b/openair2/LAYER2/MAC/proto.h index 1a7421c7e7..85eaca5b21 100755 --- a/openair2/LAYER2/MAC/proto.h +++ b/openair2/LAYER2/MAC/proto.h @@ -905,7 +905,7 @@ uint8_t subframe2harqpid(COMMON_channels_t *cc,frame_t frame,sub_frame_t subfram #ifdef Rel14 int get_numnarrowbandbits(long dl_Bandwidth); -int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t subframeP,int rmax,MPDCCH_TYPES_t mpdcch_type); +int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t subframeP,int rmax,MPDCCH_TYPES_t mpdcch_type,int UE_id); int get_numnarrowbands(long dl_Bandwidth); From d160ae244aa13bddfdae8285c11948c6b6acb109 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Tue, 15 Aug 2017 12:00:30 +0200 Subject: [PATCH 029/109] fixing issues in do_RRCConnectionSetup_BR --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 69470aff1f..5c23f48fd7 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2267,14 +2267,16 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13)); epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + // FIXME allocate physicalConfigDedicated2->ext7 + physicalConfigDedicated2->ext7 = CALLOC(1, sizeof(struct PhysicalConfigDedicated__ext7)); physicalConfigDedicated2->ext7->pdsch_ConfigDedicated_v1310 = NULL; physicalConfigDedicated2->ext7->pusch_ConfigDedicated_r13 = NULL; @@ -2290,7 +2292,9 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->ext7->csi_RS_Config_v1310 = NULL; - physicalConfigDedicated2->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; + // FIXME ce_Mode_r13 allocation + physicalConfigDedicated2->ext7->ce_Mode_r13 = CALLOC(1, sizeof(struct PhysicalConfigDedicated__ext7__ce_Mode_r13)); + physicalConfigDedicated2->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; physicalConfigDedicated2->ext7->ce_Mode_r13->choice.setup = PhysicalConfigDedicated__ext7__ce_Mode_r13__setup_ce_ModeA; physicalConfigDedicated2->ext7->csi_RS_ConfigNZPToAddModListExt_r13 = NULL; physicalConfigDedicated2->ext7->csi_RS_ConfigNZPToReleaseListExt_r13 = NULL; From f0376c7e197d0a93659e84bf2ba14705d1f7d6f7 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Tue, 15 Aug 2017 13:31:14 +0200 Subject: [PATCH 030/109] updated fdd_DownlinkSubframe in enb_config.c , do_SIB1 and rrc_message_types.h --- openair2/COMMON/rrc_messages_types.h | 2 +- openair2/ENB_APP/enb_config.c | 6754 +++++++++++++------------ openair2/RRC/LITE/MESSAGES/asn1_msg.c | 43 +- 3 files changed, 3411 insertions(+), 3388 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index aedf9bfa19..35db0b40a0 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -205,7 +205,7 @@ typedef struct RrcConfigurationReq_s { long si_WindowLength_BR_r13 [MAX_NUM_CCs]; long si_RepetitionPattern_r13 [MAX_NUM_CCs]; - BOOLEAN_t fdd_DownlinkOrTddSubframeBitmapBR_r13 [MAX_NUM_CCs]; + BOOLEAN_t * fdd_DownlinkOrTddSubframeBitmapBR_r13 [MAX_NUM_CCs]; uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 [MAX_NUM_CCs]; uint16_t fdd_UplinkSubframeBitmapBR_r13 [MAX_NUM_CCs]; long startSymbolBR_r13 [MAX_NUM_CCs]; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index a5996d8a9a..afd5ec690e 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -20,12 +20,12 @@ */ /* - enb_config.c - ------------------- - AUTHOR : Lionel GAUTHIER, navid nikaein, Laurent Winckel - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr -*/ + enb_config.c + ------------------- +AUTHOR : Lionel GAUTHIER, navid nikaein, Laurent Winckel +COMPANY : EURECOM +EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr + */ #include #include @@ -411,11 +411,11 @@ static const eutra_band_t eutra_bands[] = { static int enb_check_band_frequencies(char* lib_config_file_name_pP, - int ind, - int16_t band, - uint32_t downlink_frequency, - int32_t uplink_frequency_offset, - lte_frame_type_t frame_type) + int ind, + int16_t band, + uint32_t downlink_frequency, + int32_t uplink_frequency_offset, + lte_frame_type_t frame_type) { int errors = 0; @@ -427,22 +427,22 @@ static int enb_check_band_frequencies(char* lib_config_file_name_pP, uint32_t uplink_frequency = downlink_frequency + uplink_frequency_offset; AssertError (eutra_bands[band_index].dl_min < downlink_frequency, errors ++, - "Failed to parse eNB configuration file %s, enb %d downlink frequency %u too low (%u) for band %d!", - lib_config_file_name_pP, ind, downlink_frequency, eutra_bands[band_index].dl_min, band); + "Failed to parse eNB configuration file %s, enb %d downlink frequency %u too low (%u) for band %d!", + lib_config_file_name_pP, ind, downlink_frequency, eutra_bands[band_index].dl_min, band); AssertError (downlink_frequency < eutra_bands[band_index].dl_max, errors ++, - "Failed to parse eNB configuration file %s, enb %d downlink frequency %u too high (%u) for band %d!", - lib_config_file_name_pP, ind, downlink_frequency, eutra_bands[band_index].dl_max, band); + "Failed to parse eNB configuration file %s, enb %d downlink frequency %u too high (%u) for band %d!", + lib_config_file_name_pP, ind, downlink_frequency, eutra_bands[band_index].dl_max, band); AssertError (eutra_bands[band_index].ul_min < uplink_frequency, errors ++, - "Failed to parse eNB configuration file %s, enb %d uplink frequency %u too low (%u) for band %d!", - lib_config_file_name_pP, ind, uplink_frequency, eutra_bands[band_index].ul_min, band); + "Failed to parse eNB configuration file %s, enb %d uplink frequency %u too low (%u) for band %d!", + lib_config_file_name_pP, ind, uplink_frequency, eutra_bands[band_index].ul_min, band); AssertError (uplink_frequency < eutra_bands[band_index].ul_max, errors ++, - "Failed to parse eNB configuration file %s, enb %d uplink frequency %u too high (%u) for band %d!", - lib_config_file_name_pP, ind, uplink_frequency, eutra_bands[band_index].ul_max, band); + "Failed to parse eNB configuration file %s, enb %d uplink frequency %u too high (%u) for band %d!", + lib_config_file_name_pP, ind, uplink_frequency, eutra_bands[band_index].ul_max, band); AssertError (eutra_bands[band_index].frame_type == frame_type, errors ++, - "Failed to parse eNB configuration file %s, enb %d invalid frame type (%d/%d) for band %d!", - lib_config_file_name_pP, ind, eutra_bands[band_index].frame_type, frame_type, band); + "Failed to parse eNB configuration file %s, enb %d invalid frame type (%d/%d) for band %d!", + lib_config_file_name_pP, ind, eutra_bands[band_index].frame_type, frame_type, band); } } } @@ -549,89 +549,89 @@ void RCconfig_RU() { if ( !( - config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_IF_NAME,(const char **)&if_name) - ) - ) { - fronthaul_flag = CONFIG_FALSE; + config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_IF_NAME,(const char **)&if_name) + ) + ) { + fronthaul_flag = CONFIG_FALSE; } if ( !( - config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_RF,(const char **)&local_rf) - ) - ) { + config_setting_lookup_string(setting_ru, CONFIG_STRING_RU_LOCAL_RF,(const char **)&local_rf) + ) + ) { local_rf_flag = CONFIG_FALSE; } - - if (local_rf_flag == CONFIG_TRUE) { // eNB or RRU - - if ( !( - config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RS_EPRE, &max_pdschReferenceSignalPower) && - config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RXGAIN, &max_rxgain) - ) - ) { + if (local_rf_flag == CONFIG_TRUE) { // eNB or RRU + + + if ( !( + config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RS_EPRE, &max_pdschReferenceSignalPower) && + config_setting_lookup_int(setting_ru, CONFIG_STRING_RU_MAX_RXGAIN, &max_rxgain) + ) + ) { AssertFatal (0, - "Failed to parse configuration file %s, RU %d config !\n", - RC.config_file_name, j); + "Failed to parse configuration file %s, RU %d config !\n", + RC.config_file_name, j); continue; } - AssertFatal((setting_band = config_setting_get_member(setting_ru, CONFIG_STRING_RU_BAND_LIST))!=NULL,"No allowable LTE bands\n"); + AssertFatal((setting_band = config_setting_get_member(setting_ru, CONFIG_STRING_RU_BAND_LIST))!=NULL,"No allowable LTE bands\n"); - if (setting_band != NULL) num_bands = config_setting_length(setting_band); - else num_bands=0; + if (setting_band != NULL) num_bands = config_setting_length(setting_band); + else num_bands=0; - for (i=0;i0) { - AssertFatal((setting_eNB_list = config_setting_get_member(setting_ru, CONFIG_STRING_RU_ENB_LIST))!=NULL,"No RU<->eNB mappings\n"); - - if (setting_eNB_list != NULL) num_eNB4RU = config_setting_length(setting_eNB_list); - else num_eNB4RU=0; - AssertFatal(num_eNB4RU>0,"Number of eNBs is zero\n"); - - for (i=0;ieNB mappings\n"); + + if (setting_eNB_list != NULL) num_eNB4RU = config_setting_length(setting_eNB_list); + else num_eNB4RU=0; + AssertFatal(num_eNB4RU>0,"Number of eNBs is zero\n"); + + for (i=0;inum_eNB = num_eNB4RU; for (i=0;ieNB_list[i] = RC.eNB[eNB_list[i]][0]; - + if (strcmp(local_rf, "yes") == 0) { - if (fronthaul_flag == CONFIG_FALSE) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = eNodeB_3GPP; - printf("Setting function for RU %d to eNodeB_3GPP\n",j); + if (fronthaul_flag == CONFIG_FALSE) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = eNodeB_3GPP; + printf("Setting function for RU %d to eNodeB_3GPP\n",j); } else { - RC.ru[j]->eth_params.local_if_name = strdup(if_name); - RC.ru[j]->eth_params.my_addr = strdup(ipv4); - RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote); - RC.ru[j]->eth_params.my_portc = local_portc; - RC.ru[j]->eth_params.remote_portc = remote_portc; - RC.ru[j]->eth_params.my_portd = local_portd; - RC.ru[j]->eth_params.remote_portd = remote_portd; + RC.ru[j]->eth_params.local_if_name = strdup(if_name); + RC.ru[j]->eth_params.my_addr = strdup(ipv4); + RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote); + RC.ru[j]->eth_params.my_portc = local_portc; + RC.ru[j]->eth_params.remote_portc = remote_portc; + RC.ru[j]->eth_params.my_portd = local_portd; + RC.ru[j]->eth_params.remote_portd = remote_portd; - if (strcmp(tr_preference, "udp") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; - printf("Setting function for RU %d to NGFI_RRU_IF5 (udp)\n",j); - } else if (strcmp(tr_preference, "raw") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; - printf("Setting function for RU %d to NGFI_RRU_IF5 (raw)\n",j); - } else if (strcmp(tr_preference, "udp_if4p5") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; - printf("Setting function for RU %d to NGFI_RRU_IF4p5 (udp)\n",j); - } else if (strcmp(tr_preference, "raw_if4p5") == 0) { - RC.ru[j]->if_south = LOCAL_RF; - RC.ru[j]->function = NGFI_RRU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; - printf("Setting function for RU %d to NGFI_RRU_IF4p5 (raw)\n",j); - } - } + if (strcmp(tr_preference, "udp") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; + printf("Setting function for RU %d to NGFI_RRU_IF5 (udp)\n",j); + } else if (strcmp(tr_preference, "raw") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; + printf("Setting function for RU %d to NGFI_RRU_IF5 (raw)\n",j); + } else if (strcmp(tr_preference, "udp_if4p5") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; + printf("Setting function for RU %d to NGFI_RRU_IF4p5 (udp)\n",j); + } else if (strcmp(tr_preference, "raw_if4p5") == 0) { + RC.ru[j]->if_south = LOCAL_RF; + RC.ru[j]->function = NGFI_RRU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; + printf("Setting function for RU %d to NGFI_RRU_IF4p5 (raw)\n",j); + } + } - RC.ru[j]->max_pdschReferenceSignalPower = max_pdschReferenceSignalPower; - RC.ru[j]->max_rxgain = max_rxgain; - RC.ru[j]->num_bands = num_bands; - for (i=0;iband[i] = band[i]; + RC.ru[j]->max_pdschReferenceSignalPower = max_pdschReferenceSignalPower; + RC.ru[j]->max_rxgain = max_rxgain; + RC.ru[j]->num_bands = num_bands; + for (i=0;iband[i] = band[i]; } else { - printf("RU %d: Transport %s\n",j,tr_preference); + printf("RU %d: Transport %s\n",j,tr_preference); - RC.ru[j]->eth_params.local_if_name = strdup(if_name); - RC.ru[j]->eth_params.my_addr = strdup(ipv4); - RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote); - RC.ru[j]->eth_params.my_portc = local_portc; - RC.ru[j]->eth_params.remote_portc = remote_portc; - RC.ru[j]->eth_params.my_portd = local_portd; - RC.ru[j]->eth_params.remote_portd = remote_portd; - for (i=0;ieNB_list[i] = RC.eNB[eNB_list[i]][0]; + RC.ru[j]->eth_params.local_if_name = strdup(if_name); + RC.ru[j]->eth_params.my_addr = strdup(ipv4); + RC.ru[j]->eth_params.remote_addr = strdup(ipv4_remote); + RC.ru[j]->eth_params.my_portc = local_portc; + RC.ru[j]->eth_params.remote_portc = remote_portc; + RC.ru[j]->eth_params.my_portd = local_portd; + RC.ru[j]->eth_params.remote_portd = remote_portd; + for (i=0;ieNB_list[i] = RC.eNB[eNB_list[i]][0]; - if (strcmp(tr_preference, "udp") == 0) { - RC.ru[j]->if_south = REMOTE_IF5; - RC.ru[j]->function = NGFI_RAU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; - } else if (strcmp(tr_preference, "raw") == 0) { - RC.ru[j]->if_south = REMOTE_IF5; - RC.ru[j]->function = NGFI_RAU_IF5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; - } else if (strcmp(tr_preference, "udp_if4p5") == 0) { - RC.ru[j]->if_south = REMOTE_IF4p5; - RC.ru[j]->function = NGFI_RAU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; - } else if (strcmp(tr_preference, "raw_if4p5") == 0) { - RC.ru[j]->if_south = REMOTE_IF4p5; - RC.ru[j]->function = NGFI_RAU_IF4p5; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; - } else if (strcmp(tr_preference, "raw_if5_mobipass") == 0) { - RC.ru[j]->if_south = REMOTE_IF5; - RC.ru[j]->function = NGFI_RAU_IF5; - RC.ru[j]->if_timing = synch_to_other; - RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF5_MOBIPASS; - } - RC.ru[j]->att_tx = att_tx; - RC.ru[j]->att_rx = att_rx; + if (strcmp(tr_preference, "udp") == 0) { + RC.ru[j]->if_south = REMOTE_IF5; + RC.ru[j]->function = NGFI_RAU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_MODE; + } else if (strcmp(tr_preference, "raw") == 0) { + RC.ru[j]->if_south = REMOTE_IF5; + RC.ru[j]->function = NGFI_RAU_IF5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_MODE; + } else if (strcmp(tr_preference, "udp_if4p5") == 0) { + RC.ru[j]->if_south = REMOTE_IF4p5; + RC.ru[j]->function = NGFI_RAU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_UDP_IF4p5_MODE; + } else if (strcmp(tr_preference, "raw_if4p5") == 0) { + RC.ru[j]->if_south = REMOTE_IF4p5; + RC.ru[j]->function = NGFI_RAU_IF4p5; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF4p5_MODE; + } else if (strcmp(tr_preference, "raw_if5_mobipass") == 0) { + RC.ru[j]->if_south = REMOTE_IF5; + RC.ru[j]->function = NGFI_RAU_IF5; + RC.ru[j]->if_timing = synch_to_other; + RC.ru[j]->eth_params.transp_preference = ETH_RAW_IF5_MOBIPASS; + } + RC.ru[j]->att_tx = att_tx; + RC.ru[j]->att_rx = att_rx; } RC.ru[j]->nb_tx = nb_tx; @@ -772,25 +772,25 @@ void RCconfig_L1() { setting_l1 = config_setting_get_elem(setting, j); if (!config_setting_lookup_int (setting_l1,CONFIG_STRING_L1_CC,&RC.nb_L1_CC[j])) - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); if (RC.eNB[j] == NULL) { - RC.eNB[j] = (PHY_VARS_eNB **)malloc((1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB**)); - LOG_I(PHY,"RC.eNB[%d] = %p\n",j,RC.eNB[j]); - memset(RC.eNB[j],0,(1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB***)); + RC.eNB[j] = (PHY_VARS_eNB **)malloc((1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB**)); + LOG_I(PHY,"RC.eNB[%d] = %p\n",j,RC.eNB[j]); + memset(RC.eNB[j],0,(1+MAX_NUM_CCs)*sizeof(PHY_VARS_eNB***)); } for (i=0;iMod_id = j; - RC.eNB[j][i]->CC_id = i; - } + if (RC.eNB[j][i] == NULL) { + RC.eNB[j][i] = (PHY_VARS_eNB *)malloc(sizeof(PHY_VARS_eNB)); + memset((void*)RC.eNB[j][i],0,sizeof(PHY_VARS_eNB)); + LOG_I(PHY,"RC.eNB[%d][%d] = %p\n",j,i,RC.eNB[j][i]); + RC.eNB[j][i]->Mod_id = j; + RC.eNB[j][i]->CC_id = i; + } } @@ -800,38 +800,38 @@ void RCconfig_L1() { printf("RU %d: Transport %s\n",j,tr_n_preference); if (!(config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_TRANSPORT_N_PREFERENCE, (const char **)&tr_n_preference))) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); } if (strcmp(tr_n_preference, "local_mac") == 0) { } else if (strcmp(tr_n_preference, "nfapi") == 0) { - if ( !( - config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_IF_NAME, (const char **)&if_name_n) - && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_ADDRESS, (const char **)&ipv4_n) - && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTC, &local_n_portc) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTC, &remote_n_portc) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTD, &local_n_portd) - && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTD, &remote_n_portd) - ) - ) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } - RC.eNB[j][0]->eth_params_n.local_if_name = strdup(if_name_n); - RC.eNB[j][0]->eth_params_n.my_addr = strdup(ipv4_n); - RC.eNB[j][0]->eth_params_n.remote_addr = strdup(ipv4_n_remote); - RC.eNB[j][0]->eth_params_n.my_portc = local_n_portc; - RC.eNB[j][0]->eth_params_n.remote_portc = remote_n_portc; - RC.eNB[j][0]->eth_params_n.my_portd = local_n_portd; - RC.eNB[j][0]->eth_params_n.remote_portd = remote_n_portd; - RC.eNB[j][0]->eth_params_n.transp_preference = ETH_UDP_MODE; + if ( !( + config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_IF_NAME, (const char **)&if_name_n) + && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_LOCAL_N_ADDRESS, (const char **)&ipv4_n) + && config_setting_lookup_string(setting_l1, CONFIG_STRING_L1_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTC, &local_n_portc) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTC, &remote_n_portc) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_LOCAL_N_PORTD, &local_n_portd) + && config_setting_lookup_int (setting_l1, CONFIG_STRING_L1_REMOTE_N_PORTD, &remote_n_portd) + ) + ) { + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + RC.eNB[j][0]->eth_params_n.local_if_name = strdup(if_name_n); + RC.eNB[j][0]->eth_params_n.my_addr = strdup(ipv4_n); + RC.eNB[j][0]->eth_params_n.remote_addr = strdup(ipv4_n_remote); + RC.eNB[j][0]->eth_params_n.my_portc = local_n_portc; + RC.eNB[j][0]->eth_params_n.remote_portc = remote_n_portc; + RC.eNB[j][0]->eth_params_n.my_portd = local_n_portd; + RC.eNB[j][0]->eth_params_n.remote_portd = remote_n_portd; + RC.eNB[j][0]->eth_params_n.transp_preference = ETH_UDP_MODE; } else { // other midhaul @@ -886,52 +886,52 @@ void RCconfig_macrlc() { printf("macrlc %d/%d \n",j,RC.nb_macrlc_inst); if (!(config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_TRANSPORT_N_PREFERENCE, (const char **)&tr_n_preference))) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); } printf("MACRLC %d: Northbound Transport %s\n",j,tr_n_preference); if (strcmp(tr_n_preference, "local_RRC") == 0) { - // check number of instances is same as RRC/PDCP + // check number of instances is same as RRC/PDCP } else if (strcmp(tr_n_preference, "cudu") == 0) { - if ( !( - config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_IF_NAME, (const char **)&if_name_n) - && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_ADDRESS, (const char **)&ipv4_n) - && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_PORTC, &local_n_portc) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_PORTC, &remote_n_portc) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_PORTD, &local_n_portd) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_PORTD, &remote_n_portd) - ) - ) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } - RC.mac[j]->eth_params_n.local_if_name = strdup(if_name_n); - RC.mac[j]->eth_params_n.my_addr = strdup(ipv4_n); - RC.mac[j]->eth_params_n.remote_addr = strdup(ipv4_n_remote); - RC.mac[j]->eth_params_n.my_portc = local_n_portc; - RC.mac[j]->eth_params_n.remote_portc = remote_n_portc; - RC.mac[j]->eth_params_n.my_portd = local_n_portd; - RC.mac[j]->eth_params_n.remote_portd = remote_n_portd; - RC.mac[j]->eth_params_n.transp_preference = ETH_UDP_MODE; + if ( !( + config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_IF_NAME, (const char **)&if_name_n) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_ADDRESS, (const char **)&ipv4_n) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_ADDRESS, (const char **)&ipv4_n_remote) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_PORTC, &local_n_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_PORTC, &remote_n_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_N_PORTD, &local_n_portd) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_N_PORTD, &remote_n_portd) + ) + ) { + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + RC.mac[j]->eth_params_n.local_if_name = strdup(if_name_n); + RC.mac[j]->eth_params_n.my_addr = strdup(ipv4_n); + RC.mac[j]->eth_params_n.remote_addr = strdup(ipv4_n_remote); + RC.mac[j]->eth_params_n.my_portc = local_n_portc; + RC.mac[j]->eth_params_n.remote_portc = remote_n_portc; + RC.mac[j]->eth_params_n.my_portd = local_n_portd; + RC.mac[j]->eth_params_n.remote_portd = remote_n_portd; + RC.mac[j]->eth_params_n.transp_preference = ETH_UDP_MODE; } else { // other midhaul - AssertFatal(1==0,"MACRLC %d: unknown northbound midhaul\n",j); + AssertFatal(1==0,"MACRLC %d: unknown northbound midhaul\n",j); } if (!(config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_TRANSPORT_S_PREFERENCE, (const char **)&tr_s_preference))) { - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... } printf("MACRLC %d: Southbound Transport %s\n",j,tr_s_preference); @@ -941,33 +941,33 @@ void RCconfig_macrlc() { } else if (strcmp(tr_s_preference, "nfapi") == 0) { - if ( !( - config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_IF_NAME, (const char **)&if_name_s) - && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_ADDRESS, (const char **)&ipv4_s) - && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTC, &local_s_portc) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTC, &remote_s_portc) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTD, &local_s_portd) - && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTD, &remote_s_portd) - )){ - AssertFatal (0, - "Failed to parse configuration file %s, L1 %d config !\n", - RC.config_file_name, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } + if ( !( + config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_IF_NAME, (const char **)&if_name_s) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_ADDRESS, (const char **)&ipv4_s) + && config_setting_lookup_string(setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTC, &local_s_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTC, &remote_s_portc) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_LOCAL_S_PORTD, &local_s_portd) + && config_setting_lookup_int (setting_macrlc, CONFIG_STRING_MACRLC_REMOTE_S_PORTD, &remote_s_portd) + )){ + AssertFatal (0, + "Failed to parse configuration file %s, L1 %d config !\n", + RC.config_file_name, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } - RC.mac[j]->eth_params_s.local_if_name = strdup(if_name_s); - RC.mac[j]->eth_params_s.my_addr = strdup(ipv4_s); - RC.mac[j]->eth_params_s.remote_addr = strdup(ipv4_s_remote); - RC.mac[j]->eth_params_s.my_portc = local_s_portc; - RC.mac[j]->eth_params_s.remote_portc = remote_s_portc; - RC.mac[j]->eth_params_s.my_portd = local_s_portd; - RC.mac[j]->eth_params_s.remote_portd = remote_s_portd; - RC.mac[j]->eth_params_s.transp_preference = ETH_UDP_MODE; + RC.mac[j]->eth_params_s.local_if_name = strdup(if_name_s); + RC.mac[j]->eth_params_s.my_addr = strdup(ipv4_s); + RC.mac[j]->eth_params_s.remote_addr = strdup(ipv4_s_remote); + RC.mac[j]->eth_params_s.my_portc = local_s_portc; + RC.mac[j]->eth_params_s.remote_portc = remote_s_portc; + RC.mac[j]->eth_params_s.my_portd = local_s_portd; + RC.mac[j]->eth_params_s.remote_portd = remote_s_portd; + RC.mac[j]->eth_params_s.transp_preference = ETH_UDP_MODE; } else { // other midhaul - AssertFatal(1==0,"MACRLC %d: unknown southbound midhaul\n",j); + AssertFatal(1==0,"MACRLC %d: unknown southbound midhaul\n",j); } }// j=0..num_inst } @@ -1218,19 +1218,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { asn1_xer_print = 0; } } - + #endif - + // Get list of active eNBs, (only these will be configured) setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - + if (setting != NULL) { num_enbs = config_setting_length(setting); setting_enb = config_setting_get_elem(setting, i); active_enb[i] = config_setting_get_string (setting_enb); AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %uth attribute %s \n", - RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); + "Failed to parse config file %s, %uth attribute %s \n", + RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); active_enb[i] = strdup(active_enb[i]); } @@ -1246,28 +1246,28 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { setting_enb = config_setting_get_elem(setting, i); if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - // Calculate a default eNB ID + // Calculate a default eNB ID # if defined(ENABLE_USE_MME) - uint32_t hash; + uint32_t hash; - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); + hash = s1ap_generate_eNB_id (); + enb_id = i + (hash & 0xFFFF8); # else - enb_id = i; + enb_id = i; # endif } if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRANSPORT_S_PREFERENCE, (const char **)&tr_s_preference) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRANSPORT_S_PREFERENCE, (const char **)&tr_s_preference) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); } printf("RRC %d: Southbound Transport %s\n",j,tr_s_preference); @@ -1277,3365 +1277,3379 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else if (strcmp(tr_s_preference, "cudu") == 0) { - if ( !(config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_IF_NAME, (const char **)&if_name_s) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_ADDRESS, (const char **)&ipv4_s) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTC, &local_s_portc) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTC, &remote_s_portc) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTD, &local_s_portd) - && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTD, &remote_s_portd) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); - } - rrc->eth_params_s.local_if_name = strdup(if_name_s); - rrc->eth_params_s.my_addr = strdup(ipv4_s); - rrc->eth_params_s.remote_addr = strdup(ipv4_s_remote); - rrc->eth_params_s.my_portc = local_s_portc; - rrc->eth_params_s.remote_portc = remote_s_portc; - rrc->eth_params_s.my_portd = local_s_portd; - rrc->eth_params_s.remote_portd = remote_s_portd; - rrc->eth_params_s.transp_preference = ETH_UDP_MODE; + if ( !(config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_IF_NAME, (const char **)&if_name_s) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_LOCAL_S_ADDRESS, (const char **)&ipv4_s) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_REMOTE_S_ADDRESS, (const char **)&ipv4_s_remote) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTC, &local_s_portc) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTC, &remote_s_portc) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_LOCAL_S_PORTD, &local_s_portd) + && config_setting_lookup_int (setting_enb, ENB_CONFIG_STRING_REMOTE_S_PORTD, &remote_s_portd) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); + } + rrc->eth_params_s.local_if_name = strdup(if_name_s); + rrc->eth_params_s.my_addr = strdup(ipv4_s); + rrc->eth_params_s.remote_addr = strdup(ipv4_s_remote); + rrc->eth_params_s.my_portc = local_s_portc; + rrc->eth_params_s.remote_portc = remote_s_portc; + rrc->eth_params_s.my_portd = local_s_portd; + rrc->eth_params_s.remote_portd = remote_s_portd; + rrc->eth_params_s.transp_preference = ETH_UDP_MODE; } - + else { // other midhaul } // search if in active list for (j=0; j < num_enbs; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { + if (strcmp(active_enb[j], enb_name) == 0) { - RRC_CONFIGURATION_REQ (msg_p).cell_identity = enb_id; - RRC_CONFIGURATION_REQ (msg_p).tac = (uint16_t)atoi(tac); - RRC_CONFIGURATION_REQ (msg_p).mcc = (uint16_t)atoi(mcc); - RRC_CONFIGURATION_REQ (msg_p).mnc = (uint16_t)atoi(mnc); - RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length = strlen(mnc); - AssertFatal((RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 2) || - (RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length); + RRC_CONFIGURATION_REQ (msg_p).cell_identity = enb_id; + RRC_CONFIGURATION_REQ (msg_p).tac = (uint16_t)atoi(tac); + RRC_CONFIGURATION_REQ (msg_p).mcc = (uint16_t)atoi(mcc); + RRC_CONFIGURATION_REQ (msg_p).mnc = (uint16_t)atoi(mnc); + RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length = strlen(mnc); + AssertFatal((RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 2) || + (RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 3), + "BAD MNC DIGIT LENGTH %d", + RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length); - LOG_I(RRC,"RRC config (%s,%s,%s)\n",mcc,mnc,tac); - // Parse optional physical parameters + LOG_I(RRC,"RRC config (%s,%s,%s)\n",mcc,mnc,tac); + // Parse optional physical parameters - setting_component_carriers = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_COMPONENT_CARRIERS); - nb_cc = 0; + setting_component_carriers = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_COMPONENT_CARRIERS); + nb_cc = 0; - if (setting_component_carriers != NULL) { + if (setting_component_carriers != NULL) { - num_component_carriers = config_setting_length(setting_component_carriers); - LOG_I(RRC,"num component carriers %d \n", num_component_carriers); + num_component_carriers = config_setting_length(setting_component_carriers); + LOG_I(RRC,"num component carriers %d \n", num_component_carriers); - //enb_properties_loc.properties[enb_properties_loc_index]->nb_cc = num_component_carriers; - for (j = 0; j < num_component_carriers ;j++) { // && j < MAX_NUM_CCs; j++) { - component_carrier = config_setting_get_elem(setting_component_carriers, j); + //enb_properties_loc.properties[enb_properties_loc_index]->nb_cc = num_component_carriers; + for (j = 0; j < num_component_carriers ;j++) { // && j < MAX_NUM_CCs; j++) { + component_carrier = config_setting_get_elem(setting_component_carriers, j); - //printf("Component carrier %d\n",component_carrier); - if (!(config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG, &tdd_config) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG_S, &tdd_config_s) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PREFIX_TYPE, &prefix_type) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PBCH_REPETITION, &pbch_repetition) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_EUTRA_BAND, &eutra_band) - && config_setting_lookup_int64(component_carrier, ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, &downlink_frequency) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, &uplink_frequency_offset) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NID_CELL, &Nid_cell) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_N_RB_DL, &N_RB_DL) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_CELL_MBSFN, &Nid_cell_mbsfn) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NB_ANT_PORTS, &nb_antenna_ports) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) - && 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) + //printf("Component carrier %d\n",component_carrier); + if (!(config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG, &tdd_config) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_TDD_CONFIG_S, &tdd_config_s) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PREFIX_TYPE, &prefix_type) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PBCH_REPETITION, &pbch_repetition) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_EUTRA_BAND, &eutra_band) + && config_setting_lookup_int64(component_carrier, ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, &downlink_frequency) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, &uplink_frequency_offset) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NID_CELL, &Nid_cell) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_N_RB_DL, &N_RB_DL) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_CELL_MBSFN, &Nid_cell_mbsfn) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_NB_ANT_PORTS, &nb_antenna_ports) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) + && 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) #if !defined(Rel10) && !defined(Rel14) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN) + && 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) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) - && 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) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && 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) #if defined(Rel10) || defined(Rel14) #endif - )) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, Component Carrier %d!\n", - RC.config_file_name, nb_cc++); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } + )) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } - nb_cc++; - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + nb_cc++; + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } #ifdef Rel14 - if (!pbch_repetition) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; - } - else if (strcmp(pbch_repetition, "FALSE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", - RC.config_file_name, i, pbch_repetition); - } + if (!pbch_repetition) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); + else if (strcmp(pbch_repetition, "TRUE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; + } + else if (strcmp(pbch_repetition, "FALSE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", + RC.config_file_name, i, pbch_repetition); + } #endif - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; - if (Nid_cell>503) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", - RC.config_file_name, i, Nid_cell); - } + if (Nid_cell>503) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", + RC.config_file_name, i, Nid_cell); + } - RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; + RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; - if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", - RC.config_file_name, i, N_RB_DL); - } + if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", + RC.config_file_name, i, N_RB_DL); + } - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; - } - else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, i, frame_type); - } + if (strcmp(frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; + } + else if (strcmp(frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + RC.config_file_name, i, frame_type); + } - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - if (enb_check_band_frequencies(RC.config_file_name, - j, - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], - RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { - AssertFatal(0, "error calling enb_check_band_frequencies\n"); - } + if (enb_check_band_frequencies(RC.config_file_name, + j, + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], + RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { + AssertFatal(0, "error calling enb_check_band_frequencies\n"); + } - if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", - RC.config_file_name, i, nb_antenna_ports); + if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", + RC.config_file_name, i, nb_antenna_ports); - RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; + RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); #if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); #endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, - (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); - if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) - )) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", - RC.config_file_name, i); + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); #ifndef Rel14 - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } #else - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; - } + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; + } #endif - 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", - RC.config_file_name, i, pusch_alpha); + 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", + RC.config_file_name, i, pusch_alpha); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; - if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", - RC.config_file_name, i); + if (!(config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; - case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; - case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); - } - else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); - switch (rach_preambleTransMax) { + switch (rach_preambleTransMax) { #ifndef Rel14 - _ case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; + _ case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; #else - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; - break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; + break; #endif - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; - } - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - - } - - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + switch (pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; + } + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + switch (ue_TimersAndConstants_t300) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; + + } + + switch (ue_TimersAndConstants_t301) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - - } + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; + + } - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; + switch (ue_TimersAndConstants_t310) { + case 0: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; + + case 500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; + + } + + switch (ue_TimersAndConstants_t311) { + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; + + case 3110: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; + + case 5000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; + + case 10000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; + + case 15000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; + + case 20000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; + + case 31100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TimersAndConstants_n310) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; + + } + + switch (ue_TimersAndConstants_n311) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } - case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - - } - - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; - - case 3110: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; - - case 31100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - - } - - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; - } - #ifdef Rel14 - setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); - if (setting_br13 == NULL) { - puts("setting BR is NULL"); - } else { - puts("setting BR is NOT NULL"); - } - - if (setting_br13 != NULL) { - - scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); - int num_scheduling_info = config_setting_length(scheduling_info_br_list); - RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; - - for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) - { - scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); - if (!( - config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) - && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) - ) - ){ - AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; - RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; - } - - system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); - int num_system_info = config_setting_length(system_info_value_tag_SI_list); - RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; - - for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) - { - system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); - if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) - { - AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; - } - - - rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); - int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); - RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; - int rach_info_level_idx; - for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) - { - rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); - if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) - ) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", - RC.config_file_name, nb_cc++); - } - - RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = ra_ResponseWindowSize_r13; - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13; - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = rar_HoppingConfig_r13; - - } - - rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); - int num_rsrp_list = config_setting_length(rsrp_range_list); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; - int rsrp_range_idx; - for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) - { - rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); - if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rsrp_range %d!\n", - RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; - } - - prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); - int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); - RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; - int prach_parameters_index; - for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index) - { - prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index); - if (! (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) ) - ) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n", - RC.config_file_name, nb_cc++); - } - - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = numRepetitionPerPreambleAttempt_r13; - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = mpdcch_NumRepetition_RA_r13; - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = prach_HoppingConfig_r13; - - if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; - } - - if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; - } - - } - - - // TODO - // max_available_narrow_band = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); - - - n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); - - int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list); - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = num_pucch_an_info; - int pucch_info_idx; - for (pucch_info_idx = 0; pucch_info_idx < num_pucch_an_info; ++pucch_info_idx) - { - n1_pucch_AN_info_r13 = config_setting_get_elem(n1_pucch_AN_info_r13_list, pucch_info_idx); - if (! (config_setting_lookup_int(n1_pucch_AN_info_r13, ENB_CONFIG_STRING_PUCCH_INFO_VALUE, &pucch_info_value)) ) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, n1_pucch_AN_info_list_r13_list %d!\n", - RC.config_file_name, nb_cc++); - } - - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value; - } - - // Rel8 RadioResourceConfigCommon Parameters - if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) - - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) - )) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, Component Carrier %d!\n", - RC.config_file_name, nb_cc++); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; - - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; - - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); - - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; - - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; - - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; - - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; - - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; - - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; - - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); - - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; - - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); - - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); - - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; - - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); - - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); - - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); - - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); - - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); - - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); - - if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { - if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) - )) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", - RC.config_file_name, i); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; - - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; - - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); - - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); - - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; - - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); - - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", - RC.config_file_name, i, pusch_alpha); - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; - - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; - - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); - - - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); - - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); - - - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); - - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); - - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); - - - - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; - - - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); - - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; - - if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", - RC.config_file_name, i); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - - - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; - - case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; - - case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } - - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } + setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); + if (setting_br13 == NULL) { + puts("setting BR is NULL"); + } else { + puts("setting BR is NOT NULL"); + } + + if (setting_br13 != NULL) { + + scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); + int num_scheduling_info = config_setting_length(scheduling_info_br_list); + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; + + for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) + { + scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); + if (!( + config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) + && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) + ) + ){ + AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; + } + + system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); + int num_system_info = config_setting_length(system_info_value_tag_SI_list); + RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; + + for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) + { + system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); + if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) + { + AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; + } + + + rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); + int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; + int rach_info_level_idx; + for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) + { + rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); + if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = ra_ResponseWindowSize_r13; + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13; + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = rar_HoppingConfig_r13; + + } + + rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); + int num_rsrp_list = config_setting_length(rsrp_range_list); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; + int rsrp_range_idx; + for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) + { + rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); + if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rsrp_range %d!\n", + RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; + } + + prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); + int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; + int prach_parameters_index; + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index) + { + prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index); + if (! (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = numRepetitionPerPreambleAttempt_r13; + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = mpdcch_NumRepetition_RA_r13; + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = prach_HoppingConfig_r13; + + if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; + } + + if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; + } + + } + + + // TODO + // max_available_narrow_band = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); + + + n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); + + int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = num_pucch_an_info; + int pucch_info_idx; + for (pucch_info_idx = 0; pucch_info_idx < num_pucch_an_info; ++pucch_info_idx) + { + n1_pucch_AN_info_r13 = config_setting_get_elem(n1_pucch_AN_info_r13_list, pucch_info_idx); + if (! (config_setting_lookup_int(n1_pucch_AN_info_r13, ENB_CONFIG_STRING_PUCCH_INFO_VALUE, &pucch_info_value)) ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, n1_pucch_AN_info_list_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value; + } + + // Rel8 RadioResourceConfigCommon Parameters + if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) + )) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; + + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; + + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; + + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; + + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; + + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; + + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); + + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); + + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; + + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; + + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; + + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); + + + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); + + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); + + + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); + + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); + + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); + + + + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + + + if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + + if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + + + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; + + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; + + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } + + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); - } - else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); - switch (rach_preambleTransMax) { + switch (rach_preambleTransMax) { - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; - break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; - break; - - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; + break; + + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + switch (pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; - } - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - - } - - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + break; + } + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + switch (ue_TimersAndConstants_t300) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + break; + + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t300); + break; + + } + + switch (ue_TimersAndConstants_t301) { + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200; + break; + + case 300: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + break; + + case 400: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + break; + + case 600: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + break; - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; + case 1500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + break; - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t301); + break; + + } - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + switch (ue_TimersAndConstants_t310) { + case 0: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; + break; + + case 500: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; + break; + + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; + break; + + case 2000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + RC.config_file_name, i, ue_TimersAndConstants_t310); + break; + + } + + switch (ue_TimersAndConstants_t311) { + case 1000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; + break; + + case 3110: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; + break; + + case 5000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; + break; + + case 10000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; + break; + + case 15000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; + break; + + case 20000: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; + break; + + case 31100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TimersAndConstants_n310) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + RC.config_file_name, i, ue_TimersAndConstants_n311); + break; + + } + + switch (ue_TimersAndConstants_n311) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", + RC.config_file_name, i, ue_TimersAndConstants_t311); + break; + + } + + switch (ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } + + int hyperSFN_r13; + int eDRX_Allowed_r13; + int q_RxLevMinCE_r13; + int q_QualMinRSRQ_CE_r13; + int si_WindowLength_BR_r13; + int si_RepetitionPattern_r13; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + int startSymbolBR_r13; + int si_HoppingConfigCommon_r13; + int si_ValidityTime_r13; + int mpdcch_pdsch_HoppingNB_r13; + int interval_DLHoppingConfigCommonModeA_r13_val; + int interval_DLHoppingConfigCommonModeB_r13_val; + int mpdcch_pdsch_HoppingOffset_r13; + int preambleTransMax_CE_r13; + int mpdcch_startSF_CSS_RA_r13_val; + int prach_HoppingOffset_r13; + int schedulingInfoSIB1_BR_r13; + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13; + + + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", + RC.config_file_name, i); + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) + { + printf("Enabling BR access SI scheduling parameters\n"); + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + + bool fdd_downlink_exist = config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13); + if (fdd_downlink_exist) + { + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + + config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13); + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL; + } + + + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; + + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + + } + + else + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + + + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + + /////SIB2 Parameters + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; + } + else + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; - case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - - } - - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; - - case 3110: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; - - case 31100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - - } - - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; - } - - int hyperSFN_r13; - int eDRX_Allowed_r13; - int q_RxLevMinCE_r13; - int q_QualMinRSRQ_CE_r13; - int si_WindowLength_BR_r13; - int si_RepetitionPattern_r13; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - int startSymbolBR_r13; - int si_HoppingConfigCommon_r13; - int si_ValidityTime_r13; - int mpdcch_pdsch_HoppingNB_r13; - int interval_DLHoppingConfigCommonModeA_r13_val; - int interval_DLHoppingConfigCommonModeB_r13_val; - int mpdcch_pdsch_HoppingOffset_r13; - int preambleTransMax_CE_r13; - int mpdcch_startSF_CSS_RA_r13_val; - int prach_HoppingOffset_r13; - int schedulingInfoSIB1_BR_r13; - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13; - - - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", - RC.config_file_name, i); - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; - - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); - *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) - { - printf("Enabling BR access SI scheduling parameters\n"); - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13) || - !config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; - - } - - else - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; - - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; - - - - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; - - /////SIB2 Parameters - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) - { - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; - else - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; - } - else - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; - - #endif - - setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); - if (setting_srb1 != NULL) { - if (!(config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, &srb1_timer_poll_retransmit) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, &srb1_timer_reordering) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, &srb1_timer_status_prohibit) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, &srb1_max_retx_threshold) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_PDU, &srb1_poll_pdu) - && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_BYTE, &srb1_poll_byte))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d timer_poll_retransmit, timer_reordering, " - "timer_status_prohibit, poll_pdu, poll_byte, max_retx_threshold !\n", - RC.config_file_name, i); - - switch (srb1_max_retx_threshold) { - case 1: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; - break; - - case 2: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; - break; - - case 3: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; - break; - - case 4: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; - break; - - case 6: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; - break; - - case 8: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - break; - - case 16: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; - break; - - case 32: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", - RC.config_file_name, i, srb1_max_retx_threshold); - } - - - switch (srb1_poll_pdu) { - case 4: - rrc->srb1_poll_pdu = PollPDU_p4; - break; - - case 8: - rrc->srb1_poll_pdu = PollPDU_p8; - break; - - case 16: - rrc->srb1_poll_pdu = PollPDU_p16; - break; - - case 32: - rrc->srb1_poll_pdu = PollPDU_p32; - break; - - case 64: - rrc->srb1_poll_pdu = PollPDU_p64; - break; - - case 128: - rrc->srb1_poll_pdu = PollPDU_p128; - break; - - case 256: - rrc->srb1_poll_pdu = PollPDU_p256; - break; - - default: - if (srb1_poll_pdu >= 10000) - rrc->srb1_poll_pdu = PollPDU_pInfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", - RC.config_file_name, i, srb1_poll_pdu); - } - - rrc->srb1_poll_byte = srb1_poll_byte; - - switch (srb1_poll_byte) { - case 25: - rrc->srb1_poll_byte = PollByte_kB25; - break; - - case 50: - rrc->srb1_poll_byte = PollByte_kB50; - break; - - case 75: - rrc->srb1_poll_byte = PollByte_kB75; - break; - - case 100: - rrc->srb1_poll_byte = PollByte_kB100; - break; - - case 125: - rrc->srb1_poll_byte = PollByte_kB125; - break; - - case 250: - rrc->srb1_poll_byte = PollByte_kB250; - break; - - case 375: - rrc->srb1_poll_byte = PollByte_kB375; - break; - - case 500: - rrc->srb1_poll_byte = PollByte_kB500; - break; - - case 750: - rrc->srb1_poll_byte = PollByte_kB750; - break; - - case 1000: - rrc->srb1_poll_byte = PollByte_kB1000; - break; - - case 1250: - rrc->srb1_poll_byte = PollByte_kB1250; - break; - - case 1500: - rrc->srb1_poll_byte = PollByte_kB1500; - break; - - case 2000: - rrc->srb1_poll_byte = PollByte_kB2000; - break; - - case 3000: - rrc->srb1_poll_byte = PollByte_kB3000; - break; - - default: - if (srb1_poll_byte >= 10000) - rrc->srb1_poll_byte = PollByte_kBinfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", - RC.config_file_name, i, srb1_poll_byte); - } - - if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; - } - else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } - - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; - } - else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; - } - else { - AssertFatal(0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", - RC.config_file_name, i, srb1_timer_status_prohibit); - } - - switch (srb1_timer_reordering) { - case 0: - rrc->srb1_timer_reordering = T_Reordering_ms0; - break; - - case 5: - rrc->srb1_timer_reordering = T_Reordering_ms5; - break; - - case 10: - rrc->srb1_timer_reordering = T_Reordering_ms10; - break; - - case 15: - rrc->srb1_timer_reordering = T_Reordering_ms15; - break; - - case 20: - rrc->srb1_timer_reordering = T_Reordering_ms20; - break; - - case 25: - rrc->srb1_timer_reordering = T_Reordering_ms25; - break; - - case 30: - rrc->srb1_timer_reordering = T_Reordering_ms30; - break; - - case 35: - rrc->srb1_timer_reordering = T_Reordering_ms35; - break; - - case 40: - rrc->srb1_timer_reordering = T_Reordering_ms40; - break; - - case 45: - rrc->srb1_timer_reordering = T_Reordering_ms45; - break; - - case 50: - rrc->srb1_timer_reordering = T_Reordering_ms50; - break; - - case 55: - rrc->srb1_timer_reordering = T_Reordering_ms55; - break; - - case 60: - rrc->srb1_timer_reordering = T_Reordering_ms60; - break; - - case 65: - rrc->srb1_timer_reordering = T_Reordering_ms65; - break; - - case 70: - rrc->srb1_timer_reordering = T_Reordering_ms70; - break; - - case 75: - rrc->srb1_timer_reordering = T_Reordering_ms75; - break; - - case 80: - rrc->srb1_timer_reordering = T_Reordering_ms80; - break; - - case 85: - rrc->srb1_timer_reordering = T_Reordering_ms85; - break; - - case 90: - rrc->srb1_timer_reordering = T_Reordering_ms90; - break; - - case 95: - rrc->srb1_timer_reordering = T_Reordering_ms95; - break; - - case 100: - rrc->srb1_timer_reordering = T_Reordering_ms100; - break; - - case 110: - rrc->srb1_timer_reordering = T_Reordering_ms110; - break; - - case 120: - rrc->srb1_timer_reordering = T_Reordering_ms120; - break; - - case 130: - rrc->srb1_timer_reordering = T_Reordering_ms130; - break; - - case 140: - rrc->srb1_timer_reordering = T_Reordering_ms140; - break; - - case 150: - rrc->srb1_timer_reordering = T_Reordering_ms150; - break; - - case 160: - rrc->srb1_timer_reordering = T_Reordering_ms160; - break; - - case 170: - rrc->srb1_timer_reordering = T_Reordering_ms170; - break; - - case 180: - rrc->srb1_timer_reordering = T_Reordering_ms180; - break; - - case 190: - rrc->srb1_timer_reordering = T_Reordering_ms190; - break; - - case 200: - rrc->srb1_timer_reordering = T_Reordering_ms200; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } - - break; - } + setting_srb1 = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SRB1); - } - } - } + if (setting_srb1 != NULL) { + if (!(config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, &srb1_timer_poll_retransmit) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, &srb1_timer_reordering) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, &srb1_timer_status_prohibit) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, &srb1_max_retx_threshold) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_PDU, &srb1_poll_pdu) + && config_setting_lookup_int(setting_srb1, ENB_CONFIG_STRING_SRB1_POLL_BYTE, &srb1_poll_byte))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d timer_poll_retransmit, timer_reordering, " + "timer_status_prohibit, poll_pdu, poll_byte, max_retx_threshold !\n", + RC.config_file_name, i); + + switch (srb1_max_retx_threshold) { + case 1: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; + break; + + case 2: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; + break; + + case 3: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; + break; + + case 4: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; + break; + + case 6: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; + break; + + case 8: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + break; + + case 16: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; + break; + + case 32: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", + RC.config_file_name, i, srb1_max_retx_threshold); + } + + + switch (srb1_poll_pdu) { + case 4: + rrc->srb1_poll_pdu = PollPDU_p4; + break; + + case 8: + rrc->srb1_poll_pdu = PollPDU_p8; + break; + + case 16: + rrc->srb1_poll_pdu = PollPDU_p16; + break; + + case 32: + rrc->srb1_poll_pdu = PollPDU_p32; + break; + + case 64: + rrc->srb1_poll_pdu = PollPDU_p64; + break; + + case 128: + rrc->srb1_poll_pdu = PollPDU_p128; + break; + + case 256: + rrc->srb1_poll_pdu = PollPDU_p256; + break; + + default: + if (srb1_poll_pdu >= 10000) + rrc->srb1_poll_pdu = PollPDU_pInfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", + RC.config_file_name, i, srb1_poll_pdu); + } + + rrc->srb1_poll_byte = srb1_poll_byte; + + switch (srb1_poll_byte) { + case 25: + rrc->srb1_poll_byte = PollByte_kB25; + break; + + case 50: + rrc->srb1_poll_byte = PollByte_kB50; + break; + + case 75: + rrc->srb1_poll_byte = PollByte_kB75; + break; + + case 100: + rrc->srb1_poll_byte = PollByte_kB100; + break; + + case 125: + rrc->srb1_poll_byte = PollByte_kB125; + break; + + case 250: + rrc->srb1_poll_byte = PollByte_kB250; + break; + + case 375: + rrc->srb1_poll_byte = PollByte_kB375; + break; + + case 500: + rrc->srb1_poll_byte = PollByte_kB500; + break; + + case 750: + rrc->srb1_poll_byte = PollByte_kB750; + break; + + case 1000: + rrc->srb1_poll_byte = PollByte_kB1000; + break; + + case 1250: + rrc->srb1_poll_byte = PollByte_kB1250; + break; + + case 1500: + rrc->srb1_poll_byte = PollByte_kB1500; + break; + + case 2000: + rrc->srb1_poll_byte = PollByte_kB2000; + break; + + case 3000: + rrc->srb1_poll_byte = PollByte_kB3000; + break; + + default: + if (srb1_poll_byte >= 10000) + rrc->srb1_poll_byte = PollByte_kBinfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", + RC.config_file_name, i, srb1_poll_byte); + } + + if (srb1_timer_poll_retransmit <= 250) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5) / 5; + } + else if (srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300) / 50 + 50; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_timer_poll_retransmit); + } + + if (srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit / 5; + } + else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300) / 50 + 51; + } + else { + AssertFatal(0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + RC.config_file_name, i, srb1_timer_status_prohibit); + } + + switch (srb1_timer_reordering) { + case 0: + rrc->srb1_timer_reordering = T_Reordering_ms0; + break; + + case 5: + rrc->srb1_timer_reordering = T_Reordering_ms5; + break; + + case 10: + rrc->srb1_timer_reordering = T_Reordering_ms10; + break; + + case 15: + rrc->srb1_timer_reordering = T_Reordering_ms15; + break; + + case 20: + rrc->srb1_timer_reordering = T_Reordering_ms20; + break; + + case 25: + rrc->srb1_timer_reordering = T_Reordering_ms25; + break; + + case 30: + rrc->srb1_timer_reordering = T_Reordering_ms30; + break; + + case 35: + rrc->srb1_timer_reordering = T_Reordering_ms35; + break; + + case 40: + rrc->srb1_timer_reordering = T_Reordering_ms40; + break; + + case 45: + rrc->srb1_timer_reordering = T_Reordering_ms45; + break; + + case 50: + rrc->srb1_timer_reordering = T_Reordering_ms50; + break; + + case 55: + rrc->srb1_timer_reordering = T_Reordering_ms55; + break; + + case 60: + rrc->srb1_timer_reordering = T_Reordering_ms60; + break; + + case 65: + rrc->srb1_timer_reordering = T_Reordering_ms65; + break; + + case 70: + rrc->srb1_timer_reordering = T_Reordering_ms70; + break; + + case 75: + rrc->srb1_timer_reordering = T_Reordering_ms75; + break; + + case 80: + rrc->srb1_timer_reordering = T_Reordering_ms80; + break; + + case 85: + rrc->srb1_timer_reordering = T_Reordering_ms85; + break; + + case 90: + rrc->srb1_timer_reordering = T_Reordering_ms90; + break; + + case 95: + rrc->srb1_timer_reordering = T_Reordering_ms95; + break; + + case 100: + rrc->srb1_timer_reordering = T_Reordering_ms100; + break; + + case 110: + rrc->srb1_timer_reordering = T_Reordering_ms110; + break; + + case 120: + rrc->srb1_timer_reordering = T_Reordering_ms120; + break; + + case 130: + rrc->srb1_timer_reordering = T_Reordering_ms130; + break; + + case 140: + rrc->srb1_timer_reordering = T_Reordering_ms140; + break; + + case 150: + rrc->srb1_timer_reordering = T_Reordering_ms150; + break; + + case 160: + rrc->srb1_timer_reordering = T_Reordering_ms160; + break; + + case 170: + rrc->srb1_timer_reordering = T_Reordering_ms170; + break; + + case 180: + rrc->srb1_timer_reordering = T_Reordering_ms180; + break; + + case 190: + rrc->srb1_timer_reordering = T_Reordering_ms190; + break; + + case 200: + rrc->srb1_timer_reordering = T_Reordering_ms200; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", + RC.config_file_name, i, srb1_timer_reordering); + } + + break; + } + + } + } + } + } } } } -} -int RCconfig_gtpu() { - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *subsetting = NULL; - config_setting_t *setting_enb = NULL; - int num_enbs = 0; - libconfig_int enb_id = 0; + int RCconfig_gtpu() { + config_t cfg; + config_setting_t *setting = NULL; + config_setting_t *subsetting = NULL; + config_setting_t *setting_enb = NULL; + int num_enbs = 0; + libconfig_int enb_id = 0; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - libconfig_int enb_port_for_S1U = 0; - char *address = NULL; - char *cidr = NULL; - char *astring = NULL; + char* enb_interface_name_for_S1U = NULL; + char* enb_ipv4_address_for_S1U = NULL; + libconfig_int enb_port_for_S1U = 0; + char *address = NULL; + char *cidr = NULL; + char *astring = NULL; - // for no gcc warnings - (void)astring; + // for no gcc warnings + (void)astring; - LOG_I(GTPU,"Configuring GTPu\n"); + LOG_I(GTPU,"Configuring GTPu\n"); - config_init(&cfg); + config_init(&cfg); - if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. - if (! config_read_file(&cfg, RC.config_file_name)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); - } - } else { - config_destroy(&cfg); - AssertFatal (0, "No eNB configuration file provided!\n"); - } - - // Get list of active eNBs, (only these will be configured) - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - - if (setting != NULL) { - num_enbs = config_setting_length(setting); - setting_enb = config_setting_get_elem(setting, 0); - } - - if (num_enbs>0) { - // Output a list of all eNBs. - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - - if (setting != NULL) { - - - setting_enb = config_setting_get_elem(setting, 0); - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - - if (subsetting != NULL) { - if ( (config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { - - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - - LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up); - - } - - RC.gtpv1u_data_g->enb_port_for_S1u_S12_S4_up = enb_port_for_S1U; - - } + if (RC.config_file_name != NULL) { + // Read the file. If there is an error, report it and exit. + if (! config_read_file(&cfg, RC.config_file_name)) { + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); } - } - } -} - - -int RCconfig_S1(MessageDef *msg_p, uint32_t i) { - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *subsetting = NULL; - config_setting_t *setting_mme_addresses = NULL; - config_setting_t *setting_mme_address = NULL; - config_setting_t *setting_enb = NULL; - config_setting_t *setting_otg = NULL; - config_setting_t *subsetting_otg = NULL; - int parse_errors = 0; - int num_enbs = 0; - int num_mme_address = 0; - int num_otg_elements = 0; - int num_component_carriers = 0; - int j = 0; - libconfig_int enb_id = 0; - - - const char* cell_type = NULL; - const char* tac = 0; - const char* enb_name = NULL; - const char* mcc = 0; - const char* mnc = 0; - - libconfig_int my_int; - - - char* if_name = NULL; - char* ipv4 = NULL; - char* ipv4_remote = NULL; - char* ipv6 = NULL; - char* local_rf = NULL; - char* preference = NULL; - char* active = NULL; - - char* tr_preference = NULL; - libconfig_int local_port = 0; - libconfig_int remote_port = 0; - const char* active_enb[MAX_ENB]; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - libconfig_int enb_port_for_S1U = 0; - char* enb_interface_name_for_S1_MME = NULL; - char* enb_ipv4_address_for_S1_MME = NULL; - char *address = NULL; - char *cidr = NULL; - char *astring = NULL; - - // for no gcc warnings - (void)astring; - (void)my_int; - - memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*)); - - config_init(&cfg); - - if (RC.config_file_name != NULL) { - // Read the file. If there is an error, report it and exit. - if (! config_read_file(&cfg, RC.config_file_name)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); - } - } else { - config_destroy(&cfg); - AssertFatal (0, "No eNB configuration file provided!\n"); - } - -#if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME) - - if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { - if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { - asn_debug = 0; - asn1_xer_print = 0; - } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { - asn_debug = 1; - asn1_xer_print = 1; - } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { - asn_debug = 1; - asn1_xer_print = 2; } else { - asn_debug = 0; - asn1_xer_print = 0; + config_destroy(&cfg); + AssertFatal (0, "No eNB configuration file provided!\n"); } - } -#endif - - // Get list of active eNBs, (only these will be configured) - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - - if (setting != NULL) { - num_enbs = config_setting_length(setting); - setting_enb = config_setting_get_elem(setting, i); - active_enb[i] = config_setting_get_string (setting_enb); - AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %uth attribute %s \n", - RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS); - active_enb[i] = strdup(active_enb[i]); - } - - - if (num_enbs>0) { - // Output a list of all eNBs. - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); + // Get list of active eNBs, (only these will be configured) + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); if (setting != NULL) { num_enbs = config_setting_length(setting); + setting_enb = config_setting_get_elem(setting, 0); + } - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); + if (num_enbs>0) { + // Output a list of all eNBs. + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - // Calculate a default eNB ID - -# if defined(ENABLE_USE_MME) - uint32_t hash; - - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); -# else - enb_id = i; -# endif - } - - if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) + if (setting != NULL) { - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb\n", - RC.config_file_name, i); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } + setting_enb = config_setting_get_elem(setting, 0); + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - // search if in active list - for (j=0; j < num_enbs; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { + if (subsetting != NULL) { + if ( (config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, + (const char **)&enb_interface_name_for_S1U) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, + (const char **)&enb_ipv4_address_for_S1U) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, + &enb_port_for_S1U) + ) + ) { - S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id; + cidr = enb_ipv4_address_for_S1U; + address = strtok(cidr, "/"); - if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - RC.config_file_name, i, cell_type); - } + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(enb_name); - S1AP_REGISTER_ENB_REQ (msg_p).tac = (uint16_t)atoi(tac); - S1AP_REGISTER_ENB_REQ (msg_p).mcc = (uint16_t)atoi(mcc); - S1AP_REGISTER_ENB_REQ (msg_p).mnc = (uint16_t)atoi(mnc); - S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length = strlen(mnc); - S1AP_REGISTER_ENB_REQ (msg_p).default_drx = 0; - AssertFatal((S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 2) || - (S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length); + LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up); + } + RC.gtpv1u_data_g->enb_port_for_S1u_S12_S4_up = enb_port_for_S1U; - setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); - num_mme_address = config_setting_length(setting_mme_addresses); - S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0; - - for (j = 0; j < num_mme_address; j++) { - setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); - - if ( !( - config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) - ) - ) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, %u th enb %u th mme address !\n", - RC.config_file_name, i, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } - - S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1; - - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4_address,ipv4); - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6_address,ipv6); - - if (strcmp(active, "yes") == 0) { -#if defined(ENABLE_USE_MME) - EPC_MODE_ENABLED = 1; -#endif - } - if (strcmp(preference, "ipv4") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; - } else if (strcmp(preference, "ipv6") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; - } else if (strcmp(preference, "no") == 0) { - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; - S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; - } - } - - - // SCTP SETTING - S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = SCTP_OUT_STREAMS; - S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = SCTP_IN_STREAMS; -# if defined(ENABLE_USE_MME) - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); - - if (subsetting != NULL) { - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { - S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)my_int; - } - - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { - S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)my_int; - } - } -#endif - - // NETWORK_INTERFACES - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, - (const char **)&enb_interface_name_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, - (const char **)&enb_ipv4_address_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { - // S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); - - S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0; - S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4 = 1; - - strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, address); - - } - } - - - - - break; - } - } + } + } } } } - return; -} -void RCConfig(const char *config_file_name) { - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *setting_enb = NULL; - config_setting_t *setting_component_carriers = NULL; - config_init(&cfg); + int RCconfig_S1(MessageDef *msg_p, uint32_t i) { + config_t cfg; + config_setting_t *setting = NULL; + config_setting_t *subsetting = NULL; + config_setting_t *setting_mme_addresses = NULL; + config_setting_t *setting_mme_address = NULL; + config_setting_t *setting_enb = NULL; + config_setting_t *setting_otg = NULL; + config_setting_t *subsetting_otg = NULL; + int parse_errors = 0; + int num_enbs = 0; + int num_mme_address = 0; + int num_otg_elements = 0; + int num_component_carriers = 0; + int j = 0; + libconfig_int enb_id = 0; - if (config_file_name != NULL) { - RC.config_file_name = config_file_name; - if (! config_read_file(&cfg, RC.config_file_name)) { + const char* cell_type = NULL; + const char* tac = 0; + const char* enb_name = NULL; + const char* mcc = 0; + const char* mnc = 0; + + libconfig_int my_int; + + + char* if_name = NULL; + char* ipv4 = NULL; + char* ipv4_remote = NULL; + char* ipv6 = NULL; + char* local_rf = NULL; + char* preference = NULL; + char* active = NULL; + + char* tr_preference = NULL; + libconfig_int local_port = 0; + libconfig_int remote_port = 0; + const char* active_enb[MAX_ENB]; + char* enb_interface_name_for_S1U = NULL; + char* enb_ipv4_address_for_S1U = NULL; + libconfig_int enb_port_for_S1U = 0; + char* enb_interface_name_for_S1_MME = NULL; + char* enb_ipv4_address_for_S1_MME = NULL; + char *address = NULL; + char *cidr = NULL; + char *astring = NULL; + + // for no gcc warnings + (void)astring; + (void)my_int; + + memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*)); + + config_init(&cfg); + + if (RC.config_file_name != NULL) { + // Read the file. If there is an error, report it and exit. + if (! config_read_file(&cfg, RC.config_file_name)) { + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + } + } else { config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + AssertFatal (0, "No eNB configuration file provided!\n"); } - // Get num eNB instances + +#if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME) + + if ( (config_lookup_string( &cfg, ENB_CONFIG_STRING_ASN1_VERBOSITY, (const char **)&astring) )) { + if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE) == 0) { + asn_debug = 0; + asn1_xer_print = 0; + } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO) == 0) { + asn_debug = 1; + asn1_xer_print = 1; + } else if (strcasecmp(astring , ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING) == 0) { + asn_debug = 1; + asn1_xer_print = 2; + } else { + asn_debug = 0; + asn1_xer_print = 0; + } + } + +#endif + + // Get list of active eNBs, (only these will be configured) setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - if (setting != NULL) RC.nb_inst = config_setting_length(setting); - if (RC.nb_inst > 0) { - printf("Number of eNB RRC instances %d\n",RC.nb_inst); - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - RC.nb_CC = (int *)malloc((1+RC.nb_inst)*sizeof(int)); - for (int i=0;i0) { + // Output a list of all eNBs. + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - // Get num RU instances - setting = config_lookup(&cfg, CONFIG_STRING_RU_LIST); - if (setting != NULL) RC.nb_RU = config_setting_length(setting); - } - else { - config_destroy(&cfg); - AssertFatal(0,"Configuration file is null\n"); + if (setting != NULL) { + num_enbs = config_setting_length(setting); + + for (i = 0; i < num_enbs; i++) { + setting_enb = config_setting_get_elem(setting, i); + + if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { + // Calculate a default eNB ID + +# if defined(ENABLE_USE_MME) + uint32_t hash; + + hash = s1ap_generate_eNB_id (); + enb_id = i + (hash & 0xFFFF8); +# else + enb_id = i; +# endif + } + + if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) + && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) + + + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb\n", + RC.config_file_name, i); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } + + // search if in active list + for (j=0; j < num_enbs; j++) { + if (strcmp(active_enb[j], enb_name) == 0) { + + S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id; + + if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_MACRO_ENB; + } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", + RC.config_file_name, i, cell_type); + } + + S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(enb_name); + S1AP_REGISTER_ENB_REQ (msg_p).tac = (uint16_t)atoi(tac); + S1AP_REGISTER_ENB_REQ (msg_p).mcc = (uint16_t)atoi(mcc); + S1AP_REGISTER_ENB_REQ (msg_p).mnc = (uint16_t)atoi(mnc); + S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length = strlen(mnc); + S1AP_REGISTER_ENB_REQ (msg_p).default_drx = 0; + AssertFatal((S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 2) || + (S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length == 3), + "BAD MNC DIGIT LENGTH %d", + S1AP_REGISTER_ENB_REQ (msg_p).mnc_digit_length); + + + + setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); + num_mme_address = config_setting_length(setting_mme_addresses); + S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0; + + for (j = 0; j < num_mme_address; j++) { + setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); + + if ( !( + config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) + && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) + ) + ) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, %u th enb %u th mme address !\n", + RC.config_file_name, i, j); + continue; // FIXME will prevent segfaults below, not sure what happens at function exit... + } + + S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1; + + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4_address,ipv4); + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6_address,ipv6); + + if (strcmp(active, "yes") == 0) { +#if defined(ENABLE_USE_MME) + EPC_MODE_ENABLED = 1; +#endif + } + if (strcmp(preference, "ipv4") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; + } else if (strcmp(preference, "ipv6") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } else if (strcmp(preference, "no") == 0) { + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv4 = 1; + S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[j].ipv6 = 1; + } + } + + + // SCTP SETTING + S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = SCTP_OUT_STREAMS; + S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = SCTP_IN_STREAMS; +# if defined(ENABLE_USE_MME) + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); + + if (subsetting != NULL) { + if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { + S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)my_int; + } + + if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { + S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)my_int; + } + } +#endif + + // NETWORK_INTERFACES + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); + + if (subsetting != NULL) { + if ( ( + config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, + (const char **)&enb_interface_name_for_S1_MME) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, + (const char **)&enb_ipv4_address_for_S1_MME) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, + (const char **)&enb_interface_name_for_S1U) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, + (const char **)&enb_ipv4_address_for_S1U) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, + &enb_port_for_S1U) + ) + ) { + // S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); + cidr = enb_ipv4_address_for_S1U; + address = strtok(cidr, "/"); + + S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0; + S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4 = 1; + + strcpy(S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv4_address, address); + + } + } + + + + + break; + } + } + } + } + } + return; } - return; -} + void RCConfig(const char *config_file_name) { + + config_t cfg; + config_setting_t *setting = NULL; + config_setting_t *setting_enb = NULL; + config_setting_t *setting_component_carriers = NULL; + config_init(&cfg); + + if (config_file_name != NULL) { + + RC.config_file_name = config_file_name; + if (! config_read_file(&cfg, RC.config_file_name)) { + config_destroy(&cfg); + AssertFatal (0, "Failed to parse eNB configuration file %s!\n", RC.config_file_name); + } + // Get num eNB instances + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); + + if (setting != NULL) RC.nb_inst = config_setting_length(setting); + if (RC.nb_inst > 0) { + printf("Number of eNB RRC instances %d\n",RC.nb_inst); + setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); + RC.nb_CC = (int *)malloc((1+RC.nb_inst)*sizeof(int)); + for (int i=0;ibandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 + + if (configuration->fdd_DownlinkOrTddSubframeBitmapBR_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13)); - memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13, 0, sizeof(sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13))); - if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) - { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + if (*configuration->fdd_DownlinkOrTddSubframeBitmapBR_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; + } + else + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; + } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.size = 2; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern10_r13.bits_unused = 6; } else { - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; - - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; } sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); From 32201bf30b48587eb64b046f90c62c3bc63b25a3 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Tue, 15 Aug 2017 13:34:09 +0200 Subject: [PATCH 031/109] commit before merge from repository --- openair1/PHY/LTE_TRANSPORT/defs.h | 19 ++++++-- openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c | 35 +++++++++++++-- openair1/PHY/LTE_TRANSPORT/pmch.c | 3 +- openair1/PHY/LTE_TRANSPORT/proto.h | 1 + openair1/SCHED/phy_procedures_lte_eNb.c | 45 ++++++++++--------- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 7 ++- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 16 ++++--- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 2 +- 8 files changed, 92 insertions(+), 36 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h index e2be6810b2..e2105df344 100755 --- a/openair1/PHY/LTE_TRANSPORT/defs.h +++ b/openair1/PHY/LTE_TRANSPORT/defs.h @@ -148,6 +148,8 @@ typedef struct { uint16_t nb_rb; /// downlink power offset field uint8_t dl_power_off; + /// start symbold of pdsch + uint8_t pdsch_start; /// Concatenated "e"-sequences (for definition see 36-212 V8.6 2009-03, p.17-18) uint8_t e[MAX_NUM_CHANNEL_BITS] __attribute__((aligned(32))); /// Turbo-code outputs (36-212 V8.6 2009-03, p.12 @@ -172,8 +174,8 @@ typedef struct { uint8_t Nlayers; /// First layer for this PSCH transmission uint8_t first_layer; - /// codeword this transport block is mapped to - uint8_t codeword; + /// codeword this transport block is mapped to + uint8_t codeword; } LTE_DL_eNB_HARQ_t; typedef struct { @@ -250,11 +252,18 @@ typedef struct { uint8_t decode_phich; } LTE_UL_UE_HARQ_t; +#ifdef Rel14 +typedef enum { + CEmodeA = 0, + CEmodeB = 1 +} CEmode_t; +#endif + typedef struct { /// TX buffers for UE-spec transmission (antenna ports 5 or 7..14, prior to precoding) int32_t *txdataF[8]; /// beamforming weights for UE-spec transmission (antenna ports 5 or 7..14), for each codeword, maximum 4 layers? - int32_t **ue_spec_bf_weights[4]; + int32_t **ue_spec_bf_weights[4]; /// dl channel estimates (estimated from ul channel estimates) int32_t **calib_dl_ch_estimates; /// Allocated RNTI (0 means DLSCH_t is not currently used) @@ -292,7 +301,11 @@ typedef struct { /// amplitude of PDSCH (compared to RS) in symbols containing pilots int16_t sqrt_rho_b; #ifdef Rel14 + /// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling uint8_t sib1_br_flag; + /// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling + uint16_t i0; + CEmode_t CEmode; #endif } LTE_eNB_DLSCH_t; diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c index eaaddb0c07..e11a637893 100755 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c @@ -74,23 +74,50 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms, int harq_pid, int G, uint8_t q, + uint16_t frame, uint8_t Ns) { - int i; + int n; // uint8_t reset; uint32_t x1, x2, s=0; uint8_t *dlsch_e=dlsch->harq_processes[harq_pid]->e; uint8_t *e=dlsch_e; +#ifdef Rel14 + // Rule for accumulation of subframes for BL/CE UEs + uint8_t Nacc=4; + uint16_t j0,j,idelta; + uint16_t i = (Ns>>1) + (10*frame); + uint16_t i0 = dlsch->i0; + if (dlsch->sib1_br_flag==1) Nacc=1; + else if (dlsch->rnti == 0xFFFF || dlsch->rnti == 0xFFFE) Nacc = (frame_parms->frame_type == TDD) ? 10 : 4; + // Note: above SC-RNTI will also have to be added when/if implemented + else if (dlsch->CEmode == CEmodeA) Nacc=1; + else if (dlsch->CEmode == CEmodeB) Nacc = (frame_parms->frame_type == TDD) ? 10 : 4; + + if (frame_parms->frame_type == FDD || Nacc == 1) idelta = 0; + else idelta = Nacc-2; + + j0 = (i0+idelta)/Nacc; + j = (i - i0)/Nacc; +#endif VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_SCRAMBLING, VCD_FUNCTION_IN); // reset = 1; // x1 is set in lte_gold_generic if (mbsfn_flag == 0) { - x2 = (dlsch->rnti<<14) + (q<<13) + ((Ns>>1)<<9) + frame_parms->Nid_cell; //this is c_init in 36.211 Sec 6.3.1 +#ifdef Rel14 + if (dlsch->i0 != 0xFFFF) { + // rule for BL/CE UEs from Section 6.3.1 in 36.211 + x2= (dlsch->rnti<<14) + (q<<13) + ((((j0+j)*Nacc)%10)<<9) + frame_parms->Nid_cell; + if ((frame&1023) < 200) LOG_D(PHY,"Scrambling init for (i0 %d, i %d, j0 %d, j %d, Nacc %d) => x2 %d\n",i0,i,j0,j,Nacc,x2); + } + else +#endif + x2 = (dlsch->rnti<<14) + (q<<13) + ((Ns>>1)<<9) + frame_parms->Nid_cell; //this is c_init in 36.211 Sec 6.3.1 for PDSCH } else { - x2 = ((Ns>>1)<<9) + frame_parms->Nid_cell_mbsfn; //this is c_init in 36.211 Sec 6.3.1 + x2 = ((Ns>>1)<<9) + frame_parms->Nid_cell_mbsfn; //this is c_init in 36.211 Sec 6.3.1 for PMCH } #ifdef DEBUG_SCRAMBLING @@ -98,7 +125,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms, #endif s = lte_gold_scram(&x1, &x2, 1); - for (i=0; i<(1+(G>>5)); i++) { + for (n=0; n<(1+(G>>5)); n++) { #ifdef DEBUG_SCRAMBLING printf("scrambling %d : %d => ",k,e[k]); diff --git a/openair1/PHY/LTE_TRANSPORT/pmch.c b/openair1/PHY/LTE_TRANSPORT/pmch.c index 3aa14d924c..40f157e56b 100755 --- a/openair1/PHY/LTE_TRANSPORT/pmch.c +++ b/openair1/PHY/LTE_TRANSPORT/pmch.c @@ -285,6 +285,7 @@ void generate_mch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t *a) int G; int subframe = proc->subframe_tx; + int frame = proc->frame_tx; if (eNB->abstraction_flag != 0) { if (eNB_transport_info_TB_index[eNB->Mod_id][eNB->CC_id]!=0) @@ -324,7 +325,7 @@ void generate_mch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t *a) &eNB->dlsch_interleaving_stats)==0, "problem in dlsch_encoding"); - dlsch_scrambling(&eNB->frame_parms,1,eNB->dlsch_MCH,0,G,0,subframe<<1); + dlsch_scrambling(&eNB->frame_parms,1,eNB->dlsch_MCH,0,G,0,frame,subframe<<1); mch_modulation(eNB->common_vars.txdataF, diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index 87b736e1b4..f3bc2c5db1 100755 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -1973,6 +1973,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms, int hard_pid, int G, uint8_t q, + uint16_t frame, uint8_t Ns); void dlsch_unscrambling(LTE_DL_FRAME_PARMS *frame_parms, diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 80789c2e8d..e350cf14c3 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -705,8 +705,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, LTE_eNB_DLSCH_t *dlsch, LTE_eNB_DLSCH_t *dlsch1, LTE_eNB_UE_stats *ue_stats, - int ra_flag, - int num_pdcch_symbols) { + int ra_flag) { int frame=proc->frame_tx; int subframe=proc->subframe_tx; @@ -717,15 +716,15 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, if (frame < 20) { LOG_I(PHY, - "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", num_pdcch_symbols %d, G %d, nb_rb %"PRIu16", rb0 %x, rb1 %x, TBS %"PRIu16", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", + "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", pdsch_start %d, G %d, nb_rb %"PRIu16", rb0 %x, rb1 %x, TBS %"PRIu16", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", eNB->Mod_id, dlsch->rnti,harq_pid, - frame, subframe, input_buffer_length, num_pdcch_symbols, + frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, get_G(fp, dlsch_harq->nb_rb, dlsch_harq->rb_alloc, dlsch_harq->Qm, dlsch_harq->Nl, - num_pdcch_symbols, + dlsch_harq->pdsch_start, frame, subframe, dlsch_harq->mimo_mode==TM7?7:0), @@ -751,7 +750,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, dlsch_harq->rb_alloc, dlsch_harq->Qm, dlsch_harq->Nl, - num_pdcch_symbols, + dlsch_harq->pdsch_start, frame, subframe, dlsch_harq->mimo_mode==TM7?7:0), @@ -857,7 +856,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, start_meas(&eNB->dlsch_encoding_stats); eNB->te(eNB, dlsch_harq->pdu, - num_pdcch_symbols, + dlsch_harq->pdsch_start, dlsch, frame,subframe, &eNB->dlsch_rate_matching_stats, @@ -875,10 +874,11 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, dlsch_harq->rb_alloc, dlsch_harq->Qm, dlsch_harq->Nl, - num_pdcch_symbols, + dlsch_harq->pdsch_start, frame,subframe, 0), 0, + frame, subframe<<1); stop_meas(&eNB->dlsch_scrambling_stats); @@ -889,7 +889,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, eNB->common_vars.txdataF, AMP, subframe, - num_pdcch_symbols, + dlsch_harq->pdsch_start, dlsch, dlsch1); @@ -991,6 +991,9 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, uint8_t *sdu) { nfapi_dl_config_dlsch_pdu_rel8_t *rel8 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8; +#ifndef Rel8 + nfapi_dl_config_dlsch_pdu_rel10_t *rel10 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10; +#endif #ifdef Rel14 nfapi_dl_config_dlsch_pdu_rel13_t *rel13 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13; #endif @@ -1017,6 +1020,12 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch1_harq = dlsch1->harq_processes[harq_pid]; AssertFatal(dlsch0_harq!=NULL,"dlsch_harq is null\n"); + + dlsch0_harq->pdsch_start = eNB->pdcch_vars[proc->subframe_tx & 1].num_pdcch_symbols; + + + + LOG_D(PHY,"NFAPI: frame %d, subframe %d: programming dlsch, rnti %x, UE_id %d, harq_pid %d\n", proc->frame_tx,proc->subframe_tx,rel8->rnti,UE_id,harq_pid); if (codeword_index == 0) dlsch0_harq->pdu = sdu; @@ -1025,10 +1034,12 @@ handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, #ifdef Rel14 dlsch0->sib1_br_flag=0; if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR - dlsch0->rnti = 0xFFFF; - dlsch0->Kmimo = 1; - dlsch0->Mdlharq = 4; - dlsch0->Nsoft = 25344; + dlsch0->rnti = 0xFFFF; + dlsch0->Kmimo = 1; + dlsch0->Mdlharq = 4; + dlsch0->Nsoft = 25344; + dlsch0->i0 = rel13->initial_transmission_sf_io; + dlsch0_harq->pdsch_start = rel10->pdsch_start; if (rel13->pdsch_payload_type == 0) dlsch0->sib1_br_flag=1; @@ -1470,13 +1481,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t)UE_id], - 0, -#ifdef Rel14 - dlsch0->sib1_br_flag==0 ? num_pdcch_symbols : 3 -#else - num_pdcch_symbols -#endif -); + 0); } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 88ee3d14ae..1a3ea1ca9e 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -310,7 +310,10 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - + + // Rel10 fields + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + // Rel13 fields dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10*frameP)+subframeP; @@ -658,6 +661,8 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 4e4c8aca1f..f9b85ffdd8 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -196,7 +196,7 @@ schedule_SIB1_BR( AssertFatal(bcch_sdu_length <= TBS, "length returned by RRC %d is not compatible with the TBS %d from MIB\n",bcch_sdu_length,TBS); - if ((frameP&1023) < 200) LOG_I(MAC,"[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n",module_idP,frameP,subframeP,CC_id,bcch_sdu_length,n_NB,i,m,N_S_NB,rvidx); + if ((frameP&1023) < 200) LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n",module_idP,frameP,subframeP,CC_id,bcch_sdu_length,n_NB,i,m,N_S_NB,rvidx); // allocate all 6 PRBs in narrowband for SIB1_BR @@ -235,6 +235,8 @@ schedule_SIB1_BR( dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // Rel10 fields + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = 3; // Rel13 fields dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = 1; // CEModeA UE dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 0; // SIB1-BR @@ -311,7 +313,7 @@ schedule_SI_BR( nfapi_dl_config_request_body_t *dl_req; int i; int rvidx; - + int absSF = (frameP*10)+subframeP; for (CC_id=0; CC_id>1) + (k&1))&3; @@ -398,7 +400,7 @@ schedule_SI_BR( vrb_map[first_rb+4] = 1; vrb_map[first_rb+5] = 1; - if ((frameP%1000) < 200) LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", + if ((frameP&1023) < 200) LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", module_idP,frameP,subframeP,CC_id,si_Narrowband_r13-1,rvidx, sf_mod_period,si_WindowLength_BR_r13,si_RepetitionPattern_r13, bcch_sdu_length); @@ -432,10 +434,12 @@ schedule_SI_BR( dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // Rel10 fields (for PDSCH starting symbol) + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; // Rel13 fields dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = 1; // CEModeA UE dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 1; // SI-BR - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = 0xFFFF; // absolute SF + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = absSF - sf_mod_period; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; dl_req->number_pdu++; @@ -757,7 +761,7 @@ schedule_SI( #ifdef Rel14 schedule_SIB1_BR(module_idP,frameP,subframeP); - // schedule_SI_BR(module_idP,frameP,subframeP); + schedule_SI_BR(module_idP,frameP,subframeP); #endif stop_meas(&eNB->schedule_si); diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index dbae933a5f..55548cead3 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -129,7 +129,7 @@ eNBs = fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern10-r13" fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; fdd_UplinkSubframeBitmapBR_r13 = 0; - startSymbolBR_r13 = 1; + startSymbolBR_r13 = 3; si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF ! si_ValidityTime_r13 = 0; system_info_value_tag_SI = From feaa8e2888197163e325ed88981cbf7e14de26a8 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Tue, 15 Aug 2017 13:55:36 +0200 Subject: [PATCH 032/109] fixed fdd_uplinkBitmap --- openair2/COMMON/rrc_messages_types.h | 14 +++++++------- openair2/ENB_APP/enb_config.c | 16 ++++++++++++---- .../LAYER2/MAC/eNB_scheduler_primitives.c | 14 +++++++------- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 19 +++++++++++++------ 4 files changed, 39 insertions(+), 24 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 35db0b40a0..6492a0c4d2 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -203,14 +203,14 @@ typedef struct RrcConfigurationReq_s { int scheduling_info_br_size [MAX_NUM_CCs]; // end +kogo - long si_WindowLength_BR_r13 [MAX_NUM_CCs]; - long si_RepetitionPattern_r13 [MAX_NUM_CCs]; + long si_WindowLength_BR_r13 [MAX_NUM_CCs]; + long si_RepetitionPattern_r13 [MAX_NUM_CCs]; BOOLEAN_t * fdd_DownlinkOrTddSubframeBitmapBR_r13 [MAX_NUM_CCs]; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 [MAX_NUM_CCs]; - uint16_t fdd_UplinkSubframeBitmapBR_r13 [MAX_NUM_CCs]; - long startSymbolBR_r13 [MAX_NUM_CCs]; - long si_HoppingConfigCommon_r13 [MAX_NUM_CCs]; - long* si_ValidityTime_r13 [MAX_NUM_CCs]; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 [MAX_NUM_CCs]; + uint16_t *fdd_UplinkSubframeBitmapBR_r13 [MAX_NUM_CCs]; + long startSymbolBR_r13 [MAX_NUM_CCs]; + long si_HoppingConfigCommon_r13 [MAX_NUM_CCs]; + long* si_ValidityTime_r13 [MAX_NUM_CCs]; // +kogo long systemInfoValueTagSi_r13 [MAX_NUM_CCs][10]; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index afd5ec690e..fcf444a278 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -3771,7 +3771,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13) || !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) { @@ -3800,10 +3799,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; + bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13); + if (fdd_uplink_exist) + { + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + *RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = NULL;; + } + + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; - - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index a8418d2316..443222f144 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -490,7 +490,7 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t struct PRACH_ConfigSIB_v1310 *ext4_prach = eNB->common_channels[CC_id].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; - EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11= eNB->UE_list ->UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; +// EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11= eNB->UE_list ->UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; int T; @@ -517,13 +517,13 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t AssertFatal(1==0,"MPDCCH Type 2A not handled yet\n"); break; case TYPEUESPEC: - AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); - AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); +// AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); +// AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); - if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD - T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; - else //TDD - T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; +// if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD +// T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; +// else //TDD +// T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; break; default: diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index a8d00f921b..e7a7b2e88c 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -622,13 +622,20 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); - memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, &configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], + if (configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id]) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = calloc(1, sizeof(BIT_STRING_t)); + memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13, 0, sizeof(BIT_STRING_t)); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf = calloc(2, sizeof(uint8_t)); + memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->buf, configuration->fdd_UplinkSubframeBitmapBR_r13[CC_id], 2 * sizeof(uint8_t)); - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->size = 2; + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13->bits_unused = 6; + } + else + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_UplinkSubframeBitmapBR_r13 = NULL; + } sib1_1310->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13 = configuration->startSymbolBR_r13[CC_id]; From 280d57018e68bb0702109cc774ed23e787e39c57 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Tue, 15 Aug 2017 14:16:29 +0200 Subject: [PATCH 033/109] fix mpdcch uespec search space parameters --- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 30 ------------------- .../LAYER2/MAC/eNB_scheduler_primitives.c | 14 ++++----- 2 files changed, 7 insertions(+), 37 deletions(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 7122ae3baf..491edbf92f 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -874,20 +874,7 @@ schedule_ue_spec_br( dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; dl_req->number_pdu++; - // Program UL processing for Msg3, same as regular LTE - //get_Msg3alloc(&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); - - //fill_rar_br(eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); - //// DL request - //eNB->TX_req[CC_idP].sfn_sf = (frameP << 3) + subframeP; - //TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - //TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - //TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - //TX_req->num_segments = 1; - //TX_req->segments[0].segment_length = 7; - //TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - //eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; } } @@ -895,23 +882,6 @@ schedule_ue_spec_br( - //dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - //memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); - //dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - //dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dci_dl_pdu)); - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = get_aggregation(get_bw_index(module_idP, CC_id), eNB_UE_stats->dl_cqi, format1); - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = rnti; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 1; // CRNTI : see Table 4-10 from SCF082 - nFAPI specifications - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = harq_pid; - //dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // dont adjust power when retransmitting - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = UE_list->UE_template[CC_id][UE_id].oldNDI[harq_pid]; - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; - // dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = round & 3; - - } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 443222f144..4b4949c949 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -490,7 +490,7 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t struct PRACH_ConfigSIB_v1310 *ext4_prach = eNB->common_channels[CC_id].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; -// EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11= eNB->UE_list ->UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11= &eNB->UE_list.UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; int T; @@ -517,13 +517,13 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t AssertFatal(1==0,"MPDCCH Type 2A not handled yet\n"); break; case TYPEUESPEC: -// AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); -// AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); + AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); + AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); -// if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD -// T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; -// else //TDD -// T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; + if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD + T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; + else //TDD + T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; break; default: From 5d157436c2784756c88745b4cb22eaaecc6e6621 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Tue, 15 Aug 2017 14:53:45 +0200 Subject: [PATCH 034/109] SIB1 system info value tag made optional --- openair2/ENB_APP/enb_config.c | 29 ++++++++++++++++++--------- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 28 +++++++++++++++++--------- 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index fcf444a278..dc925da8eb 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -2579,18 +2579,27 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); - int num_system_info = config_setting_length(system_info_value_tag_SI_list); + int num_system_info; + if (system_info_value_tag_SI_list != NULL) + { + num_system_info = config_setting_length(system_info_value_tag_SI_list); + for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) + { + system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); + if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) + { + AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; + } + } + else + { + num_system_info = 0; + } RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; - for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) - { - system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); - if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) - { - AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; - } + rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e7a7b2e88c..e34e6f7162 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -653,21 +653,29 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = NULL; } - sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13; int num_system_info_value_tag = configuration->system_info_value_tag_SI_size[CC_id]; - for (index = 0; index < num_system_info_value_tag; ++index) + if (num_system_info_value_tag > 0) { - if (configuration->systemInfoValueTagSi_r13[CC_id][index]) + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); + SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13; + for (index = 0; index < num_system_info_value_tag; ++index) { - systemInfoValueTagSi_r13 = configuration->systemInfoValueTagSi_r13[CC_id][index]; + if (configuration->systemInfoValueTagSi_r13[CC_id][index]) + { + systemInfoValueTagSi_r13 = configuration->systemInfoValueTagSi_r13[CC_id][index]; + } + else + { + systemInfoValueTagSi_r13 = 0; + } + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); } - else - { - systemInfoValueTagSi_r13 = 0; - } - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + + } + else + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = NULL; } } From aeda8e5cecb30c96ab15eacb84332b926bf65485 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Tue, 15 Aug 2017 15:49:11 +0200 Subject: [PATCH 035/109] added pcch_config_v1310 to config file and handled in enb_config.c , asn1_msg.c --- openair2/COMMON/rrc_messages_types.h | 8 ++- openair2/ENB_APP/enb_config.c | 57 +++++++++++++++++-- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 33 ++++++++++- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 17 +++--- 4 files changed, 99 insertions(+), 16 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 6492a0c4d2..9ef9414f91 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -250,7 +250,7 @@ typedef struct RrcConfigurationReq_s { long prach_HoppingConfig_r13 [MAX_NUM_CCs][4]; int prach_parameters_list_size [MAX_NUM_CCs]; long max_available_narrow_band [MAX_NUM_CCs][4][2]; - int max_available_narrow_band_size [MAX_NUM_CCs]; + int max_available_narrow_band_size [MAX_NUM_CCs][4]; // end kogo @@ -259,6 +259,12 @@ typedef struct RrcConfigurationReq_s { int pucch_info_value_size [MAX_NUM_CCs]; // end kogo + // +kogo + bool pcch_config_v1310 [MAX_NUM_CCs]; + long paging_narrowbands_r13 [MAX_NUM_CCs]; + long mpdcch_numrepetition_paging_r13 [MAX_NUM_CCs]; + long *nb_v1310 [MAX_NUM_CCs]; + #endif } RrcConfigurationReq; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index dc925da8eb..6532575527 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -160,6 +160,12 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_MAX_AVAILABLE_NARROWBAND "maxavailablenarrowband" #define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" +#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" +#define ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13 "paging_narrowbands_r13" +#define ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13 "mpdcch_numrepetition_paging_r13" +#define ENB_CONFIG_STRING_NB_V1310 "nb_v1310" + + #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" #define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" @@ -1007,6 +1013,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_setting_t *n1_pucch_AN_info_r13_list = NULL; config_setting_t *n1_pucch_AN_info_r13 = NULL; + config_setting_t *setting_pcch_config_v1310 = NULL; + #if defined(Rel14) config_setting_t *setting_br13 = NULL; #endif // REL14 @@ -1134,6 +1142,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int maxavailablenarrowband = 0; libconfig_int pucch_info_value = 0; + libconfig_int paging_narrowbands_r13 = 0; + libconfig_int mpdcch_numrepetition_paging_r13 = 0; + libconfig_int nb_v1310 = 0; + + libconfig_int srb1_timer_poll_retransmit = 0; libconfig_int srb1_timer_reordering = 0; libconfig_int srb1_timer_status_prohibit = 0; @@ -2692,13 +2705,20 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; } + + max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13_list, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); + int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list); + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = num_available_narrow_bands; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++) + { + max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index); + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band); + } + } - // TODO - // max_available_narrow_band = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); - - n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list); @@ -3725,6 +3745,35 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char* prach_ConfigCommon_v1310 = NULL; char* mpdcch_startSF_CSS_RA_r13; + setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); + if (setting_pcch_config_v1310 != NULL) + { + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; + if (!config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, &paging_narrowbands_r13) + || !config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13) + ) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13; + + if (config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &nb_v1310)) + { + RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = nb_v1310; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = NULL; + } + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = FALSE; + } if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) AssertFatal(0, diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e34e6f7162..429fe863bd 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1178,7 +1178,28 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; - (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + + if (configuration->pcch_config_v1310) + { + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = CALLOC(1, sizeof(PCCH_Config_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->paging_narrowBands_r13 = configuration->paging_narrowbands_r13[CC_id]; + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->mpdcch_NumRepetition_Paging_r13 = configuration->mpdcch_numrepetition_paging_r13[CC_id]; + if (configuration->nb_v1310[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = *configuration->nb_v1310[CC_id]; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = NULL; + } + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + } + + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; @@ -1281,8 +1302,14 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; } - long maxavailablenarrowband = 2; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + long maxavailablenarrowband; + int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) + { + maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + } prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index dbae933a5f..6ad1f12c59 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -184,14 +184,8 @@ eNBs = numRepetitionPerPreambleAttempt_r13 = 0; mpdcch_NumRepetition_RA_r13 = 0; prach_HoppingConfig_r13 = 0; - max_available_narrow_band = - ( - { - maxavailablenarrowband = 2; - - } - ); - } + max_available_narrow_band = [2]; + } ); n1PUCCH_AN_InfoList_r13 = @@ -203,6 +197,13 @@ eNBs = pucch_info_value = 13; } ); + + pcch_config_v1310 : + { + paging_narrowbands_r13 = 1; + mpdcch_numrepetition_paging_r13 = 2; + nb_v1310 = 3; + } mpdcch_startSF_CSS_RA_r13 = "fdd-r13" mpdcch_startSF_CSS_RA_r13_val = 5; From 44fc7753b6655c49b23fc4c92cfae2a850aa6d1c Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Tue, 15 Aug 2017 15:50:18 +0200 Subject: [PATCH 036/109] modifications in SI scheduler during interop testing with Sequans module. Some changes in eMTC config file. --- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 2 +- .../GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index f9b85ffdd8..04485a9d3e 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -393,7 +393,7 @@ schedule_SI_BR( // check that SIB1 didn't take this narrowband if (vrb_map[first_rb] > 0) continue; - first_rb = narrowband_to_first_rb(cc,si_Narrowband_r13); + first_rb = narrowband_to_first_rb(cc,si_Narrowband_r13-1); vrb_map[first_rb] = 1; vrb_map[first_rb+1] = 1; vrb_map[first_rb+2] = 1; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 55548cead3..00158a2baf 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -126,9 +126,6 @@ eNBs = ); si_WindowLength_BR_r13 = 0; si_RepetitionPattern_r13 = 0; - fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern10-r13" - fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; - fdd_UplinkSubframeBitmapBR_r13 = 0; startSymbolBR_r13 = 3; si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF ! si_ValidityTime_r13 = 0; @@ -138,7 +135,7 @@ eNBs = systemInfoValueTagSi_r13 = 0; } ); - freqHoppingParametersDL_r13 = "ENABLE" + freqHoppingParametersDL_r13 = "DISABLE" mpdcch_pdsch_HoppingNB_r13 = 0; interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13" interval_DLHoppingConfigCommonModeA_r13_val = 0; @@ -198,9 +195,6 @@ eNBs = ( { pucch_info_value = 12; - }, - { - pucch_info_value = 13; } ); From 291616328ecc6d429a9c82d2c3cb492df54ac521 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Tue, 15 Aug 2017 19:01:47 +0200 Subject: [PATCH 037/109] integration and testing of SIB2 integrity --- openair2/COMMON/rrc_messages_types.h | 6 ++ openair2/ENB_APP/enb_config.c | 68 +++++++++++++++++-- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 56 +++++++++++++-- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 13 +++- 4 files changed, 132 insertions(+), 11 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 9ef9414f91..3193517225 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -265,6 +265,12 @@ typedef struct RrcConfigurationReq_s { long mpdcch_numrepetition_paging_r13 [MAX_NUM_CCs]; long *nb_v1310 [MAX_NUM_CCs]; + long *pucch_NumRepetitionCE_Msg4_Level0_r13 [MAX_NUM_CCs]; + long *pucch_NumRepetitionCE_Msg4_Level1_r13 [MAX_NUM_CCs]; + long *pucch_NumRepetitionCE_Msg4_Level2_r13 [MAX_NUM_CCs]; + long *pucch_NumRepetitionCE_Msg4_Level3_r13 [MAX_NUM_CCs]; + + #endif } RrcConfigurationReq; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 6532575527..8d5d16ead2 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -166,6 +166,10 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_NB_V1310 "nb_v1310" +#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0 "pucch_NumRepetitionCE_Msg4_Level0_r13" +#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1 "pucch_NumRepetitionCE_Msg4_Level1_r13" +#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2 "pucch_NumRepetitionCE_Msg4_Level2_r13" +#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3 "pucch_NumRepetitionCE_Msg4_Level3_r13" #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" #define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" @@ -1142,10 +1146,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int maxavailablenarrowband = 0; libconfig_int pucch_info_value = 0; - libconfig_int paging_narrowbands_r13 = 0; + libconfig_int paging_narrowbands_r13 = 0; libconfig_int mpdcch_numrepetition_paging_r13 = 0; libconfig_int nb_v1310 = 0; + + libconfig_int pucch_NumRepetitionCE_Msg4_Level0_r13 = 0; + libconfig_int pucch_NumRepetitionCE_Msg4_Level1_r13 = 0; + libconfig_int pucch_NumRepetitionCE_Msg4_Level2_r13 = 0; + libconfig_int pucch_NumRepetitionCE_Msg4_Level3_r13 = 0; libconfig_int srb1_timer_poll_retransmit = 0; libconfig_int srb1_timer_reordering = 0; @@ -2572,7 +2581,51 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } if (setting_br13 != NULL) { + int cnt = 0; + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = pucch_NumRepetitionCE_Msg4_Level0_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = pucch_NumRepetitionCE_Msg4_Level1_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = NULL;; + } + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = pucch_NumRepetitionCE_Msg4_Level2_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = NULL; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = pucch_NumRepetitionCE_Msg4_Level3_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = NULL;; + } + scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); int num_scheduling_info = config_setting_length(scheduling_info_br_list); RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; @@ -2656,6 +2709,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, nb_cc++); } RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; + printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br); } prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); @@ -2677,6 +2731,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, nb_cc++); } + printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13); + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; @@ -2706,9 +2762,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13_list, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); + max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list); - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = num_available_narrow_bands; + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prach_parameters_index] = num_available_narrow_bands; int narrow_band_index; for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++) { @@ -2722,6 +2778,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list); + AssertFatal(cnt == num_pucch_an_info, "Num Repetition Count should be equal to pucch info count !!!"); RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = num_pucch_an_info; int pucch_info_idx; for (pucch_info_idx = 0; pucch_info_idx < num_pucch_an_info; ++pucch_info_idx) @@ -3759,15 +3816,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13; - if (config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &nb_v1310)) + if (config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310)) { RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = nb_v1310; + + printf("[DEBUGGING][KOGO] : nb_v1310 = %d\n", nb_v1310); } else { RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = NULL; } + } else diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 429fe863bd..89e74fe304 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1217,6 +1217,7 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->rsrp_range_list_size[CC_id]) { rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; + printf("[DEBUGGING][KOGO][SIB23] : rsrp range = %d\n", rsrp_range); } else { @@ -1289,6 +1290,7 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; + printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); } else { @@ -1344,10 +1346,56 @@ uint8_t do_SIB23(uint8_t Mod_id, // +kogo FIXME // ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + if (configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]) + { + puts("LEVEL 0"); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]; + printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level0_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13); + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + } + + + if (configuration->pucch_NumRepetitionCE_Msg4_Level1_r13[CC_id]) + { + puts("LEVEL 1"); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level1_r13[CC_id]; + printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level1_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13); + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + } + + if (configuration->pucch_NumRepetitionCE_Msg4_Level2_r13[CC_id]) + { + puts("LEVEL 2"); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level2_r13[CC_id]; + printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level2_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13); + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + } + + if (configuration->pucch_NumRepetitionCE_Msg4_Level3_r13[CC_id]) + { + puts("LEVEL 3"); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level3_r13[CC_id]; + printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level3_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13); + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + } + + //----------------------------------------------------------------------------------------------------------------------------------------- diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 625cbcf6f1..4b66149774 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -181,7 +181,7 @@ eNBs = numRepetitionPerPreambleAttempt_r13 = 0; mpdcch_NumRepetition_RA_r13 = 0; prach_HoppingConfig_r13 = 0; - max_available_narrow_band = [2]; + max_available_narrow_band = [5]; } ); @@ -194,11 +194,18 @@ eNBs = pcch_config_v1310 : { - paging_narrowbands_r13 = 1; + paging_narrowbands_r13 = 5; mpdcch_numrepetition_paging_r13 = 2; - nb_v1310 = 3; + nb_v1310 = 2; } + + pucch_NumRepetitionCE_Msg4_Level0_r13 = 0; + #pucch_NumRepetitionCE_Msg4_Level1_r13 = 1; + #pucch_NumRepetitionCE_Msg4_Level2_r13 = 2; + #pucch_NumRepetitionCE_Msg4_Level3_r13 = 3; + + mpdcch_startSF_CSS_RA_r13 = "fdd-r13" mpdcch_startSF_CSS_RA_r13_val = 5; #prach_HoppingOffset_r13 = ; From c453bb9145e5227efe0881d2126aaceed4bf582d Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Wed, 16 Aug 2017 10:11:54 +0200 Subject: [PATCH 038/109] fix RSRP_Range allocation in prach_ConfigCommon_v1310 --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 89e74fe304..6ac41aa725 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1209,22 +1209,23 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); - RSRP_Range_t rsrp_range; + RSRP_Range_t *rsrp_range; int num_rsrp_range = configuration->rsrp_range_list_size[CC_id]; int rsrp_index; for (rsrp_index = 0; rsrp_index < num_rsrp_range; ++rsrp_index) { + rsrp_range = CALLOC(1, sizeof(RSRP_Range_t)); if (configuration->rsrp_range_list_size[CC_id]) { - rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; - printf("[DEBUGGING][KOGO][SIB23] : rsrp range = %d\n", rsrp_range); + *rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; + printf("[DEBUGGING][KOGO][SIB23] : rsrp range = %d\n", *rsrp_range); } else { - rsrp_range = 60; + *rsrp_range = 60; } - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, &rsrp_range); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, rsrp_range); } From defe1ece09cf72289a23c9283d83f7d37a4c2248 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Wed, 16 Aug 2017 10:43:12 +0200 Subject: [PATCH 039/109] Fixed memory allocation bugs in asn1_msg.c (SIB1 & SIB23) ASN1C issue --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 47 ++++++++++++++------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 6ac41aa725..996a7b6126 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -654,22 +654,23 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, } + SystemInfoValueTagSI_r13_t *systemInfoValueTagSi_r13; int num_system_info_value_tag = configuration->system_info_value_tag_SI_size[CC_id]; if (num_system_info_value_tag > 0) { sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13; for (index = 0; index < num_system_info_value_tag; ++index) { + systemInfoValueTagSi_r13 = CALLOC(1, sizeof(SystemInfoValueTagSI_r13_t)); if (configuration->systemInfoValueTagSi_r13[CC_id][index]) { - systemInfoValueTagSi_r13 = configuration->systemInfoValueTagSi_r13[CC_id][index]; + *systemInfoValueTagSi_r13 = configuration->systemInfoValueTagSi_r13[CC_id][index]; } else { - systemInfoValueTagSi_r13 = 0; + *systemInfoValueTagSi_r13 = 0; } - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, systemInfoValueTagSi_r13); } } @@ -814,8 +815,9 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = calloc(1, sizeof(SystemInfoValueTagList_r13_t)); - SystemInfoValueTagSI_r13_t systemInfoValueTagSi_r13 = 0; - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, &systemInfoValueTagSi_r13); + SystemInfoValueTagSI_r13_t *systemInfoValueTagSi_r13 = CALLOC(1, sizeof(SystemInfoValueTagSI_r13_t)); + *systemInfoValueTagSi_r13 = 0; + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, systemInfoValueTagSi_r13); sib1_1310->nonCriticalExtension = calloc(1, sizeof(SystemInformationBlockType1_v1320_IEs_t)); memset(sib1_1310->nonCriticalExtension, 0, sizeof(SystemInformationBlockType1_v1320_IEs_t)); @@ -1036,13 +1038,12 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); - RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); - memset(rach_ce_levelinfo_r13, 0, sizeof(RACH_CE_LevelInfo_r13_t)); - + RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13; int num_rach_ce_level_info = configuration->rach_CE_LevelInfoList_r13_size[CC_id]; int index; for (index = 0; index < num_rach_ce_level_info; ++index) { + rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); if (configuration->rach_CE_LevelInfoList_r13_size[CC_id]) { rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = configuration->firstPreamble_r13[CC_id][index]; @@ -1258,13 +1259,14 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; } - PRACH_ParametersCE_r13_t *prach_parametersce_r13 = calloc(1, sizeof(PRACH_ParametersCE_r13_t)); + PRACH_ParametersCE_r13_t *prach_parametersce_r13; memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); int num_prach_parameters_ce = configuration->prach_parameters_list_size[CC_id]; int prach_parameters_index; for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce; ++prach_parameters_index) { + prach_parametersce_r13 = CALLOC(1, sizeof(PRACH_ParametersCE_r13_t)); if (configuration->prach_parameters_list_size[CC_id]) { prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; @@ -1305,13 +1307,14 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; } - long maxavailablenarrowband; + long *maxavailablenarrowband; int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; int narrow_band_index; for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) { - maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband); + maxavailablenarrowband = CALLOC(1, sizeof(long)); + *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); } prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; @@ -1330,23 +1333,21 @@ uint8_t do_SIB23(uint8_t Mod_id, int num_pucch_info_list = configuration->pucch_info_value_size[CC_id]; int pucch_index; - long pucch_info_value; + long *pucch_info_value; for (pucch_index = 0; pucch_index < num_pucch_info_list; ++pucch_index) { + pucch_info_value = CALLOC(1, sizeof(long)); if (configuration->pucch_info_value_size[CC_id]) { - pucch_info_value = configuration->pucch_info_value[CC_id][pucch_index]; + *pucch_info_value = configuration->pucch_info_value[CC_id][pucch_index]; } else { - pucch_info_value = 0; + *pucch_info_value = 0; } - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value); + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, pucch_info_value); } -// +kogo FIXME -// ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, &pucch_info_value2); - if (configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]) { puts("LEVEL 0"); @@ -1598,7 +1599,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf[0]=0x38<<2; - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); + ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list, sib2_mbsfn_SubframeConfig1); if (MBMS_flag == 4 ) { LOG_I(RRC,"Adding MBSFN subframe Configuration 2 to SIB2\n"); @@ -1616,7 +1617,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.buf[0]=0x07<<2; - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig2); + ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list, sib2_mbsfn_SubframeConfig2); } } @@ -1741,7 +1742,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #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); + ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); } #endif From 8ec2f370b050b3029e1be8cfb04f84cef2d208a3 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Wed, 16 Aug 2017 12:39:16 +0200 Subject: [PATCH 040/109] added frequncy hopping config in do_SIB23 - ready to test --- openair2/COMMON/rrc_messages_types.h | 14 ++ openair2/ENB_APP/enb_config.c | 147 ++++++++++++++++++ openair2/RRC/LITE/MESSAGES/asn1_msg.c | 132 +++++++++++++++- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 17 ++ 4 files changed, 309 insertions(+), 1 deletion(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 3193517225..501bf4b91c 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -271,6 +271,20 @@ typedef struct RrcConfigurationReq_s { long *pucch_NumRepetitionCE_Msg4_Level3_r13 [MAX_NUM_CCs]; + bool sib2_freq_hoppingParameters_r13_exists [MAX_NUM_CCs]; + long *sib2_mpdcch_pdsch_hoppingNB_r13 [MAX_NUM_CCs]; + long *sib2_interval_DLHoppingConfigCommonModeA_r13 [MAX_NUM_CCs]; + long sib2_interval_DLHoppingConfigCommonModeA_r13_val [MAX_NUM_CCs]; + long *sib2_interval_DLHoppingConfigCommonModeB_r13 [MAX_NUM_CCs]; + long sib2_interval_DLHoppingConfigCommonModeB_r13_val [MAX_NUM_CCs]; + long *sib2_interval_ULHoppingConfigCommonModeA_r13 [MAX_NUM_CCs]; + long sib2_interval_ULHoppingConfigCommonModeA_r13_val [MAX_NUM_CCs]; + long *sib2_interval_ULHoppingConfigCommonModeB_r13 [MAX_NUM_CCs]; + long sib2_interval_ULHoppingConfigCommonModeB_r13_val [MAX_NUM_CCs]; + long *sib2_mpdcch_pdsch_hoppingOffset_r13 [MAX_NUM_CCs]; + + + #endif } RrcConfigurationReq; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 8d5d16ead2..6ec38b3bb9 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -171,6 +171,21 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2 "pucch_NumRepetitionCE_Msg4_Level2_r13" #define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3 "pucch_NumRepetitionCE_Msg4_Level3_r13" +#define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13 "sib2_freq_hoppingParameters_r13" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 "sib2_mpdcch_pdsch_hoppingNB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13 "sib2_interval_DLHoppingConfigCommonModeA_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "sib2_interval_DLHoppingConfigCommonModeA_r13_val" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13 "sib2_interval_DLHoppingConfigCommonModeB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "sib2_interval_DLHoppingConfigCommonModeB_r13_val" +#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13 "sib2_interval_ULHoppingConfigCommonModeA_r13" +#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "sib2_interval_ULHoppingConfigCommonModeA_r13_val" +#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13 "sib2_interval_ULHoppingConfigCommonModeB_r13" +#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "sib2_interval_ULHoppingConfigCommonModeB_r13_val" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "sib2_mpdcch_pdsch_hoppingOffset_r13" + + + + #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" #define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" #define ENB_CONFIG_STRING_PUSCH_N_SB "pusch_n_SB" @@ -1018,6 +1033,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_setting_t *n1_pucch_AN_info_r13 = NULL; config_setting_t *setting_pcch_config_v1310 = NULL; + config_setting_t *setting_freq_hoppingParameters_r13 = NULL; + #if defined(Rel14) config_setting_t *setting_br13 = NULL; @@ -1156,6 +1173,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int pucch_NumRepetitionCE_Msg4_Level2_r13 = 0; libconfig_int pucch_NumRepetitionCE_Msg4_Level3_r13 = 0; + libconfig_int sib2_mpdcch_pdsch_hoppingNB_r13 = 0; + libconfig_int sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; + libconfig_int sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; + libconfig_int sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; + libconfig_int sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; + libconfig_int sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; + libconfig_int sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; + libconfig_int sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; + libconfig_int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; + libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + + + + + libconfig_int srb1_timer_poll_retransmit = 0; libconfig_int srb1_timer_reordering = 0; libconfig_int srb1_timer_status_prohibit = 0; @@ -2794,6 +2826,121 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value; } + setting_freq_hoppingParameters_r13 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13); + if (setting_freq_hoppingParameters_r13 != NULL) + { + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, sib2_mpdcch_pdsch_hoppingNB_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = sib2_mpdcch_pdsch_hoppingNB_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = NULL; + } + + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = sib2_interval_DLHoppingConfigCommonModeA_r13; + config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val); + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeA_r13_val; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = NULL; + } + + + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_DLHoppingConfigCommonModeB_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = sib2_interval_DLHoppingConfigCommonModeB_r13; + config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val); + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeB_r13_val; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = NULL; + } + + + + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = sib2_interval_ULHoppingConfigCommonModeA_r13; + config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val); + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = NULL; + } + + + + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = sib2_interval_ULHoppingConfigCommonModeB_r13; + config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val); + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeB_r13_val; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = NULL; + } + + + + + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, &sib2_mpdcch_pdsch_hoppingOffset_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = sib2_mpdcch_pdsch_hoppingOffset_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = NULL; + } + + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = FALSE; + } + + + + + printf("[DEBUGGING][KOGO][CONF]: 0 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j]); + printf("[DEBUGGING][KOGO][CONF]: 1 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]); + + printf("[DEBUGGING][KOGO][CONF]: 2 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j]); + printf("[DEBUGGING][KOGO][CONF]: 3 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j]); + printf("[DEBUGGING][KOGO][CONF]: 4 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j]); + printf("[DEBUGGING][KOGO][CONF]: 5 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j]); + + printf("[DEBUGGING][KOGO][CONF]: 6 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j]); + printf("[DEBUGGING][KOGO][CONF]: 7 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j]); + printf("[DEBUGGING][KOGO][CONF]: 8 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j]); + printf("[DEBUGGING][KOGO][CONF]: 9 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j]); + + printf("[DEBUGGING][KOGO][CONF]: 10 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]); + // Rel8 RadioResourceConfigCommon Parameters if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 996a7b6126..30b7ee8d79 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1201,7 +1201,137 @@ uint8_t do_SIB23(uint8_t Mod_id, } - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + if (configuration->sib2_freq_hoppingParameters_r13_exists[CC_id]) + { + puts("[DEBUGGING][KOGO][SIB23]: Structure exists"); + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = CALLOC(1, sizeof(FreqHoppingParameters_r13_t)); + if (configuration->sib2_mpdcch_pdsch_hoppingNB_r13[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingNB_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->sib2_mpdcch_pdsch_hoppingNB_r13[CC_id]; + + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; + } + + if (configuration->sib2_interval_DLHoppingConfigCommonModeA_r13[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13 + = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeA_r13)); + if (*configuration->sib2_interval_DLHoppingConfigCommonModeA_r13[CC_id] == 0) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->present + = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 + = configuration->sib2_interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->present + = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 + = configuration->sib2_interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; + + } + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13 = NULL; + } + + + if (configuration->sib2_interval_DLHoppingConfigCommonModeB_r13[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13 + = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeB_r13)); + if (*configuration->sib2_interval_DLHoppingConfigCommonModeB_r13[CC_id] == 0) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->present + = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 + = configuration->sib2_interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->present + = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 + = configuration->sib2_interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; + + } + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13 = NULL; + } + + if (configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 + = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13)); + if (*configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id] == 0) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->present + = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 + = configuration->sib2_interval_ULHoppingConfigCommonModeA_r13_val[CC_id]; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->present + = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 + = configuration->sib2_interval_ULHoppingConfigCommonModeA_r13_val[CC_id]; + + } + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = NULL; + } + + if (configuration->sib2_interval_ULHoppingConfigCommonModeB_r13[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13 + = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13)); + if (*configuration->sib2_interval_ULHoppingConfigCommonModeB_r13[CC_id] == 0) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->present + = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 + = configuration->sib2_interval_ULHoppingConfigCommonModeB_r13_val[CC_id]; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->present + = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 + = configuration->sib2_interval_ULHoppingConfigCommonModeB_r13_val[CC_id]; + + } + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13 = NULL; + } + + if (configuration->sib2_mpdcch_pdsch_hoppingOffset_r13[CC_id]) + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingOffset_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->sib2_mpdcch_pdsch_hoppingOffset_r13[CC_id]; + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; + } + } + else + { + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + } + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 4b66149774..906c3cae30 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -205,6 +205,23 @@ eNBs = #pucch_NumRepetitionCE_Msg4_Level2_r13 = 2; #pucch_NumRepetitionCE_Msg4_Level3_r13 = 3; + sib2_freq_hoppingParameters_r13 : + { + sib2_mpdcch_pdsch_hoppingNB_r13 = 1; + sib2_interval_DLHoppingConfigCommonModeA_r13 = 2; # choice -> (0, FDD) (1, TDD) + sib2_interval_DLHoppingConfigCommonModeA_r13_val = 3; + sib2_interval_DLHoppingConfigCommonModeB_r13 = 4; # choice -> (0, FDD) (1, TDD) + sib2_interval_DLHoppingConfigCommonModeB_r13_val = 5; + + sib2_interval_ULHoppingConfigCommonModeA_r13 = 6; # choice -> (0, FDD) (1, TDD) + sib2_interval_ULHoppingConfigCommonModeA_r13_val = 7; + sib2_interval_ULHoppingConfigCommonModeB_r13 = 8; # choice -> (0, FDD) (1, TDD) + sib2_interval_ULHoppingConfigCommonModeB_r13_val = 9; + + sib2_mpdcch_pdsch_hoppingOffset_r13 = 10; + } + + mpdcch_startSF_CSS_RA_r13 = "fdd-r13" mpdcch_startSF_CSS_RA_r13_val = 5; From c0b0ed5a5760c4d7bd93834926aa5e73e30f931d Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Wed, 16 Aug 2017 12:54:13 +0200 Subject: [PATCH 041/109] SIB2-BR configuration parameters --- openair1/PHY/impl_defs_lte.h | 6 +++-- openair2/ENB_APP/enb_config.c | 19 +--------------- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 1 - .../CONF/enb.band13.tm1.50PRB.emtc.conf | 22 +++++++++---------- 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/openair1/PHY/impl_defs_lte.h b/openair1/PHY/impl_defs_lte.h index fea33a7707..e11f8edb89 100755 --- a/openair1/PHY/impl_defs_lte.h +++ b/openair1/PHY/impl_defs_lte.h @@ -802,11 +802,13 @@ typedef struct { uint8_t harq_pid; /// Narrowband index uint8_t narrowband; + /// number of repetitions + uint8_t reps; /// number of PRB pairs for MPDCCH uint8_t number_of_prb_pairs; - /// mpdcch resource assignement (0=localized,1=distributed) + /// mpdcch resource assignement (combinatorial index r) uint8_t resource_block_assignment; - /// transmission type + /// transmission type (0=localized,1=distributed) uint8_t transmission_type; /// mpdcch start symbol uint8_t start_symbol; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 6ec38b3bb9..b99aacbf23 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -2830,7 +2830,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (setting_freq_hoppingParameters_r13 != NULL) { RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; - if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, sib2_mpdcch_pdsch_hoppingNB_r13)) + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13)) { RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = CALLOC(1, sizeof(long)); @@ -2924,23 +2924,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - - - printf("[DEBUGGING][KOGO][CONF]: 0 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j]); - printf("[DEBUGGING][KOGO][CONF]: 1 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]); - - printf("[DEBUGGING][KOGO][CONF]: 2 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j]); - printf("[DEBUGGING][KOGO][CONF]: 3 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j]); - printf("[DEBUGGING][KOGO][CONF]: 4 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j]); - printf("[DEBUGGING][KOGO][CONF]: 5 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j]); - - printf("[DEBUGGING][KOGO][CONF]: 6 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j]); - printf("[DEBUGGING][KOGO][CONF]: 7 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j]); - printf("[DEBUGGING][KOGO][CONF]: 8 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j]); - printf("[DEBUGGING][KOGO][CONF]: 9 = %d\n", RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j]); - - printf("[DEBUGGING][KOGO][CONF]: 10 = %d\n", *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]); - // Rel8 RadioResourceConfigCommon Parameters if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 30b7ee8d79..e683cf86de 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1390,7 +1390,6 @@ uint8_t do_SIB23(uint8_t Mod_id, } PRACH_ParametersCE_r13_t *prach_parametersce_r13; - memset(prach_parametersce_r13, 0, sizeof(PRACH_ParametersCE_r13_t)); int num_prach_parameters_ce = configuration->prach_parameters_list_size[CC_id]; int prach_parameters_index; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 906c3cae30..c345d71db6 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -121,7 +121,7 @@ eNBs = ( { si_Narrowband_r13 = 5; - si_TBS_r13 = 4; + si_TBS_r13 = 5; } ); si_WindowLength_BR_r13 = 0; @@ -207,18 +207,18 @@ eNBs = sib2_freq_hoppingParameters_r13 : { - sib2_mpdcch_pdsch_hoppingNB_r13 = 1; - sib2_interval_DLHoppingConfigCommonModeA_r13 = 2; # choice -> (0, FDD) (1, TDD) - sib2_interval_DLHoppingConfigCommonModeA_r13_val = 3; - sib2_interval_DLHoppingConfigCommonModeB_r13 = 4; # choice -> (0, FDD) (1, TDD) - sib2_interval_DLHoppingConfigCommonModeB_r13_val = 5; + sib2_mpdcch_pdsch_hoppingNB_r13 = 0; + sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) + sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; + sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) + sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; - sib2_interval_ULHoppingConfigCommonModeA_r13 = 6; # choice -> (0, FDD) (1, TDD) - sib2_interval_ULHoppingConfigCommonModeA_r13_val = 7; - sib2_interval_ULHoppingConfigCommonModeB_r13 = 8; # choice -> (0, FDD) (1, TDD) - sib2_interval_ULHoppingConfigCommonModeB_r13_val = 9; + sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) + sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; + sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) + sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; - sib2_mpdcch_pdsch_hoppingOffset_r13 = 10; + sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; } From 91beb110f09e50792034b856ad662b2f7f17cf3e Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Wed, 16 Aug 2017 13:18:51 +0200 Subject: [PATCH 042/109] hard-coded PUSCH/PDSCH-Config-Common-v1310, harmonization of configuration file with eMTC config from samples of Verizon network --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 15 +++++- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 48 +++++++++---------- 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e683cf86de..4e15cae695 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1332,8 +1332,17 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; } - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL; - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = calloc(1,sizeof(PDSCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = 0; + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + + + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = calloc(1,sizeof(PUSCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = 0; + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; if (rrconfig->prach_ConfigCommon_v1310) { @@ -1456,6 +1465,8 @@ uint8_t do_SIB23(uint8_t Mod_id, { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; } + + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index c345d71db6..c5dac15266 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -152,11 +152,11 @@ eNBs = rach_CE_LevelInfoList_r13 = ( { - firstPreamble_r13 = 0; + firstPreamble_r13 = 60; lastPreamble_r13 = 63; ra_ResponseWindowSize_r13 = 0; mac_ContentionResolutionTimer_r13 = 0; - rar_HoppingConfig_r13 = 0; + rar_HoppingConfig_r13 = 1; } ); @@ -166,7 +166,7 @@ eNBs = rsrp_range_list = ( { - rsrp_range_br = 60; + rsrp_range_br = 0; } ); @@ -175,27 +175,27 @@ eNBs = ( { prach_config_index_br = 3; - prach_freq_offset_br = 1; + prach_freq_offset_br = 2; prach_StartingSubframe_r13 = 0; - maxNumPreambleAttemptCE_r13 = 0; + maxNumPreambleAttemptCE_r13 = 6; numRepetitionPerPreambleAttempt_r13 = 0; mpdcch_NumRepetition_RA_r13 = 0; - prach_HoppingConfig_r13 = 0; - max_available_narrow_band = [5]; + prach_HoppingConfig_r13 = 1; + max_available_narrow_band = [2]; } ); n1PUCCH_AN_InfoList_r13 = ( { - pucch_info_value = 12; + pucch_info_value = 0; } ); pcch_config_v1310 : { - paging_narrowbands_r13 = 5; - mpdcch_numrepetition_paging_r13 = 2; + paging_narrowbands_r13 = 1; + mpdcch_numrepetition_paging_r13 = 0; nb_v1310 = 2; } @@ -207,32 +207,32 @@ eNBs = sib2_freq_hoppingParameters_r13 : { - sib2_mpdcch_pdsch_hoppingNB_r13 = 0; - sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) - sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; - sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) - sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; +# sib2_mpdcch_pdsch_hoppingNB_r13 = 0; +# sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) +# sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; +# sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) +# sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) - sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; - sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) - sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; + sib2_interval_ULHoppingConfigCommonModeA_r13_val = 2; +# sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) +# sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; - sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; +# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; } mpdcch_startSF_CSS_RA_r13 = "fdd-r13" - mpdcch_startSF_CSS_RA_r13_val = 5; - #prach_HoppingOffset_r13 = ; + mpdcch_startSF_CSS_RA_r13_val = 0; + prach_HoppingOffset_r13 = 0; - prach_root = 1; - prach_config_index = 0; + prach_root = 89; + prach_config_index = 3; prach_high_speed = "DISABLE"; prach_zero_correlation = 1; prach_freq_offset = 3; - pucch_delta_shift = 1; + pucch_delta_shift = 2; pucch_nRB_CQI = 1; pucch_nCS_AN = 0; pucch_n1_AN = 32; From 82cd728edbcdd1d15a5bce431307ecc9eb52ff18 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Wed, 16 Aug 2017 13:40:04 +0200 Subject: [PATCH 043/109] small changes --- openair2/ENB_APP/enb_config.c | 2 +- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index b99aacbf23..23693f0958 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -2786,7 +2786,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) { RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; } else { diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 4e15cae695..9a1e2dd600 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1412,6 +1412,7 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) { + prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; } else @@ -1421,6 +1422,7 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; } else From 4d6af687149223076c4676ecf49790a7875332b8 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Wed, 16 Aug 2017 15:00:01 +0200 Subject: [PATCH 044/109] added edci.c and minor configuration changes --- cmake_targets/CMakeLists.txt | 2 +- openair1/PHY/LTE_TRANSPORT/edci.c | 122 ++++++++++++++++++ openair2/ENB_APP/enb_config.c | 8 +- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 10 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 22 ++-- 5 files changed, 143 insertions(+), 21 deletions(-) create mode 100755 openair1/PHY/LTE_TRANSPORT/edci.c diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index a48590ad55..d25a9a08a6 100755 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -222,7 +222,7 @@ add_definitions("-DPACKAGE_BUGREPORT=\"openair4g-devel@lists.eurecom.fr\"") # Debug related options ######################################### add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug") -add_boolean_option(EMIT_ASN_DEBUG False "ASN1 coder/decoder Debug") +add_boolean_option(EMIT_ASN_DEBUG False "ASN1 coder/decoder Debug") add_boolean_option(MSG_PRINT False "print debug messages") add_boolean_option(DISABLE_XER_PRINT False "print XER Format") add_boolean_option(XER_PRINT False "print XER Format") diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c new file mode 100755 index 0000000000..2487e8370c --- /dev/null +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -0,0 +1,122 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.0 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +/*! \file PHY/LTE_TRANSPORT/dci.c +* \brief Implements PDCCH physical channel TX/RX procedures (36.211) and DCI encoding/decoding (36.212/36.213). Current LTE compliance V8.6 2009-03. +* \author R. Knopp +* \date 2011 +* \version 0.1 +* \company Eurecom +* \email: knopp@eurecom.fr +* \note +* \warning +*/ +#ifdef USER_MODE +#include +#include +#include +#endif +#include "PHY/defs.h" +#include "PHY/extern.h" +#include "SCHED/defs.h" +#include "SIMULATION/TOOLS/defs.h" // for taus +#include "PHY/sse_intrin.h" + +#include "assertions.h" +#include "T.h" +#include "UTIL/LOG/log.h" + +//#define DEBUG_DCI_ENCODING 1 +//#define DEBUG_DCI_DECODING 1 +//#define DEBUG_PHY + +typedef struct { + uint8_t num_dci; + mDCI_ALLOC_t mdci_alloc[32]; +} LTE_eNB_MPDCCH; + +typedef struct { + /// Length of DCI in bits + uint8_t dci_length; + /// Aggregation level + uint8_t L; + /// Position of first CCE of the dci + int firstCCE; + /// flag to indicate that this is a RA response + boolean_t ra_flag; + /// rnti + rnti_t rnti; + /// Format + DCI_format_t format; + /// harq process index + uint8_t harq_pid; + /// Narrowband index + uint8_t narrowband; + /// number of PRB pairs for MPDCCH + uint8_t number_of_prb_pairs; + /// mpdcch resource assignement (0=localized,1=distributed) + uint8_t resource_block_assignment; + /// transmission type + uint8_t transmission_type; + /// mpdcch start symbol + uint8_t start_symbol; + /// CE mode (1=ModeA,2=ModeB) + uint8_t ce_mode; + /// 0-503 n_EPDCCHid_i + uint16_t dmrs_scrambling_init; + /// Absolute subframe of the initial transmission (0-10239) + uint16_t initial_transmission_sf_io; + /// DCI pdu + uint8_t dci_pdu[8]; +} mDCI_ALLOC_t; + +void generate_edci_top(PHY_VARS_eNB *eNB, int frame, int subframe) { + +} + +void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe) { + + LTE_eNB_MPDCCH *mpdcch= &eNB->mpdcch_vars[subframe&2]; + mDCI_ALLOC_t *mdci; + uint8_t e[DCI_BITS_MAX]; + + for (i=0;inum_dci;i++) { + mdci = &mdpcch->mdci_alloc[i]; + + // Assume 4 EREG/ECCE case (normal prefix) + AssertFatal(eNB->frame_parms.frame_type==FDD,"TDD is not yet supported for MPDCCH\n"); + + // 9 REs/EREG => 36 REs/ECCE => 72 bits/ECCE + generate_dci0(mdci->dci_pdu, + e+(72*mdci->firstCCE), + mdci_length, + mdci->L, + mdci->rnti); + + // compute MPDCCH format based on parameters from NFAPI + AssertFatal(mdci->reps>0,"mdci->reps==0\n"); + if (reps==0) { // table 6.8A.1-1 + AssertFatal(eNB->frame_parms->Ncp == NORMAL,"Extended Prefix not yet supported for MPDCCH\n"); + N_ECCE_EREG = 4; + } + + } +} diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 23693f0958..325dfceda7 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -2461,7 +2461,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; break; - case 3110: + case 3000: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; break; @@ -2481,7 +2481,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; break; - case 31100: + case 30000: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; break; @@ -3761,7 +3761,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; break; - case 3110: + case 3000: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; break; @@ -3781,7 +3781,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; break; - case 31100: + case 30000: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; break; diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 9a1e2dd600..f339c4182d 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1025,10 +1025,10 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); - if (rrconfig->rach_maxHARQ_Msg3Tx) + if (rrconfig->preambleTransMax_CE_r13) { (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); - *(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = rrconfig->rach_maxHARQ_Msg3Tx; // to be re-initialized when we find the enum + *(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = *rrconfig->preambleTransMax_CE_r13; // to be re-initialized when we find the enum } else { @@ -1176,9 +1176,9 @@ uint8_t do_SIB23(uint8_t Mod_id, // LTE-M - +Kogo (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); - memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); - (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; + (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = NULL; //calloc(1, sizeof(BCCH_Config_v1310_t)); + //memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); + //(*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; if (configuration->pcch_config_v1310) { diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index c5dac15266..6b5e62f2c7 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -146,7 +146,7 @@ eNBs = # SIB23 frame_type = "FDD"; - preambleTransMax_CE_r13 = 10; + preambleTransMax_CE_r13 = 6; # max 4 rach_CE_LevelInfoList_r13 = @@ -231,9 +231,9 @@ eNBs = prach_config_index = 3; prach_high_speed = "DISABLE"; prach_zero_correlation = 1; - prach_freq_offset = 3; - pucch_delta_shift = 2; - pucch_nRB_CQI = 1; + prach_freq_offset = 2; + pucch_delta_shift = 1; + pucch_nRB_CQI = 0; pucch_nCS_AN = 0; pucch_n1_AN = 32; pdsch_referenceSignalPower = -27; @@ -245,7 +245,7 @@ eNBs = pusch_groupHoppingEnabled = "ENABLE"; pusch_groupAssignment = 0; pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; + pusch_nDMRS1 = 0; phich_duration = "NORMAL"; phich_resource = "ONESIXTH"; srs_enable = "DISABLE"; @@ -258,7 +258,7 @@ eNBs = pucch_deltaF_Format2 = "deltaF0"; pucch_deltaF_Format2a = "deltaF0"; pucch_deltaF_Format2b = "deltaF0"; - rach_numberOfRA_Preambles = 64; + rach_numberOfRA_Preambles = 60; rach_preamblesGroupAConfig = "DISABLE"; rach_powerRampingStep = 4; rach_preambleInitialReceivedTargetPower = -108; @@ -270,11 +270,11 @@ eNBs = pcch_nB = "oneT"; bcch_modificationPeriodCoeff = 2; ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; + ue_TimersAndConstants_t301 = 400; + ue_TimersAndConstants_t310 = 50; + ue_TimersAndConstants_t311 = 30000; + ue_TimersAndConstants_n310 = 1; + ue_TimersAndConstants_n311 = 10; ue_TransmissionMode = 1; } From a0f2d4815e013c70b428da5597b58fd18aa5b89d Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Wed, 16 Aug 2017 16:17:40 +0200 Subject: [PATCH 045/109] eMTC modem receives SIB1 & SIB23 successfully --- openair2/ENB_APP/enb_config.c | 2 +- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 32 +++++++++++++++---- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 22 +++++++------ 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 325dfceda7..26c0f51214 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -4063,7 +4063,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &si_ValidityTime_r13)) + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) { RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index f339c4182d..af2292d132 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -608,10 +608,15 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, else { sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->present - = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern10_r13; + = SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__fdd_DownlinkOrTddSubframeBitmapBR_r13_PR_subframePattern40_r13; sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf = calloc(5, sizeof(uint8_t)); - memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); +// memmove(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf, &configuration->fdd_DownlinkOrTddSubframeBitmapBR_val_r13[CC_id], 5 * sizeof(uint8_t)); + int bm_index; + for (bm_index = 0; bm_index < 5; bm_index++) + { + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.buf[bm_index] = 0xFF; + } sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.size = 5; sib1_1310->bandwidthReducedAccessRelatedInfo_r13->fdd_DownlinkOrTddSubframeBitmapBR_r13->choice.subframePattern40_r13.bits_unused = 0; } @@ -647,6 +652,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = *configuration->si_ValidityTime_r13[CC_id]; + printf("[DEBUGGING][KOGO]: si_validity time = %d\n", *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13); } else { @@ -1783,16 +1789,16 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib3)->cellReselectionInfoCommon.speedStateReselectionPars=NULL; - (*sib3)->cellReselectionServingFreqInfo.s_NonIntraSearch=NULL; - (*sib3)->cellReselectionServingFreqInfo.threshServingLow=31; - (*sib3)->cellReselectionServingFreqInfo.cellReselectionPriority=7; + (*sib3)->cellReselectionServingFreqInfo.s_NonIntraSearch = NULL; + (*sib3)->cellReselectionServingFreqInfo.threshServingLow = 0; + (*sib3)->cellReselectionServingFreqInfo.s_NonIntraSearch = 0; + (*sib3)->cellReselectionServingFreqInfo.cellReselectionPriority = 7; (*sib3)->intraFreqCellReselectionInfo.q_RxLevMin = -70; (*sib3)->intraFreqCellReselectionInfo.p_Max = NULL; (*sib3)->intraFreqCellReselectionInfo.s_IntraSearch = CALLOC(1,sizeof(*(*sib3)->intraFreqCellReselectionInfo.s_IntraSearch)); *(*sib3)->intraFreqCellReselectionInfo.s_IntraSearch = 31; (*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth=CALLOC(1,sizeof(*(*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth)); - *(*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth = AllowedMeasBandwidth_mbw6; (*sib3)->intraFreqCellReselectionInfo.presenceAntennaPort1 = 0; @@ -1800,9 +1806,21 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib3)->intraFreqCellReselectionInfo.neighCellConfig.size = 1; (*sib3)->intraFreqCellReselectionInfo.neighCellConfig.buf[0] = 1; (*sib3)->intraFreqCellReselectionInfo.neighCellConfig.bits_unused = 6; - (*sib3)->intraFreqCellReselectionInfo.t_ReselectionEUTRA = 1; + (*sib3)->intraFreqCellReselectionInfo.t_ReselectionEUTRA = 2; (*sib3)->intraFreqCellReselectionInfo.t_ReselectionEUTRA_SF = (struct SpeedStateScaleFactors *)NULL; + (*sib3)->ext1 = CALLOC(1, sizeof(struct SystemInformationBlockType3__ext1)); + (*sib3)->ext1->s_IntraSearch_v920 = CALLOC(1, sizeof(struct SystemInformationBlockType3__ext1__s_IntraSearch_v920)); + (*sib3)->ext1->s_IntraSearch_v920->s_IntraSearchP_r9 = 31; // FIXME + (*sib3)->ext1->s_IntraSearch_v920->s_IntraSearchQ_r9 = 4; + + (*sib3)->ext4 = CALLOC(1, sizeof(struct SystemInformationBlockType3__ext4)); + (*sib3)->ext4->cellSelectionInfoCE_r13 = CALLOC(1, sizeof(CellSelectionInfoCE_r13_t)); + (*sib3)->ext4->cellSelectionInfoCE_r13->q_RxLevMinCE_r13 = -70; + (*sib3)->ext4->cellSelectionInfoCE_r13->q_QualMinRSRQ_CE_r13 = NULL; + (*sib3)->ext4->t_ReselectionEUTRA_CE_r13 = CALLOC(1, sizeof(T_ReselectionEUTRA_CE_r13_t)); + *(*sib3)->ext4->t_ReselectionEUTRA_CE_r13 = 2; + // SIB13 // fill in all elements of SIB13 if present #if defined(Rel10) || defined(Rel14) diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 6b5e62f2c7..7baa08b3be 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -109,12 +109,16 @@ eNBs = # BR Parameters br_parameters : { + + fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13"; + fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF; + #SIB1 schedulingInfoSIB1_BR_r13 = 4; - hyperSFN_r13 = 0; + #hyperSFN_r13 = 0; #eDRX_Allowed_r13 = 0; cellSelectionInfoCE_r13 = "ENABLE"; - q_RxLevMinCE_r13 = -50; + q_RxLevMinCE_r13 = -70; #q_QualMinRSRQ_CE_r13 = ; bandwidthReducedAccessRelatedInfo_r13 = "ENABLE" scheduling_info_br = @@ -129,12 +133,12 @@ eNBs = startSymbolBR_r13 = 3; si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF ! si_ValidityTime_r13 = 0; - system_info_value_tag_SI = - ( - { - systemInfoValueTagSi_r13 = 0; - } - ); + #system_info_value_tag_SI = + #( + # { + # systemInfoValueTagSi_r13 = 0; + # } + #); freqHoppingParametersDL_r13 = "DISABLE" mpdcch_pdsch_HoppingNB_r13 = 0; interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13" @@ -196,7 +200,7 @@ eNBs = { paging_narrowbands_r13 = 1; mpdcch_numrepetition_paging_r13 = 0; - nb_v1310 = 2; + #nb_v1310 = 2; } From 7d7adbac357081893fc9dc6d632bfe1e437c96c4 Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Wed, 16 Aug 2017 17:25:09 +0200 Subject: [PATCH 046/109] adding the vrb map in sceduler of BR --- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 120 +++++++++------------- 1 file changed, 47 insertions(+), 73 deletions(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 491edbf92f..d3f732b8fc 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -413,7 +413,7 @@ set_ul_DAI( // changes to pre-processor for eMTC //------------------------------------------------------------------------------ -void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned int *narrowBandindex, unsigned int *first_rb){ +void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned int *narrowBandindex){ EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11; AssertFatal(pue_template->physicalConfigDedicated !=NULL, "no RRC physical configuration for this UE ") ; @@ -427,7 +427,7 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i *maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 ; - * narrowBandindex = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 ; + *narrowBandindex = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 ; @@ -492,41 +492,7 @@ schedule_ue_spec_br( VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_IN); - // for TDD: check that we have to act here, otherwise return - //if (cc[0].tdd_Config) { - // tdd_sfa = cc[0].tdd_Config->subframeAssignment; - // switch (subframeP) { - // case 0: - // // always continue - // break; - // case 1: - // return; - // break; - // case 2: - // return; - // break; - // case 3: - // if ((tdd_sfa != 2) && (tdd_sfa != 5)) return; - // break; - // case 4: - // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 5: - // break; - // case 6: - // case 7: - // if ((tdd_sfa != 1) && (tdd_sfa != 2) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 8: - // if ((tdd_sfa != 2) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 5)) return; - // break; - // case 9: - // if ((tdd_sfa != 1) && (tdd_sfa != 3) && (tdd_sfa != 4) && (tdd_sfa != 6)) return; - // break; - // } - //} - //weight = get_ue_weight(module_idP,UE_id); aggregation = 2; for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { N_RB_DL[CC_id] = to_prb(cc[CC_id].mib->message.dl_Bandwidth); @@ -574,14 +540,44 @@ schedule_ue_spec_br( for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) { - if (!UE_list->UE_template[CC_id][UE_id].rach_resource_type ) // do the following scheduling only if the UE is emtc + if (UE_list->UE_template[CC_id][UE_id].rach_resource_type ==0 ) // do the following scheduling only if the UE is emtc continue ; + //[khalid] ******** allocate here the vrb_map + // 1st check on the vrb_map[] and allocate the one that is next to them + + // at the end of the scheduler make sure the right subbands coresponding to these RBs are allocated the UE in UE_template directely + // also check on the fill_DCI function + + unsigned int rmax; + unsigned int narrowBandindex_index; + unsigned int first_rb, rep, reps; + + // rmax from RRC connection setup + getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index); + + first_rb = narrowband_to_first_rb(cc,narrowBandindex_index); + + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; + vrb_map[first_rb + 4] = 1; + vrb_map[first_rb + 5] = 1; + + + + + continue_flag = 0; // reset the flag to allow allocation for the remaining UEs rnti = UE_RNTI(module_idP, UE_id); eNB_UE_stats = &UE_list->eNB_UE_stats[CC_id][UE_id]; ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; + //[khalid] allocate the middle RB subbands in sf 1,5 for synch signals and PBCH + + + if (rnti == NOT_A_RNTI) { LOG_D(MAC, "Cannot find rnti for UE_id %d (num_UEs %d)\n", UE_id, UE_list->num_UEs); @@ -679,6 +675,14 @@ schedule_ue_spec_br( if (round > 0) { + + + // choose r3 by default for RAR (Table 9.1.5-5) + rep = 2; + // get actual repetition count from Table 9.1.5-3 + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); + + // get freq_allocation nb_rb = 6;//UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid]; @@ -728,27 +732,7 @@ schedule_ue_spec_br( case 2: case 7: default: - { - unsigned int rmax; - unsigned int narrowBandindex_index; - unsigned int first_rb, rep, reps; - - // rmax from RRC connection setup - getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); - - // choose r3 by default for RAR (Table 9.1.5-5) - rep = 2; - // get actual repetition count from Table 9.1.5-3 - reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); - - first_rb = narrowBandindex_index * 6; - - vrb_map[first_rb] = 1; - vrb_map[first_rb + 1] = 1; - vrb_map[first_rb + 2] = 1; - vrb_map[first_rb + 3] = 1; - vrb_map[first_rb + 4] = 1; - vrb_map[first_rb + 5] = 1; + { if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC,UE_id) > 0)) @@ -774,6 +758,9 @@ schedule_ue_spec_br( dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_id].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + + //[khalid] missing DCI format should be 10 for 6-1A + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = UE_list->UE_template[CC_id][UE_id].oldmcs1[harq_pid]; // adjust according to size of RAR, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now @@ -1167,7 +1154,7 @@ schedule_ue_spec_br( // TBS = get_TBS_DL(mcs, nb_rb); //} - //// if we have decreased too much or we don't have enough RBs, increase MCS + // if we have decreased too much or we don't have enough RBs, increase MCS //while ((TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (((ue_sched_ctl->dl_pow_off[CC_id] > 0) && (mcs < 28)) // || ((ue_sched_ctl->dl_pow_off[CC_id] == 0) && (mcs <= 15)))) { // mcs++; @@ -1313,27 +1300,14 @@ schedule_ue_spec_br( // tpc = 1; //0 //} - { - unsigned int rmax; - unsigned int narrowBandindex_index; - unsigned int first_rb, rep, reps; - - // rmax from RRC connection setup - getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb); + { // choose r3 by default for RAR (Table 9.1.5-5) rep = 2; // get actual repetition count from Table 9.1.5-3 reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); - first_rb = narrowBandindex_index * 6; - vrb_map[first_rb] = 1; - vrb_map[first_rb + 1] = 1; - vrb_map[first_rb + 2] = 1; - vrb_map[first_rb + 3] = 1; - vrb_map[first_rb + 4] = 1; - vrb_map[first_rb + 5] = 1; if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC,UE_id) > 0)) From 1ca5c8c40588c41cb5baa18701be07ae9130237f Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Wed, 16 Aug 2017 18:58:15 +0200 Subject: [PATCH 047/109] fixing prach configurations --- openair1/PHY/INIT/lte_init.c | 6 +- openair1/PHY/LTE_TRANSPORT/prach.c | 48 ++++++--- openair1/SCHED/phy_procedures_lte_eNb.c | 6 +- openair2/ENB_APP/enb_config.c | 2 +- openair2/LAYER2/MAC/config.c | 20 ++-- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 102 ++++++++---------- openair2/RRC/LITE/rrc_eNB.c | 18 ++++ .../CONF/enb.band13.tm1.50PRB.emtc.conf | 6 +- 8 files changed, 123 insertions(+), 85 deletions(-) diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c index 4c68021325..914d5de51e 100755 --- a/openair1/PHY/INIT/lte_init.c +++ b/openair1/PHY/INIT/lte_init.c @@ -192,7 +192,11 @@ void phy_config_request(PHY_Config_t *phy_config) { fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0] = cfg->emtc_config.prach_ce_level_0_starting_subframe_periodicity.value; fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0] = cfg->emtc_config.prach_ce_level_0_number_of_repetitions_per_attempt.value; AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0]>=fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0], - "prach_starting_subframe_periodicity[0] < prach_numPetitionPerPreambleAttempt[0]\n"); + "prach_starting_subframe_periodicity[0] %d < prach_numPetitionPerPreambleAttempt[0] %d\n", + fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0], + fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0]); + AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0] > 0, + "prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0]==0\n"); fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[0] = cfg->emtc_config.prach_ce_level_0_configuration_index.value; fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[0] = cfg->emtc_config.prach_ce_level_0_frequency_offset.value; fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[0] = cfg->emtc_config.prach_ce_level_0_hopping_enable.value; diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index e616741e13..19a8924863 100755 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -1117,6 +1117,7 @@ void rx_prach0(PHY_VARS_eNB *eNB, uint8_t restricted_set; uint8_t n_ra_prb; + int frame; int subframe; int16_t *prachF=NULL; int16_t **rxsigF=NULL; @@ -1152,9 +1153,9 @@ void rx_prach0(PHY_VARS_eNB *eNB, #ifdef Rel14 int prach_ifft_cnt=0; #endif -#ifdef PRACH_DEBUG + //#ifdef PRACH_DEBUG int en,en0=0; -#endif + //#endif if (ru) { fp = &ru->frame_parms; @@ -1204,17 +1205,27 @@ void rx_prach0(PHY_VARS_eNB *eNB, #ifdef Rel14 if (br_flag == 1) { prach_ifftp = eNB->prach_vars_br.prach_ifft[ce_level]; + frame = eNB->proc.frame_prach_br; subframe = eNB->proc.subframe_prach_br; prachF = eNB->prach_vars_br.prachF; rxsigF = eNB->prach_vars_br.rxsigF; + if ((frame&1023) < 20) LOG_I(PHY,"PRACH (eNB) : running rx_prach (br_flag %d, ce_level %d) for frame %d subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d, rootSequenceIndex %d, repetition number %d,numRepetitionsPrePreambleAttempt %d\n", + br_flag,ce_level,frame,subframe, + fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[ce_level], + prach_ConfigIndex,rootSequenceIndex, + eNB->prach_vars_br.repetition_number[ce_level], + fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level]); } else #endif { prach_ifftp = eNB->prach_vars.prach_ifft[0]; + frame = eNB->proc.frame_prach; subframe = eNB->proc.subframe_prach; prachF = eNB->prach_vars.prachF; rxsigF = eNB->prach_vars.rxsigF; + if ((frame&1023) < 20) LOG_I(PHY,"PRACH (eNB) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d , rootSequenceIndex %d\n", + subframe,fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset,prach_ConfigIndex,rootSequenceIndex); } } else { @@ -1222,16 +1233,17 @@ void rx_prach0(PHY_VARS_eNB *eNB, if (br_flag == 1) { subframe = ru->proc.subframe_prach_br; rxsigF = ru->prach_rxsigF_br[ce_level]; - LOG_D(PHY,"PRACH (RU) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d\n", - subframe,fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[ce_level],prach_ConfigIndex); + if ((frame&1023) < 20) LOG_I(PHY,"PRACH (RU) : running rx_prach (br_flag %d, ce_level %d) for frame %d subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d\n", + br_flag,ce_level,frame,subframe,fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[ce_level],prach_ConfigIndex); } else #endif { subframe = ru->proc.subframe_prach; rxsigF = ru->prach_rxsigF; - LOG_D(PHY,"PRACH (RU) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d\n", + if ((frame&1023) < 20) LOG_I(PHY,"PRACH (RU) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d\n", subframe,fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset,prach_ConfigIndex); + } } @@ -1241,9 +1253,9 @@ void rx_prach0(PHY_VARS_eNB *eNB, for (aa=0; aaif_south == LOCAL_RF) { // set the time-domain signal if we have to use it in this node prach[aa] = (int16_t*)&ru->common.rxdata[aa][(subframe*fp->samples_per_tti)-ru->N_TA_offset]; -#ifdef PRACH_DEBUG - LOG_D(PHY,"RU %d, subframe %d, : prach %p (energy %d)\n",ru->idx,subframe,prach[aa],dB_fixed(en0=signal_energy(prach[aa],fp->samples_per_tti))); -#endif + //#ifdef PRACH_DEBUG + if ((frame&1023) < 20) LOG_I(PHY,"RU %d, br_flag %d ce_level %d frame %d subframe %d, : prach %p (energy %d)\n",ru->idx,br_flag,ce_level,frame,subframe,prach[aa],dB_fixed(en0=signal_energy(prach[aa],fp->samples_per_tti))); + //#endif } } @@ -1467,11 +1479,11 @@ void rx_prach0(PHY_VARS_eNB *eNB, } else if (eNB!=NULL) { -#if 0 + //#if 0 en = dB_fixed(signal_energy(&rxsigF[0][0],840)); /*if (en>60)*/ - printf("PRACH: Frame %d, Subframe %d => %d dB\n",eNB->proc.frame_rx,eNB->proc.subframe_rx,en); -#endif + if ((frame&1023) < 20) LOG_I(PHY,"PRACH (br_flag %d,ce_level %d): Frame %d, Subframe %d => %d dB\n",br_flag,ce_level,eNB->proc.frame_rx,eNB->proc.subframe_rx,en); + //#endif } @@ -1506,6 +1518,9 @@ void rx_prach0(PHY_VARS_eNB *eNB, *max_preamble_energy=0; for (preamble_index=0 ; preamble_index<64 ; preamble_index++) { + + if (en>60) LOG_I(PHY,"frame %d, subframe %d : Trying preamble %d (br_flag %d)\n",frame,subframe,preamble_index,br_flag); + if (restricted_set == 0) { // This is the relative offset in the root sequence table (5.7.2-4 from 36.211) for the given preamble index preamble_offset = ((NCS==0)? preamble_index : (preamble_index/(N_ZC/NCS))); @@ -1588,9 +1603,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, } // Compute DFT of RX signal (conjugate input, results in conjugate output) for each new rootSequenceIndex -#ifdef PRACH_DEBUG - LOG_I(PHY,"preamble index %d: offset %d, preamble shift %d\n",preamble_index,preamble_offset,preamble_shift); -#endif + //#ifdef PRACH_DEBUG + if (en>60) LOG_I(PHY,"frame %d, subframe %d : preamble index %d: offset %d, preamble shift %d (br_flag %d, en %d)\n", + frame,subframe,preamble_index,preamble_offset,preamble_shift,br_flag,en); + //#endif log2_ifft_size = 10; fft_size = 6144; @@ -1678,6 +1694,8 @@ void rx_prach0(PHY_VARS_eNB *eNB, eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) #endif { + if (en>60) LOG_I(PHY,"frame %d, subframe %d: Checking for peak in time-domain (br_flag %d, en %d)\n",frame,subframe,br_flag,en); + preamble_shift2 = ((preamble_shift==0) ? 0 : ((preamble_shift<>log2_ifft_size)*update_TA/update_TA2; *max_preamble = preamble_index; + if (en>60) LOG_I(PHY,"frame %d, subframe %d : max_preamble_energy %d, max_preamble_delay %d, max_preamble %d (br_flag %d, en %d)\n",frame,subframe,*max_preamble_energy,*max_preamble_delay,*max_preamble,br_flag,en); } } + } }// preamble_index diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index e350cf14c3..201c534e34 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -715,7 +715,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, int i; if (frame < 20) { - LOG_I(PHY, + LOG_D(PHY, "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", pdsch_start %d, G %d, nb_rb %"PRIu16", rb0 %x, rb1 %x, TBS %"PRIu16", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", eNB->Mod_id, dlsch->rnti,harq_pid, frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, @@ -735,8 +735,6 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, pmi2hex_2Ar1(dlsch_harq->pmi_alloc), dlsch_harq->rvidx, dlsch_harq->round); - for (i=0;iTBS>>3;i++) printf("%x.",dlsch_harq->pdu[i]); - printf("\n"); } #if defined(MESSAGE_CHART_GENERATOR_PHY) MSC_LOG_TX_MESSAGE( @@ -2018,6 +2016,8 @@ void prach_procedures(PHY_VARS_eNB *eNB, } } + if ((frame&1023) < 20) LOG_I(PHY,"Frame %d, subframe %d: Running rx_prach (br_flag %d)\n", + frame,subframe,br_flag); rx_prach(eNB, eNB->RU_list[0], &max_preamble[0], diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 26c0f51214..cd01541f6d 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -2776,7 +2776,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) { RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; } else { diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 4646c12580..2084a6046b 100755 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -339,15 +339,16 @@ void config_sib2(int Mod_idP, cfg->emtc_config.prach_ce_level_1_enable.value=0; cfg->emtc_config.prach_ce_level_2_enable.value=0; cfg->emtc_config.prach_ce_level_3_enable.value=0; + switch (prach_ParametersListCE_r13->list.count) { case 4: p=prach_ParametersListCE_r13->list.array[3]; cfg->emtc_config.prach_ce_level_3_enable.value = 1; cfg->emtc_config.prach_ce_level_3_configuration_index.value = p->prach_ConfigIndex_r13; cfg->emtc_config.prach_ce_level_3_frequency_offset.value = p->prach_FreqOffset_r13; - cfg->emtc_config.prach_ce_level_3_number_of_repetitions_per_attempt.value = p->numRepetitionPerPreambleAttempt_r13; + cfg->emtc_config.prach_ce_level_3_number_of_repetitions_per_attempt.value = 1<numRepetitionPerPreambleAttempt_r13; if (p->prach_StartingSubframe_r13) - cfg->emtc_config.prach_ce_level_3_starting_subframe_periodicity.value = *p->prach_StartingSubframe_r13; + cfg->emtc_config.prach_ce_level_3_starting_subframe_periodicity.value = 2<<*p->prach_StartingSubframe_r13; cfg->emtc_config.prach_ce_level_3_hopping_enable.value = p->prach_HoppingConfig_r13; cfg->emtc_config.prach_ce_level_3_hopping_offset.value = cfg->rf_config.ul_channel_bandwidth.value-6; case 3: @@ -355,9 +356,9 @@ void config_sib2(int Mod_idP, cfg->emtc_config.prach_ce_level_2_enable.value = 1; cfg->emtc_config.prach_ce_level_2_configuration_index.value = p->prach_ConfigIndex_r13; cfg->emtc_config.prach_ce_level_2_frequency_offset.value = p->prach_FreqOffset_r13; - cfg->emtc_config.prach_ce_level_2_number_of_repetitions_per_attempt.value = p->numRepetitionPerPreambleAttempt_r13; + cfg->emtc_config.prach_ce_level_2_number_of_repetitions_per_attempt.value = 1<numRepetitionPerPreambleAttempt_r13; if (p->prach_StartingSubframe_r13) - cfg->emtc_config.prach_ce_level_2_starting_subframe_periodicity.value = *p->prach_StartingSubframe_r13; + cfg->emtc_config.prach_ce_level_2_starting_subframe_periodicity.value = 2<<*p->prach_StartingSubframe_r13; cfg->emtc_config.prach_ce_level_2_hopping_enable.value = p->prach_HoppingConfig_r13; cfg->emtc_config.prach_ce_level_2_hopping_offset.value = cfg->rf_config.ul_channel_bandwidth.value-6; case 2: @@ -365,9 +366,9 @@ void config_sib2(int Mod_idP, cfg->emtc_config.prach_ce_level_1_enable.value = 1; cfg->emtc_config.prach_ce_level_1_configuration_index.value = p->prach_ConfigIndex_r13; cfg->emtc_config.prach_ce_level_1_frequency_offset.value = p->prach_FreqOffset_r13; - cfg->emtc_config.prach_ce_level_1_number_of_repetitions_per_attempt.value = p->numRepetitionPerPreambleAttempt_r13; + cfg->emtc_config.prach_ce_level_1_number_of_repetitions_per_attempt.value = 1<numRepetitionPerPreambleAttempt_r13; if (p->prach_StartingSubframe_r13) - cfg->emtc_config.prach_ce_level_1_starting_subframe_periodicity.value = *p->prach_StartingSubframe_r13; + cfg->emtc_config.prach_ce_level_1_starting_subframe_periodicity.value = 2<<*p->prach_StartingSubframe_r13; cfg->emtc_config.prach_ce_level_1_hopping_enable.value = p->prach_HoppingConfig_r13; cfg->emtc_config.prach_ce_level_1_hopping_offset.value = cfg->rf_config.ul_channel_bandwidth.value-6; case 1: @@ -375,13 +376,16 @@ void config_sib2(int Mod_idP, cfg->emtc_config.prach_ce_level_0_enable.value = 1; cfg->emtc_config.prach_ce_level_0_configuration_index.value = p->prach_ConfigIndex_r13; cfg->emtc_config.prach_ce_level_0_frequency_offset.value = p->prach_FreqOffset_r13; - cfg->emtc_config.prach_ce_level_0_number_of_repetitions_per_attempt.value = p->numRepetitionPerPreambleAttempt_r13; + cfg->emtc_config.prach_ce_level_0_number_of_repetitions_per_attempt.value = 1<numRepetitionPerPreambleAttempt_r13; + AssertFatal(p->prach_StartingSubframe_r13!=NULL,"prach_StartingSubframe_r13 is null\n"); if (p->prach_StartingSubframe_r13) - cfg->emtc_config.prach_ce_level_0_starting_subframe_periodicity.value = *p->prach_StartingSubframe_r13; + cfg->emtc_config.prach_ce_level_0_starting_subframe_periodicity.value = 2<<*p->prach_StartingSubframe_r13; cfg->emtc_config.prach_ce_level_0_hopping_enable.value = p->prach_HoppingConfig_r13; cfg->emtc_config.prach_ce_level_0_hopping_offset.value = cfg->rf_config.ul_channel_bandwidth.value-6; } + AssertFatal(cfg->emtc_config.prach_ce_level_0_enable.value>0,"CE_level0 is not enabled\n"); + struct FreqHoppingParameters_r13 *ext4_freqHoppingParameters = radioResourceConfigCommonP->ext4->freqHoppingParameters_r13; if ((ext4_freqHoppingParameters) && (ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeA_r13)){ diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index af2292d132..e48db1d483 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1408,66 +1408,58 @@ uint8_t do_SIB23(uint8_t Mod_id, int num_prach_parameters_ce = configuration->prach_parameters_list_size[CC_id]; int prach_parameters_index; + AssertFatal(num_prach_parameters_ce > 0, "PRACH CE parameter list is empty\n"); + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce; ++prach_parameters_index) { - prach_parametersce_r13 = CALLOC(1, sizeof(PRACH_ParametersCE_r13_t)); - if (configuration->prach_parameters_list_size[CC_id]) + prach_parametersce_r13 = CALLOC(1, sizeof(PRACH_ParametersCE_r13_t)); + + prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_FreqOffset_r13 = configuration->prach_freq_offset[CC_id][prach_parameters_index]; + + AssertFatal(configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]!=NULL, + "configuration->prach_StartingSubframe_r13[%d][%d] is null", + (int)CC_id,(int)prach_parameters_index); + if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) + { + prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); + *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + } + + if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; + } + + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; + printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); + + + long *maxavailablenarrowband; + int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) { - prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; - prach_parametersce_r13->prach_FreqOffset_r13 = configuration->prach_freq_offset[CC_id][prach_parameters_index]; - - if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) - { - prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); - *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; - } - else - { - prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; - } - - if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); - *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; - } - else - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; - } - - prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; - prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; - printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); + maxavailablenarrowband = CALLOC(1, sizeof(long)); + *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); } - else - { - prach_parametersce_r13->prach_ConfigIndex_r13 = 3; - prach_parametersce_r13->prach_FreqOffset_r13 = 1; - prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; - *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = calloc(1, sizeof(long)); - *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = PRACH_ParametersCE_r13__maxNumPreambleAttemptCE_r13_n3; - prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; - prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - } - - long *maxavailablenarrowband; - int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; - int narrow_band_index; - for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) - { - maxavailablenarrowband = CALLOC(1, sizeof(long)); - *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); - } - - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; - prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); } - } else { diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 29c2967004..56ce6ded6d 100755 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -333,6 +333,24 @@ init_SI( sib1_v13ext = RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension; + // Basic Asserts for CE_level0 PRACH configuration + + RadioResourceConfigCommonSIB_t *radioResourceConfigCommon_BR = &RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2_BR->radioResourceConfigCommon; + struct PRACH_ConfigSIB_v1310 *ext4_prach=radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + + PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; + AssertFatal(prach_ParametersListCE_r13->list.count>0,"prach_ParametersListCE_r13 is empty\n"); + PRACH_ParametersCE_r13_t *p = prach_ParametersListCE_r13->list.array[0]; + AssertFatal(p->prach_StartingSubframe_r13 != NULL, "prach_StartingSubframe_r13 celevel0 is null\n"); + AssertFatal((1<numRepetitionPerPreambleAttempt_r13)<=(2<<*p->prach_StartingSubframe_r13), + "prachce0->numReptitionPerPreambleAttempt_r13 %d > prach_StartingSubframe_r13 %d\n", + 1<numRepetitionPerPreambleAttempt_r13, + 2<<*p->prach_StartingSubframe_r13); + + + + + } #endif diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 7baa08b3be..6ba66784e4 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -48,7 +48,7 @@ eNBs = prach_config_index = 0; prach_high_speed = "DISABLE"; prach_zero_correlation = 1; - prach_freq_offset = 2; + prach_freq_offset = 1; pucch_delta_shift = 1; pucch_nRB_CQI = 1; pucch_nCS_AN = 0; @@ -179,7 +179,7 @@ eNBs = ( { prach_config_index_br = 3; - prach_freq_offset_br = 2; + prach_freq_offset_br = 1; prach_StartingSubframe_r13 = 0; maxNumPreambleAttemptCE_r13 = 6; numRepetitionPerPreambleAttempt_r13 = 0; @@ -235,7 +235,7 @@ eNBs = prach_config_index = 3; prach_high_speed = "DISABLE"; prach_zero_correlation = 1; - prach_freq_offset = 2; + prach_freq_offset = 1; pucch_delta_shift = 1; pucch_nRB_CQI = 0; pucch_nCS_AN = 0; From 874e0cf9e57058b523f1112812baa3482881efba Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Thu, 17 Aug 2017 12:52:20 +0200 Subject: [PATCH 048/109] Reviewing do_RRCConnectionSetup_BR --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 94 ++++++++++++++------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e48db1d483..36f8b575dc 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2171,7 +2171,7 @@ do_RRCConnectionReconfigurationComplete( return((enc_rval.encoded+7)/8); } -#ifdef Rel14 +//#ifdef Rel14 uint8_t do_RRCConnectionSetup_BR( const protocol_ctxt_t* const ctxt_pP, @@ -2225,11 +2225,11 @@ do_RRCConnectionSetup_BR( SRB1_config = CALLOC(1,sizeof(*SRB1_config)); SRB1_config->srb_Identity = 1; - SRB1_rlc_config = CALLOC(1,sizeof(*SRB1_rlc_config)); - SRB1_config->rlc_Config = SRB1_rlc_config; + SRB1_rlc_config = CALLOC(1, sizeof(*SRB1_rlc_config)); + SRB1_config->rlc_Config = SRB1_rlc_config; // check this SRB1_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue; - SRB1_rlc_config->choice.explicitValue.present=RLC_Config_PR_am; + SRB1_rlc_config->choice.explicitValue.present = RLC_Config_PR_am; #if defined(ENABLE_ITTI) SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = rrc->srb1_timer_poll_retransmit; SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = rrc->srb1_poll_pdu; @@ -2238,23 +2238,23 @@ do_RRCConnectionSetup_BR( SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = rrc->srb1_timer_reordering; SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = rrc->srb1_timer_status_prohibit; #else - SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms20;; - SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p4;; + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms20; // FIXME should be 80 + SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p4; // FIXME should be infinity SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = PollByte_kBinfinity; SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8; + SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35; SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms0; #endif - SRB1_lchan_config = CALLOC(1,sizeof(*SRB1_lchan_config)); - SRB1_config->logicalChannelConfig = SRB1_lchan_config; + SRB1_lchan_config = CALLOC(1, sizeof(*SRB1_lchan_config)); + SRB1_config->logicalChannelConfig = SRB1_lchan_config; SRB1_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue; - SRB1_ul_SpecificParameters = CALLOC(1,sizeof(*SRB1_ul_SpecificParameters)); + SRB1_ul_SpecificParameters = CALLOC(1, sizeof(*SRB1_ul_SpecificParameters)); SRB1_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB1_ul_SpecificParameters; - SRB1_ul_SpecificParameters->priority = 1; //assign_enum(&SRB1_ul_SpecificParameters->prioritisedBitRate,LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity); @@ -2286,9 +2286,9 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->cqi_ReportConfig = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig)); if (rrc->srs_enable[CC_id]) - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->soundingRS_UL_ConfigDedicated)); + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->soundingRS_UL_ConfigDedicated)); else - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = NULL; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = NULL; physicalConfigDedicated2->antennaInfo = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo)); physicalConfigDedicated2->schedulingRequestConfig = CALLOC(1,sizeof(*physicalConfigDedicated2->schedulingRequestConfig)); #ifdef CBA @@ -2298,9 +2298,9 @@ do_RRCConnectionSetup_BR( //assign_enum(&physicalConfigDedicated2->pdsch_ConfigDedicated->p_a, // PDSCH_ConfigDedicated__p_a_dB0); if (carrier->p_eNB==2) - physicalConfigDedicated2->pdsch_ConfigDedicated->p_a= PDSCH_ConfigDedicated__p_a_dB_3; + physicalConfigDedicated2->pdsch_ConfigDedicated->p_a = PDSCH_ConfigDedicated__p_a_dB_3; else - physicalConfigDedicated2->pdsch_ConfigDedicated->p_a= PDSCH_ConfigDedicated__p_a_dB0; + physicalConfigDedicated2->pdsch_ConfigDedicated->p_a = PDSCH_ConfigDedicated__p_a_dB0; // PUCCH physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present=PUCCH_ConfigDedicated__ackNackRepetition_PR_release; @@ -2309,7 +2309,7 @@ do_RRCConnectionSetup_BR( if (carrier->sib1->tdd_Config == NULL) { physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode=NULL;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing; } else { //TDD - physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode= CALLOC(1,sizeof(long)); + physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode = CALLOC(1,sizeof(long)); *(physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode) = PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_bundling;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing; } @@ -2616,7 +2616,7 @@ do_RRCConnectionSetup_BR( return((enc_rval.encoded+7)/8); } -#endif +//#endif //------------------------------------------------------------------------------ @@ -2760,9 +2760,9 @@ do_RRCConnectionSetup( } // Pusch_config_dedicated - physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_ACK_Index = 0; // 2.00 - physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_RI_Index = 0; // 1.25 - physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_CQI_Index = 8; // 2.25 + physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_ACK_Index = 0; // 2.00 // FIXME should be 10 + physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_RI_Index = 0; // 1.25 // FIXME should be 9 + physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_CQI_Index = 8; // 2.25 // FIXME should be 10 // UplinkPowerControlDedicated physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUSCH = 0; // 0 dB @@ -2797,19 +2797,21 @@ do_RRCConnectionSetup( physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_RNTI.buf[1]=0x34+ue_context_pP->local_uid; physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_RNTI.bits_unused=0; - // CQI ReportConfig - + // CQI ReportConfig // FIXME -- reportModeAperiodic should be rm20 physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic)); #if defined(Rel10) || defined(Rel14) - *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30; + *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic = CQI_ReportModeAperiodic_rm30; #else - *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI + *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic = CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI #endif physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB //physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL; - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); + // FIXME -- release = NULL + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; + + /* physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup; physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch @@ -2823,23 +2825,23 @@ do_RRCConnectionSetup( //soundingRS-UL-ConfigDedicated if (rrc->srs_enable[CC_id]==1) { - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; - if (carrier->sib1->tdd_Config==NULL) { // FDD - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present - == SoundingRS_UL_ConfigCommon_PR_setup) - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) - LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); - if (ue_context_pP->local_uid >=20) - LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", - ue_context_pP->local_uid); - //the current code will allow for 20 UEs - to be revised for more + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = + SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = + SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; + if (carrier->sib1->tdd_Config==NULL) { // FDD + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); + if (ue_context_pP->local_uid >=20) + LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); + //the current code will allow for 20 UEs - to be revised for more physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=7+ue_context_pP->local_uid/2; physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; } @@ -2866,7 +2868,7 @@ do_RRCConnectionSetup( } - //AntennaInfoDedicated + //AntennaInfoDedicated // FIXME -- check this physicalConfigDedicated2->antennaInfo = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo)); physicalConfigDedicated2->antennaInfo->present = PhysicalConfigDedicated__antennaInfo_PR_explicitValue; //assign_enum(&physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode, @@ -2876,11 +2878,11 @@ do_RRCConnectionSetup( default: LOG_W(RRC,"At RRCConnectionSetup Transmission mode can only take values 1 or 2! Defaulting to 1!\n"); case 1: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode = AntennaInfoDedicated__transmissionMode_tm1; break; case 2: - physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode = AntennaInfoDedicated__transmissionMode_tm2; break; /* case 3: @@ -2921,10 +2923,12 @@ do_RRCConnectionSetup( // SchedulingRequestConfig physicalConfigDedicated2->schedulingRequestConfig->present = SchedulingRequestConfig_PR_setup; + // FIXME -- sr_PUCCH_resourceIndex should be 18 physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = 3;//ue_context_pP->local_uid; if (carrier->sib1->tdd_Config == NULL) { // FDD - physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 5+(ue_context_pP->local_uid%10); // Isr = 5 (every 10 subframes, offset=2+UE_id mod3) + // FIXME -- check this -- 5 + (ue_context_pP->local_uid % 10) should produce 76 + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 5 + (ue_context_pP->local_uid % 10); // Isr = 5 (every 10 subframes, offset=2+UE_id mod3) } else { switch (carrier->sib1->tdd_Config->subframeAssignment) { case 1: From 0a4fd473343cbec255e16c45701c062a5bc87980 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Thu, 17 Aug 2017 14:06:00 +0200 Subject: [PATCH 049/109] updated fill_rar_brY --- openair2/LAYER2/MAC/rar_tools.c | 43 ++++++++----- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 92 ++++++++++++++------------- 2 files changed, 73 insertions(+), 62 deletions(-) diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c index f9ccd4f9ed..008cadec08 100755 --- a/openair2/LAYER2/MAC/rar_tools.c +++ b/openair2/LAYER2/MAC/rar_tools.c @@ -132,12 +132,12 @@ unsigned short fill_rar( #ifdef Rel14 //------------------------------------------------------------------------------ unsigned short fill_rar_br(eNB_MAC_INST *eNB, - int CC_id, - RA_TEMPLATE *RA_template, - const frame_t frameP, - const sub_frame_t subframeP, - uint8_t* const dlsch_buffer, - const uint8_t ce_level + int CC_id, + RA_TEMPLATE *RA_template, + const frame_t frameP, + const sub_frame_t subframeP, + uint8_t* const dlsch_buffer, + const uint8_t ce_level ) //------------------------------------------------------------------------------ { @@ -147,7 +147,7 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, uint8_t *rar = (uint8_t *)(dlsch_buffer+1); int i; uint8_t nb,rballoc,reps; - uint8_t mcs,TPC,ULdelay,cqireq; + uint8_t mcs,TPC,ULdelay,cqireq,mpdcch_nb_index; int input_buffer_length; @@ -163,10 +163,10 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, int N_NB_index; - AssertFatal(1==0,"RAR for BL/CE Still to be finished ...\n"); + AssertFatal(1==0,"RAR for BL/CE Still to be finished ...\n"); // Copy the Msg2 narrowband - RA_template->msg34_narrowband = RA_template->msg2_narrowband; + RA_template->msg34_narrowband = RA_template->msg2_narrowband; if (ce_level<2) { //CE Level 0,1, CEmodeA input_buffer_length =6; @@ -177,16 +177,25 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, rar[5] = (uint8_t)(RA_template->rnti&0xff); //cc->RA_template[ra_idx].timing_offset = 0; nb = 0; - rballoc = mac_computeRIV(6,1+ce_level,1); // one PRB only for UL Grant in position 1+ce_level within Narrowband - rar[1] |= (rballoc&15)<<(4-N_NB_index); // Hopping = 0 (bit 3), 3 MSBs of rballoc - - reps = 4; - mcs = 7; - TPC = 3; // no power increase + reps = 0; + mcs = 7; + TPC = 3; // no power increase ULdelay = 0; cqireq = 0; - rar[2] |= ((mcs&0x8)>>3); // mcs 10 - rar[3] = (((mcs&0x7)<<5)) | ((TPC&7)<<2) | ((ULdelay&1)<<1) | (cqireq&1); + mpdcch_nb_index = 0; + rballoc = mac_computeRIV(6,1+ce_level,1); // one PRB only for UL Grant in position 1+ce_level within Narrowband + unsigned int buffer = 0; + buffer |= N_NB_index << (16 + (4 - N_NB_index)); + buffer |= ((rballoc & 0xFF) << (12 + (4 - N_NB_index))); + buffer |= ((reps & 0x03) << (10 + (4 - N_NB_index))); + buffer |= ((mcs & 0x07) << (7 + (4 - N_NB_index))); + buffer |= ((TPC & 0x07) << (4 + (4 - N_NB_index))); + buffer |= ((cqireq & 0x01) << (3 + (4 - N_NB_index))); + buffer |= ((ULdelay & 0x01) << (2 + (4 - N_NB_index))); + buffer |= ((ULdelay & 0x01) << (4 - N_NB_index)); + rar[1] = (buffer>>12) & 0x0F; + rar[2] = (buffer>>8) & 0xFF; + rar[3] = buffer&0xFF; } else { // CE level 2,3 => CEModeB diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 36f8b575dc..e8d0e8d90b 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2333,17 +2333,17 @@ do_RRCConnectionSetup_BR( // CQI ReportConfig /// TODO to be reviewed - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic)); + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic)); #if defined(Rel10) || defined(Rel14) - *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30; + *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic = CQI_ReportModeAperiodic_rm30; #else *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI #endif physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB //physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL; - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; /* physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup; physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch @@ -2357,46 +2357,46 @@ do_RRCConnectionSetup_BR( /// TODO to be reviewed if (rrc->srs_enable[CC_id]) { - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = - SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; - if (carrier->sib1->tdd_Config==NULL) { // FDD - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present - == SoundingRS_UL_ConfigCommon_PR_setup) - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) - LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); - if (ue_context_pP->local_uid >=20) - LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", - ue_context_pP->local_uid); - //the current code will allow for 20 UEs - to be revised for more - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=7+ue_context_pP->local_uid/2; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; - } - else { - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present - == SoundingRS_UL_ConfigCommon_PR_setup) - if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) { - LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, - carrier->sib1->tdd_Config->subframeAssignment); - } - if (ue_context_pP->local_uid >=6) - LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n", - ue_context_pP->local_uid); - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=17+ue_context_pP->local_uid/2; - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; - } - LOG_W(RRC,"local UID %d, srs ConfigIndex %d, TransmissionComb %d\n",ue_context_pP->local_uid, - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth = + SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth = + SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1; + if (carrier->sib1->tdd_Config==NULL) { // FDD + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); + if (ue_context_pP->local_uid >=20) + LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); + //the current code will allow for 20 UEs - to be revised for more + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=7+ue_context_pP->local_uid/2; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; + } + else { + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present + == SoundingRS_UL_ConfigCommon_PR_setup) + if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) { + LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n", + carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, + carrier->sib1->tdd_Config->subframeAssignment); + } + if (ue_context_pP->local_uid >=6) + LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n", + ue_context_pP->local_uid); + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=17+ue_context_pP->local_uid/2; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; + } + LOG_W(RRC,"local UID %d, srs ConfigIndex %d, TransmissionComb %d\n",ue_context_pP->local_uid, + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift= - SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; + physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift= + SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; } //AntennaInfoDedicated @@ -2530,11 +2530,13 @@ do_RRCConnectionSetup_BR( // FIXME allocate physicalConfigDedicated2->ext7 physicalConfigDedicated2->ext7 = CALLOC(1, sizeof(struct PhysicalConfigDedicated__ext7)); - physicalConfigDedicated2->ext7->pdsch_ConfigDedicated_v1310 = NULL; + + physicalConfigDedicated2->ext7->pdsch_ConfigDedicated_v1310 = NULL; // has some parameters to be filled + physicalConfigDedicated2->ext7->pusch_ConfigDedicated_r13 = NULL; + physicalConfigDedicated2->ext7->pucch_ConfigDedicated_r13 = NULL; physicalConfigDedicated2->ext7->pdcch_CandidateReductions_r13 = NULL; - physicalConfigDedicated2->ext7->pucch_ConfigDedicated_r13 = NULL; physicalConfigDedicated2->ext7->cqi_ReportConfig_v1310 = NULL; From 8f0ba722f63ded97821de794bba723bb9b6f84f5 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Thu, 17 Aug 2017 16:22:04 +0200 Subject: [PATCH 050/109] first half of RA procedure. PRACH reception functional for CElevel0. Up to RAR generation. --- openair1/PHY/LTE_TRANSPORT/prach.c | 103 ++++++++++-------- openair1/SCHED/phy_procedures_lte_eNb.c | 72 ++++++++---- openair2/LAYER2/MAC/config.c | 1 + openair2/LAYER2/MAC/eNB_scheduler.c | 2 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 78 +++++++++---- .../LAYER2/MAC/eNB_scheduler_primitives.c | 24 ++-- openair2/PHY_INTERFACE/IF_Module.c | 1 + .../CONF/enb.band13.tm1.50PRB.emtc.conf | 4 +- 8 files changed, 181 insertions(+), 104 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index b6564845d0..27663c6698 100755 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -1153,10 +1153,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, #ifdef Rel14 int prach_ifft_cnt=0; #endif - //#ifdef PRACH_DEBUG - int en,en0=0; - //#endif - +#ifdef PRACH_DEBUG + int en0=0; +#endif + int en; if (ru) { fp = &ru->frame_parms; nb_rx = ru->nb_rx; @@ -1209,12 +1209,14 @@ void rx_prach0(PHY_VARS_eNB *eNB, subframe = eNB->proc.subframe_prach_br; prachF = eNB->prach_vars_br.prachF; rxsigF = eNB->prach_vars_br.rxsigF; +#ifdef PRACH_DEBUG if ((frame&1023) < 20) LOG_I(PHY,"PRACH (eNB) : running rx_prach (br_flag %d, ce_level %d) for frame %d subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d, rootSequenceIndex %d, repetition number %d,numRepetitionsPrePreambleAttempt %d\n", br_flag,ce_level,frame,subframe, fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[ce_level], prach_ConfigIndex,rootSequenceIndex, eNB->prach_vars_br.repetition_number[ce_level], fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level]); +#endif } else #endif @@ -1224,8 +1226,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, subframe = eNB->proc.subframe_prach; prachF = eNB->prach_vars.prachF; rxsigF = eNB->prach_vars.rxsigF; +#ifdef PRACH_DEBUG if ((frame&1023) < 20) LOG_I(PHY,"PRACH (eNB) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d , rootSequenceIndex %d\n", subframe,fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset,prach_ConfigIndex,rootSequenceIndex); +#endif } } else { @@ -1233,17 +1237,20 @@ void rx_prach0(PHY_VARS_eNB *eNB, if (br_flag == 1) { subframe = ru->proc.subframe_prach_br; rxsigF = ru->prach_rxsigF_br[ce_level]; +#ifdef PRACH_DEBUG if ((frame&1023) < 20) LOG_I(PHY,"PRACH (RU) : running rx_prach (br_flag %d, ce_level %d) for frame %d subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d\n", br_flag,ce_level,frame,subframe,fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[ce_level],prach_ConfigIndex); +#endif } else #endif { subframe = ru->proc.subframe_prach; rxsigF = ru->prach_rxsigF; +#ifdef PRACH_DEBUG if ((frame&1023) < 20) LOG_I(PHY,"PRACH (RU) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d\n", subframe,fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset,prach_ConfigIndex); - +#endif } } @@ -1253,9 +1260,9 @@ void rx_prach0(PHY_VARS_eNB *eNB, for (aa=0; aaif_south == LOCAL_RF) { // set the time-domain signal if we have to use it in this node prach[aa] = (int16_t*)&ru->common.rxdata[aa][(subframe*fp->samples_per_tti)-ru->N_TA_offset]; - //#ifdef PRACH_DEBUG +#ifdef PRACH_DEBUG if ((frame&1023) < 20) LOG_I(PHY,"RU %d, br_flag %d ce_level %d frame %d subframe %d, : prach %p (energy %d)\n",ru->idx,br_flag,ce_level,frame,subframe,prach[aa],dB_fixed(en0=signal_energy(prach[aa],fp->samples_per_tti))); - //#endif +#endif } } @@ -1465,25 +1472,13 @@ void rx_prach0(PHY_VARS_eNB *eNB, #endif send_IF4p5(ru, ru->proc.frame_prach, ru->proc.subframe_prach, IF4p5_PRACH); -#if 0 - if (dB_fixed(en0)>30) { - en = dB_fixed(signal_energy(&rxsigF[0][k],840)); - // if (en>60) - printf("PRACH (if4p5), k %d, n_ra_prb %d: Frame %d, Subframe %d => %d dB\n",k,n_ra_prb,ru->proc.frame_rx,ru->proc.subframe_rx,en); - write_output("rxsigF.m","prach_rxF",rxsigF[0],12288,1,1); - exit(-1); - } -#endif - return; } else if (eNB!=NULL) { - - //#if 0 en = dB_fixed(signal_energy(&rxsigF[0][0],840)); - /*if (en>60)*/ - if ((frame&1023) < 20) LOG_I(PHY,"PRACH (br_flag %d,ce_level %d): Frame %d, Subframe %d => %d dB\n",br_flag,ce_level,eNB->proc.frame_rx,eNB->proc.subframe_rx,en); - //#endif +#ifdef PRACH_DEBUG + if ((en > 60)&&(br_flag==1)) LOG_I(PHY,"PRACH (br_flag %d,ce_level %d, n_ra_prb %d, k %d): Frame %d, Subframe %d => %d dB\n",br_flag,ce_level,n_ra_prb,k,eNB->proc.frame_rx,eNB->proc.subframe_rx,en); +#endif } @@ -1519,8 +1514,9 @@ void rx_prach0(PHY_VARS_eNB *eNB, *max_preamble_energy=0; for (preamble_index=0 ; preamble_index<64 ; preamble_index++) { +#ifdef PRACH_DEBUG if (en>60) LOG_I(PHY,"frame %d, subframe %d : Trying preamble %d (br_flag %d)\n",frame,subframe,preamble_index,br_flag); - +#endif if (restricted_set == 0) { // This is the relative offset in the root sequence table (5.7.2-4 from 36.211) for the given preamble index preamble_offset = ((NCS==0)? preamble_index : (preamble_index/(N_ZC/NCS))); @@ -1603,10 +1599,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, } // Compute DFT of RX signal (conjugate input, results in conjugate output) for each new rootSequenceIndex - //#ifdef PRACH_DEBUG +#ifdef PRACH_DEBUG if (en>60) LOG_I(PHY,"frame %d, subframe %d : preamble index %d: offset %d, preamble shift %d (br_flag %d, en %d)\n", frame,subframe,preamble_index,preamble_offset,preamble_shift,br_flag,en); - //#endif +#endif log2_ifft_size = 10; fft_size = 6144; @@ -1667,25 +1663,6 @@ void rx_prach0(PHY_VARS_eNB *eNB, #endif // if (aa=1) write_output("prach_rxF_comp1.m","prach_rxF_comp1",prachF,1024,1,1); }// antennas_rx - -#ifdef PRACH_DEBUG - - if (en>40) { - k = (12*n_ra_prb) - 6*fp->N_RB_UL; - - if (k<0) k+=fp->ofdm_symbol_size; - - k*=12; - k+=13; - k*=2; - printf("Dumping prach, k = %d (n_ra_prb %d)\n",k,n_ra_prb); - write_output("rxsigF.m","prach_rxF",&rxsigF[0][0],12288,1,1); - write_output("prach_rxF_comp0.m","prach_rxF_comp0",prachF,1024,1,1); - write_output("Xu.m","xu",Xu,N_ZC,1,1); - write_output("prach_ifft0.m","prach_t0",prach_ifft[0][0],1024,1,1); - exit(-1); - } -#endif } // new dft // check energy in nth time shift, for @@ -1695,26 +1672,58 @@ void rx_prach0(PHY_VARS_eNB *eNB, eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) #endif { +#ifdef PRACH_DEBUG if (en>60) LOG_I(PHY,"frame %d, subframe %d: Checking for peak in time-domain (br_flag %d, en %d)\n",frame,subframe,br_flag,en); - +#endif preamble_shift2 = ((preamble_shift==0) ? 0 : ((preamble_shift<*max_preamble_energy) { *max_preamble_energy = levdB; *max_preamble_delay = ((i*fft_size)>>log2_ifft_size)*update_TA/update_TA2; *max_preamble = preamble_index; - if (en>60) LOG_I(PHY,"frame %d, subframe %d : max_preamble_energy %d, max_preamble_delay %d, max_preamble %d (br_flag %d, en %d)\n",frame,subframe,*max_preamble_energy,*max_preamble_delay,*max_preamble,br_flag,en); + //#ifdef PRACH_DEBUG + if ((en>60) && (br_flag==1)) LOG_I(PHY,"frame %d, subframe %d : max_preamble_energy %d, max_preamble_delay %d, max_preamble %d (br_flag %d,ce_level %d, levdB %d, lev %d)\n",frame,subframe,*max_preamble_energy,*max_preamble_delay,*max_preamble,br_flag,ce_level,levdB,lev); + //#endif } } } }// preamble_index +#ifdef PRACH_DEBUG + + if (en>60) { + k = (12*n_ra_prb) - 6*fp->N_RB_UL; + + if (k<0) k+=fp->ofdm_symbol_size; + + k*=12; + k+=13; + k*=2; + + if (br_flag == 0) { + /* + write_output("rxsigF.m","prach_rxF",&rxsigF[0][0],12288,1,1); + write_output("prach_rxF_comp0.m","prach_rxF_comp0",prachF,1024,1,1); + write_output("Xu.m","xu",Xu,N_ZC,1,1); + write_output("prach_ifft0.m","prach_t0",prach_ifft,1024,1,1);*/ + } + else { + printf("Dumping prach (br_flag %d), k = %d (n_ra_prb %d)\n",br_flag,k,n_ra_prb); + write_output("rxsigF_br.m","prach_rxF_br",&rxsigF[0][0],12288,1,1); + write_output("prach_rxF_comp0_br.m","prach_rxF_comp0_br",prachF,1024,1,1); + write_output("Xu_br.m","xu_br",Xu,N_ZC,1,1); + write_output("prach_ifft0_br.m","prach_t0_br",prach_ifft,1024,1,1); + exit(-1); + } + + } +#endif if (eNB) stop_meas(&eNB->rx_prach); } diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 1a784a306f..0d2d4e8d50 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1889,10 +1889,16 @@ void prach_procedures(PHY_VARS_eNB *eNB, if (br_flag==1) { subframe = eNB->proc.subframe_prach_br; frame = eNB->proc.frame_prach_br; + pthread_mutex_lock(&eNB->UL_INFO_mutex); + eNB->UL_INFO.rach_ind_br.number_of_preambles=0; + pthread_mutex_unlock(&eNB->UL_INFO_mutex); } else #endif { + pthread_mutex_lock(&eNB->UL_INFO_mutex); + eNB->UL_INFO.rach_ind.number_of_preambles=0; + pthread_mutex_unlock(&eNB->UL_INFO_mutex); subframe = eNB->proc.subframe_prach; frame = eNB->proc.frame_prach; } @@ -1905,6 +1911,8 @@ void prach_procedures(PHY_VARS_eNB *eNB, VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,1); + + for (i=0;inum_RU;i++) { ru=eNB->RU_list[i]; for (ru_aa=0,aa=0;ru_aanb_rx;ru_aa++,aa++) { @@ -1918,8 +1926,6 @@ void prach_procedures(PHY_VARS_eNB *eNB, } } - if ((frame&1023) < 20) LOG_I(PHY,"Frame %d, subframe %d: Running rx_prach (br_flag %d)\n", - frame,subframe,br_flag); rx_prach(eNB, eNB->RU_list[0], &max_preamble[0], @@ -1932,13 +1938,13 @@ void prach_procedures(PHY_VARS_eNB *eNB, #endif ); - //#ifdef DEBUG_PHY_PROC - LOG_D(PHY,"[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d\n", +#ifdef DEBUG_PHY_PROC + LOG_I(PHY,"[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d\n", frame,subframe, max_preamble[0], - max_preamble_energy[0], + max_preamble_energy[0]/10, max_preamble_delay[0]); - //#endif +#endif #ifdef Rel14 if (br_flag==1) { @@ -1949,30 +1955,46 @@ void prach_procedures(PHY_VARS_eNB *eNB, prach_mask = is_prach_subframe(&eNB->frame_parms,eNB->proc.frame_prach_br,eNB->proc.subframe_prach_br); eNB->UL_INFO.rach_ind_br.preamble_list = eNB->preamble_list_br; - + int ind=0; + int ce_level=0; + /* Save for later, it doesn't work for (int ind=0,ce_level=0;ce_level<4;ce_level++) { - if ((prach_mask&(1<<(1+ce_level)) > 0) && // prach is active and CE level has finished its repetitions + + if ((eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[ce_level]==1)&& + (prach_mask&(1<<(1+ce_level)) > 0) && // prach is active and CE level has finished its repetitions (eNB->prach_vars_br.repetition_number[ce_level]== eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) { - if (max_preamble_energy[ind] > 580) { - eNB->UL_INFO.rach_ind_br.number_of_preambles++; - - eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind];// - eNB->preamble_list_br[ind].preamble_rel8.preamble = max_preamble[ind]; - // note: fid is implicitly 0 here, this is the rule for eMTC RA-RNTI from 36.321, Section 5.1.4 - eNB->preamble_list_br[ind].preamble_rel8.rnti = 1+subframe+(eNB->prach_vars_br.first_frame[ce_level]%40); - eNB->preamble_list_br[ind].instance_length = 0; //don't know exactly what this is - eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type = 1+ce_level; // CE Level - } + */ + if (eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0]==1){ + if (max_preamble_energy[0] > 350) { + eNB->UL_INFO.rach_ind_br.number_of_preambles++; + + eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind];// + eNB->preamble_list_br[ind].preamble_rel8.preamble = max_preamble[ind]; + // note: fid is implicitly 0 here, this is the rule for eMTC RA-RNTI from 36.321, Section 5.1.4 + eNB->preamble_list_br[ind].preamble_rel8.rnti = 1+subframe+(eNB->prach_vars_br.first_frame[ce_level]%40); + eNB->preamble_list_br[ind].instance_length = 0; //don't know exactly what this is + eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type = 1+ce_level; // CE Level + LOG_I(PHY,"Filling NFAPI indication for RACH %d CELevel %d (mask %x) : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", + ind, + ce_level, + prach_mask, + eNB->preamble_list_br[ind].preamble_rel8.timing_advance, + eNB->preamble_list_br[ind].preamble_rel8.preamble, + eNB->preamble_list_br[ind].preamble_rel8.rnti, + eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type); + } + /* ind++; } - } // ce_level + } */// ce_level + } } else #endif { - if (max_preamble_energy[0] > 580) { + if (max_preamble_energy[0] > 10000) { LOG_D(PHY,"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", eNB->Mod_id, @@ -2002,10 +2024,15 @@ void prach_procedures(PHY_VARS_eNB *eNB, eNB->preamble_list[0].preamble_rel8.rnti = 1+subframe; // note: fid is implicitly 0 here eNB->preamble_list[0].preamble_rel13.rach_resource_type = 0; eNB->preamble_list[0].instance_length = 0; //don't know exactly what this is - + + LOG_I(PHY,"Filling NFAPI indication for RACH : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", + eNB->preamble_list[0].preamble_rel8.timing_advance, + eNB->preamble_list[0].preamble_rel8.preamble, + eNB->preamble_list[0].preamble_rel8.rnti, + eNB->preamble_list[0].preamble_rel13.rach_resource_type); pthread_mutex_unlock(&eNB->UL_INFO_mutex); } - } // max_preamble_energy > 580 + } // max_preamble_energy > 350 } // else br_flag /* mac_xface->initiate_ra_proc(eNB->Mod_id, @@ -2494,7 +2521,6 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const LOG_D(PHY,"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)\n",eNB->Mod_id,frame, subframe); #endif - eNB->rb_mask_ul[0]=0; eNB->rb_mask_ul[1]=0; eNB->rb_mask_ul[2]=0; diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 2084a6046b..50b5531598 100755 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -556,6 +556,7 @@ int rrc_mac_config_req_eNB(module_id_t Mod_idP, (int)radioResourceConfigCommon->rach_ConfigCommon.maxHARQ_Msg3Tx); RC.mac[Mod_idP]->common_channels[CC_idP].radioResourceConfigCommon = radioResourceConfigCommon; + RC.mac[Mod_idP]->common_channels[CC_idP].radioResourceConfigCommon_BR = radioResourceConfigCommon_BR; if (ul_CarrierFreq>0) RC.mac[Mod_idP]->common_channels[CC_idP].ul_CarrierFreq = ul_CarrierFreq; if (ul_Bandwidth) RC.mac[Mod_idP]->common_channels[CC_idP].ul_Bandwidth = *ul_Bandwidth; else RC.mac[Mod_idP]->common_channels[CC_idP].ul_Bandwidth = RC.mac[Mod_idP]->common_channels[CC_idP].mib->message.dl_Bandwidth; diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index 7e6e2b67c9..c3f405ad99 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -180,7 +180,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame #endif - // LOG_I(MAC,"[eNB %d] Frame %d, Subframe %d, entering MAC scheduler (UE_list->head %d)\n",module_idP, frameP, subframeP,UE_list->head); + LOG_D(MAC,"[eNB %d] Frame %d, Subframe %d, entering MAC scheduler (UE_list->head %d)\n",module_idP, frameP, subframeP,UE_list->head); start_meas(&RC.mac[module_idP]->eNB_scheduler); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_ULSCH_SCHEDULER,VCD_FUNCTION_IN); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 3488f7c20b..c588540c27 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -90,7 +90,7 @@ void check_and_add_msg3(module_id_t module_idP,frame_t frameP, sub_frame_t subfr if (RA_template->Msg3_subframe<4) msg3_prog_frame=(RA_template->Msg3_frame+1023)&1023; else msg3_prog_frame=RA_template->Msg3_frame; - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d CC_id %d RA %d is active, Msg3 in (%d,%d), programmed in (%d,%d)\n", + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active, Msg3 in (%d,%d), programmed in (%d,%d)\n", module_idP,frameP,subframeP,CC_id,i,RA_template->Msg3_frame,RA_template->Msg3_subframe, msg3_prog_frame,msg3_prog_subframe); @@ -171,6 +171,11 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; PRACH_ParametersCE_r13_t *p[4]={NULL,NULL,NULL,NULL}; + uint16_t absSF = (10*frameP)+subframeP; + uint16_t absSF_Msg2 = (10*RA_template->Msg2_frame)+RA_template->Msg2_subframe; + + if (absSF>absSF_Msg2) return; // we're not ready yet, need to be to start == + if (cc[CC_idP].radioResourceConfigCommon_BR) { ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; @@ -185,8 +190,10 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t p[1]=prach_ParametersListCE_r13->list.array[1]; case 1: p[0]=prach_ParametersListCE_r13->list.array[0]; + break; default: - AssertFatal(1==0,"Illegal count for prach_ParametersListCE_r13 %d\n",prach_ParametersListCE_r13->list.count); + AssertFatal(1==0,"Illegal count for prach_ParametersListCE_r13 %d\n",(int)prach_ParametersListCE_r13->list.count); + break; } } @@ -201,9 +208,10 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t // distributed transmission // rmax from SIB2 information - rmax = p[RA_template->rach_resource_type-1]->mpdcch_NumRepetition_RA_r13; - // choose r3 by default for RAR (Table 9.1.5-5) - rep = 2; + AssertFatal(rmax<9,"rmax>8!\n"); + rmax = 1<rach_resource_type-1]->mpdcch_NumRepetition_RA_r13; + // choose r1 by default for RAR (Table 9.1.5-5) + rep = 0; // get actual repetition count from Table 9.1.5-3 reps = (rmax<=8)?(1<>(3-rep)); // get narrowband according to higher-layer config @@ -212,9 +220,10 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t first_rb = narrowband_to_first_rb(&cc[CC_idP],RA_template->msg2_narrowband); if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2,-1)>0)){ + (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2,-1)>0)){ // MPDCCH configuration for RAR - + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming MPDCCH %d repetitions\n", + module_idP,frameP,subframeP,reps); memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); @@ -265,10 +274,13 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; RA_template->msg2_mpdcch_repetition_cnt++; dl_req->number_pdu++; - + RA_template->Msg2_subframe = (RA_template->Msg2_subframe+9)%10; + } //repetition_count==0 && SF condition met - else if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - RA_template->msg2_mpdcch_repetition_cnt++; + if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", + module_idP,frameP,subframeP,RA_template->msg2_mpdcch_repetition_cnt); + if (RA_template->msg2_mpdcch_repetition_cnt==reps) { // this is the last mpdcch repetition if (cc[CC_idP].tdd_Config==NULL) { // FDD case // wait 2 subframes for PDSCH transmission @@ -279,9 +291,13 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t else { AssertFatal(1==0,"TDD case not done yet\n"); } - } // mpdcch_repetition_count == reps + }// mpdcch_repetition_count == reps + RA_template->msg2_mpdcch_repetition_cnt++; + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { // Program PDSCH + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming PDSCH %d\n", + module_idP,frameP,subframeP); RA_template->generate_rar = 0; dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; @@ -341,8 +357,9 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t else #endif { + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - LOG_D(MAC,"[eNB %d] CC_id %d Frame %d, subframeP %d: Generating RAR DCI, RA_active %d format 1A (%d,%d))\n", + LOG_I(MAC,"[eNB %d] CC_id %d Frame %d, subframeP %d: Generating RAR DCI, RA_active %d format 1A (%d,%d))\n", module_idP, CC_idP, frameP, subframeP, RA_template->RA_active, @@ -409,7 +426,8 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t // Program UL processing for Msg3 get_Msg3alloc(&cc[CC_idP],subframeP,frameP,&RA_template->Msg3_frame,&RA_template->Msg3_subframe); - + LOG_I(MAC,"Frame %d, Subframe %d: Setting Msg3 reception for Frame %d Subframe %d\n", + frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe); fill_rar(module_idP,CC_idP,frameP,cc[CC_idP].RAR_pdu.payload,N_RB_DL,7); // DL request @@ -1024,7 +1042,7 @@ void schedule_RA(module_id_t module_idP,frame_t frameP, sub_frame_t subframeP) start_meas(&eNB->schedule_ra); - + for (CC_id=0; CC_idRA_active == TRUE) { - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d RA %d is active (generate RAR %d, generate_Msg4 %d, wait_ack_Msg4 %d, rnti %x)\n", - module_idP,CC_id,i,RA_template->generate_rar,RA_template->generate_Msg4,RA_template->wait_ack_Msg4, RA_template->rnti); + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active (generate RAR %d, generate_Msg4 %d, wait_ack_Msg4 %d, rnti %x)\n", + module_idP,frameP,subframeP,CC_id,i,RA_template->generate_rar,RA_template->generate_Msg4,RA_template->wait_ack_Msg4, RA_template->rnti); if (RA_template->generate_rar == 1) generate_Msg2(module_idP,CC_id,frameP,subframeP,RA_template); else if (RA_template->generate_Msg4 == 1) generate_Msg4(module_idP,CC_id,frameP,subframeP,RA_template); @@ -1068,13 +1086,26 @@ void initiate_ra_proc(module_id_t module_idP, { uint8_t i; - RA_TEMPLATE *RA_template = (RA_TEMPLATE *)&RC.mac[module_idP]->common_channels[CC_id].RA_template[0]; - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Initiating RA procedure for preamble index %d\n",module_idP,CC_id,frameP,preamble_index); + COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id]; + RA_TEMPLATE *RA_template = &cc->RA_template[0]; + + struct PRACH_ConfigSIB_v1310 *ext4_prach=cc->radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13= &ext4_prach->prach_ParametersListCE_r13; + + LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n",module_idP,CC_id,frameP,subframeP,preamble_index); #ifdef Rel14 - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d PRACH resource type %d\n",module_idP,CC_id,frameP,rach_resource_type); + LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n",module_idP,CC_id,frameP,subframeP,rach_resource_type); #endif + if (prach_ParametersListCE_r13->list.countlist.count); + return; + } + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC,1); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC,0); @@ -1093,6 +1124,8 @@ void initiate_ra_proc(module_id_t module_idP, RA_template[i].msg2_mpdcch_repetition_cnt = 0; RA_template[i].msg4_mpdcch_repetition_cnt = 0; #endif + RA_template[i].Msg2_frame = frameP+((subframeP>5)?1:0); + RA_template[i].Msg2_subframe = (subframeP+4)%10; /* TODO: find better procedure to allocate RNTI */ do { RA_template[i].rnti = taus(); @@ -1107,8 +1140,11 @@ void initiate_ra_proc(module_id_t module_idP, if (loop == 100) { printf("%s:%d:%s: FATAL ERROR! contact the authors\n", __FILE__, __LINE__, __FUNCTION__); abort(); } RA_template[i].RA_rnti = ra_rnti; RA_template[i].preamble_index = preamble_index; - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Activating RAR generation for process %d, rnti %x, RA_active %d\n", - module_idP,CC_id,frameP,i,RA_template[i].rnti, + LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Activating RAR generation in Frame %d, subframe %d for process %d, rnti %x, RA_active %d\n", + module_idP,CC_id,frameP, + RA_template[i].Msg2_frame, + RA_template[i].Msg2_subframe, + i,RA_template[i].rnti, RA_template[i].RA_active); return; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 4b4949c949..45cb7082f9 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -490,10 +490,9 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t struct PRACH_ConfigSIB_v1310 *ext4_prach = eNB->common_channels[CC_id].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; - EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11= &eNB->UE_list.UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; - int T; + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11; switch (mpdcch_type) { case TYPE0: @@ -508,6 +507,7 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t case TYPE2: // RAR AssertFatal(ext4_prach->mpdcch_startSF_CSS_RA_r13!=NULL, "mpdcch_startSF_CSS_RA_r13 is null\n"); + AssertFatal(rmax>0,"rmax is 0!\b"); if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD T = rmax*startSF_fdd_RA_times2[ext4_prach->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13]>>1; else //TDD @@ -517,19 +517,23 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t AssertFatal(1==0,"MPDCCH Type 2A not handled yet\n"); break; case TYPEUESPEC: - AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); - AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); - - if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD - T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; - else //TDD - T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; - + epdcch_setconfig_r11= &eNB->UE_list.UE_template[CC_id][UE_id].physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0] ; + + + AssertFatal(epdcch_setconfig_r11 != NULL," epdcch_setconfig_r11 is null for UE specific \n"); + AssertFatal(epdcch_setconfig_r11->ext2 != NULL," ext2 doesn't exist in epdcch config ' \n"); + + if (eNB->common_channels[CC_id].tdd_Config==NULL) //FDD + T = rmax*startSF_fdd_RA_times2[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13]>>1; + else //TDD + T = rmax*startSF_tdd_RA[epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.tdd_r13]; + break; default: return(0); } + AssertFatal(T>0,"T is 0!\n"); if (((10*frameP) + subframeP)%T == 0) return(1); else return(0); diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c index 70104e8331..03ce7d4a0b 100755 --- a/openair2/PHY_INTERFACE/IF_Module.c +++ b/openair2/PHY_INTERFACE/IF_Module.c @@ -40,6 +40,7 @@ void handle_rach(UL_IND_t *UL_info) { "Got regular PRACH preamble, not BL/CE\n"); LOG_D(MAC,"Frame %d, Subframe %d Calling initiate_ra_proc (CE_level %d)\n",UL_info->frame,UL_info->subframe, UL_info->rach_ind_br.preamble_list[i].preamble_rel13.rach_resource_type-1); + UL_info->rach_ind_br.number_of_preambles=0; initiate_ra_proc(UL_info->module_id, UL_info->CC_id, UL_info->frame, diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 6ba66784e4..133bcc9caa 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -179,7 +179,7 @@ eNBs = ( { prach_config_index_br = 3; - prach_freq_offset_br = 1; + prach_freq_offset_br = 2; prach_StartingSubframe_r13 = 0; maxNumPreambleAttemptCE_r13 = 6; numRepetitionPerPreambleAttempt_r13 = 0; @@ -235,7 +235,7 @@ eNBs = prach_config_index = 3; prach_high_speed = "DISABLE"; prach_zero_correlation = 1; - prach_freq_offset = 1; + prach_freq_offset = 2; pucch_delta_shift = 1; pucch_nRB_CQI = 0; pucch_nCS_AN = 0; From 94c433d6a071b9bd44d8f44b94f29f76d3a7a784 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Thu, 17 Aug 2017 18:36:40 +0200 Subject: [PATCH 051/109] integration of RAR and Msg3 programming for eMTC --- openair1/SCHED/phy_procedures_lte_eNb.c | 96 ++++++++++++-- openair2/LAYER2/MAC/defs.h | 6 + openair2/LAYER2/MAC/eNB_scheduler_RA.c | 161 ++++++++++++++++-------- openair2/LAYER2/MAC/rar_tools.c | 10 +- 4 files changed, 206 insertions(+), 67 deletions(-) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 0d2d4e8d50..f387dd5efb 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1018,7 +1018,15 @@ handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, nfapi_ul_config_request_pdu_t *ul_config_pdu) { nfapi_ul_config_ulsch_pdu_rel8_t *rel8 = &ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8; + + uint16_t *RIV2nb_rb_LUT, *RIV2first_rb_LUT; + uint16_t RIV_max; + uint16_t use_srs=0; + int8_t UE_id; + LTE_eNB_ULSCH_t *ulsch; + LTE_UL_eNB_HARQ_t *ulsch_harq; + // check if we have received a dci for this ue and ulsch descriptor is configured if (ul_config_pdu == NFAPI_UL_CONFIG_ULSCH_PDU_TYPE) { @@ -1026,6 +1034,80 @@ handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, "No existing UE ULSCH for rnti %x\n",rel8->rnti); AssertFatal(eNB->ulsch[UE_id]->harq_mask > 0, "ulsch for UE_id %d is not active\n",UE_id); + LOG_I(PHY,"Applying UL config for UE %d, rnti %x\n", + UE_id,rel8->rnti); + /* +#ifdef Rel14 + nfapi_ul_config_ulsch_pdu_rel13_t *rel13 = &ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13; + int harq_pid = rel8->harq_process_number; + + if (rel13->ue_type > 0) { // This is a BL/CE UE, retrieve PUSCH programming + ulsch = eNB->ulsch[UE_id]; + + ulsch_harq = ulsch->harq_processes[harq_pid]; + + switch (eNB->frame_parms.N_RB_DL) { + case 6: + RIV2nb_rb_LUT = &RIV2nb_rb_LUT6[0]; + RIV2first_rb_LUT = &RIV2first_rb_LUT6[0]; + RIV_max = RIV_max6; + break; + + case 25: + RIV2nb_rb_LUT = &RIV2nb_rb_LUT25[0]; + RIV2first_rb_LUT = &RIV2first_rb_LUT25[0]; + RIV_max = RIV_max25; + break; + + case 50: + RIV2nb_rb_LUT = &RIV2nb_rb_LUT50[0]; + RIV2first_rb_LUT = &RIV2first_rb_LUT50[0]; + RIV_max = RIV_max50; + break; + + case 100: + RIV2nb_rb_LUT = &RIV2nb_rb_LUT100[0]; + RIV2first_rb_LUT = &RIV2first_rb_LUT100[0]; + RIV_max = RIV_max100; + break; + + default: + DevParam(frame_parms->N_RB_DL, harq_pid, 0); + break; + } + + + ulsch_harq->first_rb = rel8->resource_block_start; + ulsch_harq->nb_rb = rel8->number_of_resource_blocks; + ulsch_harq->O_RI = 0;//1; + ulsch_harq->Or2 = 0; + ulsch_harq->Or1 = 0; + ulsch_harq->O_ACK = 0;//2; + ulsch->beta_offset_cqi_times8 = 18; + ulsch->beta_offset_ri_times8 = 10; + ulsch->beta_offset_harqack_times8 = 16; + + ulsch->rnti = rel8->rnti; + ulsch->harq_mask = 1<round == 0) { + ulsch_harq->status = ACTIVE; + ulsch_harq->rvidx = 0; + //ulsch_harq->TBS = dlsch_tbs25[ulsch_harq->mcs][ulsch_harq->nb_rb-1]; + ulsch_harq->TBS = TBStable[get_I_TBS_UL(ulsch_harq->mcs)][ulsch_harq->nb_rb-1]; + ulsch_harq->Msc_initial = 12*ulsch_harq->nb_rb; + ulsch_harq->Nsymb_initial = 9; + ulsch_harq->round = 0; + } else { + ulsch_harq->rvidx = 0; + ulsch_harq->round++; + } + use_srs = is_srs_occasion_common(frame_parms,ulsch_harq->frame,ulsch_harq->subframe); + ulsch_harq->Nsymb_pusch = 12-(frame_parms->Ncp<<1)-(use_srs==0?0:1); + ulsch_harq->srs_active = use_srs; + } + #endif +*/ } else if (ul_config_pdu == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE) { AssertFatal((UE_id = find_uci(rel8->rnti,proc->frame_tx,proc->subframe_tx,eNB,SEARCH_EXIST))>=0, @@ -1033,19 +1115,19 @@ handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, handle_uci_harq_pdu(eNB,proc,ul_config_pdu); } else if (ul_config_pdu == NFAPI_UL_CONFIG_UCI_CQI_PDU_TYPE) { - + } else if (ul_config_pdu == NFAPI_UL_CONFIG_UCI_CQI_HARQ_PDU_TYPE) { - + } else if (ul_config_pdu == NFAPI_UL_CONFIG_UCI_CQI_SR_PDU_TYPE) { - + } else if (ul_config_pdu == NFAPI_UL_CONFIG_UCI_SR_PDU_TYPE) { - + } else if (ul_config_pdu == NFAPI_UL_CONFIG_UCI_SR_HARQ_PDU_TYPE) { - + } } @@ -1151,7 +1233,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) { dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks-1, TX_req->tx_request_body.tx_pdu_list[dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index].segments[0].segment_data); if (dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti == eNB->preamble_list[0].preamble_rel8.rnti) {// is RAR pdu - + LOG_I(PHY,"Frame %d, Subframe %d: Received LTE RAR pdu, programming based on UL Grant\n"); generate_eNB_ulsch_params_from_rar(eNB, TX_req->tx_request_body.tx_pdu_list[dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index].segments[0].segment_data, frame, @@ -1197,7 +1279,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) { for (i=0;iul_config_request_body.ul_config_pdu_list[i]; - LOG_D(PHY,"NFAPI: ul_pdu %d : type %d\n",i,ul_config_pdu->pdu_type); + LOG_I(PHY,"NFAPI: ul_pdu %d : type %d\n",i,ul_config_pdu->pdu_type); AssertFatal(ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_ULSCH_PDU_TYPE || ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE, "Optional UL_PDU type %d not supported\n",ul_config_pdu->pdu_type); diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index ba1ead0b02..1499ba3753 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -861,6 +861,12 @@ typedef struct { int16_t timing_offset; /// Timeout for RRC connection int16_t RRC_timer; + /// Msg3 first RB + uint8_t msg3_first_rb; + /// Msg3 number of RB + uint8_t msg3_nb_rb; + /// Msg3 MCS + uint8_t msg3_mcs; /// Round of Msg3 HARQ uint8_t msg3_round; /// TBS used for Msg4 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index c588540c27..457a41c517 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -85,62 +85,113 @@ void check_and_add_msg3(module_id_t module_idP,frame_t frameP, sub_frame_t subfr if (RA_template->RA_active == TRUE) { - // program reception 4 subframes prior to transmission - msg3_prog_subframe = (RA_template->Msg3_subframe + 6)%10; - - if (RA_template->Msg3_subframe<4) msg3_prog_frame=(RA_template->Msg3_frame+1023)&1023; - else msg3_prog_frame=RA_template->Msg3_frame; - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active, Msg3 in (%d,%d), programmed in (%d,%d)\n", - module_idP,frameP,subframeP,CC_id,i,RA_template->Msg3_frame,RA_template->Msg3_subframe, - msg3_prog_frame,msg3_prog_subframe); - - if ((msg3_prog_frame==frameP) && - (msg3_prog_subframe==subframeP)) { - LOG_I(MAC,"Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d)\n", - frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe); - eNB->UL_req[CC_id].sfn_sf = (RA_template->Msg3_frame<<4) + RA_template->Msg3_subframe; - if (RA_template->msg3_round == 0) { // program ULSCH - ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; - - memset((void*)ul_config_pdu,0,sizeof(nfapi_ul_config_request_pdu_t)); - ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; - ul_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_ul_config_ulsch_pdu)); - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL(10,ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks); - ul_req->number_of_pdus++; - } - else { // program HI - hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[hi_dci0_req->number_of_dci+hi_dci0_req->number_of_hi]; - memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); - hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_HI_PDU_TYPE; - hi_dci0_pdu->pdu_size = 2+sizeof(nfapi_hi_dci0_hi_pdu); - hi_dci0_pdu->hi_pdu.hi_pdu_rel8.resource_block_start = 1; // note this is hard-coded like in fill_rar - hi_dci0_pdu->hi_pdu.hi_pdu_rel8.cyclic_shift_2_for_drms = 0; - hi_dci0_pdu->hi_pdu.hi_pdu_rel8.hi_value = 0; - hi_dci0_req->number_of_hi++; - - LOG_I(MAC,"[eNB %d][PUSCH-RA %x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) RA %d (mcs %d, first rb %d, nb_rb %d,round %d)\n", - module_idP,RA_template[i].rnti,CC_id,frameP,subframeP,i,10, - 1,1, - RA_template[i].msg3_round-1); - } +#ifdef Rel14 + if (RA_template->rach_resource_type>0) { + // program reception 4 subframes prior to transmission + msg3_prog_subframe = (RA_template->Msg3_subframe + 6)%10; + + if (RA_template->Msg3_subframe<4) msg3_prog_frame=(RA_template->Msg3_frame+1023)&1023; + else msg3_prog_frame=RA_template->Msg3_frame; + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d CE level %d is active, Msg3 in (%d,%d), programmed in (%d,%d)\n", + module_idP,frameP,subframeP,CC_id,i,RA_template->rach_resource_type-1, + RA_template->Msg3_frame,RA_template->Msg3_subframe, + msg3_prog_frame,msg3_prog_subframe); + if ((msg3_prog_frame==frameP) && + (msg3_prog_subframe==subframeP)) { + LOG_I(MAC,"Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d)\n", + frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe); + eNB->UL_req[CC_id].sfn_sf = (RA_template->Msg3_frame<<4) + RA_template->Msg3_subframe; + if (RA_template->msg3_round == 0) { // program ULSCH + ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + + memset((void*)ul_config_pdu,0,sizeof(nfapi_ul_config_request_pdu_t)); + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_ul_config_ulsch_pdu)); + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = narrowband_to_first_rb(cc,RA_template->msg34_narrowband)+RA_template->msg3_first_rb; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = RA_template->msg3_nb_rb; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = ((10*frameP)+subframeP)&7; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL(RA_template->msg3_mcs, + RA_template->msg3_nb_rb); + // Re13 fields + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.ue_type = RA_template->rach_resource_type>2 ? 2 : 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.total_number_of_repetitions = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.repetition_number = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.initial_transmission_sf_io = (RA_template->Msg3_frame*10)+RA_template->Msg3_subframe; + ul_req->number_of_pdus++; + } + } } - } - } - } + else +#endif + { + // program reception 4 subframes prior to transmission + msg3_prog_subframe = (RA_template->Msg3_subframe + 6)%10; + + if (RA_template->Msg3_subframe<4) msg3_prog_frame=(RA_template->Msg3_frame+1023)&1023; + else msg3_prog_frame=RA_template->Msg3_frame; + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active, Msg3 in (%d,%d), programmed in (%d,%d)\n", + module_idP,frameP,subframeP,CC_id,i,RA_template->Msg3_frame,RA_template->Msg3_subframe, + msg3_prog_frame,msg3_prog_subframe); + + if ((msg3_prog_frame==frameP) && + (msg3_prog_subframe==subframeP)) { + LOG_I(MAC,"Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d)\n", + frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe); + eNB->UL_req[CC_id].sfn_sf = (RA_template->Msg3_frame<<4) + RA_template->Msg3_subframe; + if (RA_template->msg3_round == 0) { // program ULSCH + ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + + memset((void*)ul_config_pdu,0,sizeof(nfapi_ul_config_request_pdu_t)); + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_ul_config_ulsch_pdu)); + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL(10,ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks); + ul_req->number_of_pdus++; + } + } + else { // program HI + hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[hi_dci0_req->number_of_dci+hi_dci0_req->number_of_hi]; + memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); + hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_HI_PDU_TYPE; + hi_dci0_pdu->pdu_size = 2+sizeof(nfapi_hi_dci0_hi_pdu); + hi_dci0_pdu->hi_pdu.hi_pdu_rel8.resource_block_start = 1; // note this is hard-coded like in fill_rar + hi_dci0_pdu->hi_pdu.hi_pdu_rel8.cyclic_shift_2_for_drms = 0; + hi_dci0_pdu->hi_pdu.hi_pdu_rel8.hi_value = 0; + hi_dci0_req->number_of_hi++; + + LOG_I(MAC,"[eNB %d][PUSCH-RA %x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) RA %d (mcs %d, first rb %d, nb_rb %d,round %d)\n", + module_idP,RA_template[i].rnti,CC_id,frameP,subframeP,i,10, + 1,1, + RA_template[i].msg3_round-1); + } // PHICH + } // non-BL/CE UE case + } // RA_active = TRUE + } // for RA_processes + } // for CCids } void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t subframeP,RA_TEMPLATE *RA_template) { diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c index 008cadec08..94ede46821 100755 --- a/openair2/LAYER2/MAC/rar_tools.c +++ b/openair2/LAYER2/MAC/rar_tools.c @@ -163,10 +163,10 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, int N_NB_index; - AssertFatal(1==0,"RAR for BL/CE Still to be finished ...\n"); - // Copy the Msg2 narrowband RA_template->msg34_narrowband = RA_template->msg2_narrowband; + RA_template->msg3_first_rb = ce_level; + RA_template->msg3_nb_rb = 2; if (ce_level<2) { //CE Level 0,1, CEmodeA input_buffer_length =6; @@ -183,7 +183,7 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, ULdelay = 0; cqireq = 0; mpdcch_nb_index = 0; - rballoc = mac_computeRIV(6,1+ce_level,1); // one PRB only for UL Grant in position 1+ce_level within Narrowband + rballoc = mac_computeRIV(6,RA_template->msg3_first_rb,RA_template->msg3_nb_rb); // one PRB only for UL Grant in position 1+ce_level within Narrowband unsigned int buffer = 0; buffer |= N_NB_index << (16 + (4 - N_NB_index)); buffer |= ((rballoc & 0xFF) << (12 + (4 - N_NB_index))); @@ -204,8 +204,8 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, rar[3] = (uint8_t)(RA_template->rnti>>8); rar[4] = (uint8_t)(RA_template->rnti&0xff); } - LOG_D(MAC,"[RAPROC] Frame %d Generating RAR BR (%02x|%02x.%02x.%02x.%02x.%02x.%02x) for ce_level %d, CRNTI %x,preamble %d/%d,TIMING OFFSET %d\n", - frameP, + LOG_I(MAC,"[RAPROC] Frame %d Subframe %d : Generating RAR BR (%02x|%02x.%02x.%02x.%02x.%02x.%02x) for ce_level %d, CRNTI %x,preamble %d/%d,TIMING OFFSET %d\n", + frameP,subframeP, *(uint8_t*)rarh,rar[0],rar[1],rar[2],rar[3],rar[4],rar[5], ce_level, RA_template->rnti, From d45b6c1f20bda661ebaa7b1873b7c94bd185ec16 Mon Sep 17 00:00:00 2001 From: kogo Date: Mon, 21 Aug 2017 13:34:20 +0200 Subject: [PATCH 052/109] rearranged conf file - added pdsch_configcommon_v1310 & pusch_configcommon_v1310 --- openair2/COMMON/rrc_messages_types.h | 8 + openair2/ENB_APP/enb_config.c | 47 ++++- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 60 +++++- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 186 ++++++++++-------- 4 files changed, 213 insertions(+), 88 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 501bf4b91c..b5d3c45a58 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -284,6 +284,14 @@ typedef struct RrcConfigurationReq_s { long *sib2_mpdcch_pdsch_hoppingOffset_r13 [MAX_NUM_CCs]; + long *pdsch_maxNumRepetitionCEmodeA_r13 [MAX_NUM_CCs]; + long *pdsch_maxNumRepetitionCEmodeB_r13 [MAX_NUM_CCs]; + + long *pusch_maxNumRepetitionCEmodeA_r13 [MAX_NUM_CCs]; + long *pusch_maxNumRepetitionCEmodeB_r13 [MAX_NUM_CCs]; + long *pusch_HoppingOffset_v1310 [MAX_NUM_CCs]; + + #endif } RrcConfigurationReq; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index cd01541f6d..bcbf6d9058 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -184,8 +184,6 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "sib2_mpdcch_pdsch_hoppingOffset_r13" - - #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" #define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" #define ENB_CONFIG_STRING_PUSCH_N_SB "pusch_n_SB" @@ -234,6 +232,15 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_UETIMERS_N311 "ue_TimersAndConstants_n311" #define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode" +#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" +#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" + +#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13" +#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pusch_maxNumRepetitionCEmodeB_r13" +#define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310 "pusch_HoppingOffset_v1310" + + + #define ENB_CONFIG_STRING_SRB1 "srb1_parameters" #define ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT "timer_poll_retransmit" #define ENB_CONFIG_STRING_SRB1_TIMER_REORDERING "timer_reordering" @@ -1184,6 +1191,12 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + libconfig_int pdsch_maxNumRepetitionCEmodeA_r13 = 0; + libconfig_int pdsch_maxNumRepetitionCEmodeB_r13 = 0; + + libconfig_int pusch_maxNumRepetitionCEmodeA_r13 = 0; + libconfig_int pusch_maxNumRepetitionCEmodeB_r13 = 0; + libconfig_int pusch_HoppingOffset_v1310 = 0; @@ -2727,6 +2740,36 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = pdsch_maxNumRepetitionCEmodeA_r13; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = pdsch_maxNumRepetitionCEmodeB_r13; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = pusch_maxNumRepetitionCEmodeA_r13; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = pusch_maxNumRepetitionCEmodeB_r13; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310, &pusch_HoppingOffset_v1310)) + { + RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j] = pusch_HoppingOffset_v1310; + } + rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); int num_rsrp_list = config_setting_length(rsrp_range_list); RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e8d0e8d90b..3c49003318 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1338,17 +1338,61 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; } - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = calloc(1,sizeof(PDSCH_ConfigCommon_v1310_t)); - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = 0; - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + // pdsch_ConfigCommon_v1310 + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = CALLOC(1,sizeof(PDSCH_ConfigCommon_v1310_t)); + + if (configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = *configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]; + printf("[DEBUGGING][KOGO] : pdsch CE MODE A : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13); + } else { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + } + + if (configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); // check if they're really long + *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = *configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]; + printf("[DEBUGGING][KOGO] : pdsch CE MODE B : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13); + } else { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + } + + // *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = 0; + // (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + + // pusch_ConfigCommon_v1310 (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = calloc(1,sizeof(PUSCH_ConfigCommon_v1310_t)); - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = 0; - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; + + if (configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = *configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]; + printf("[DEBUGGING][KOGO] : pusch CE MODE A : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13); + } else { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = NULL; + } + + if (configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = *configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]; + printf("[DEBUGGING][KOGO] : pusch CE MODE B : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13); + } else { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; + } + + if (configuration->pusch_HoppingOffset_v1310[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = *configuration->pusch_HoppingOffset_v1310[CC_id]; + printf("[DEBUGGING][KOGO] : pusch hopping offset : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310); + } else { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; + } + + // *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = 0; + // (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; + // (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; + if (rrconfig->prach_ConfigCommon_v1310) { diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 133bcc9caa..d05b6c6c7f 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -24,7 +24,7 @@ eNBs = ////////// Physical parameters: component_carriers = ( - { + { node_function = "3GPP_eNodeB"; node_timing = "synch_to_ext_device"; node_synch_ref = 0; @@ -51,7 +51,7 @@ eNBs = prach_freq_offset = 1; pucch_delta_shift = 1; pucch_nRB_CQI = 1; - pucch_nCS_AN = 0; + pucch_nCS_AN = 0; pucch_n1_AN = 32; pdsch_referenceSignalPower = -27; pdsch_p_b = 0; @@ -110,17 +110,26 @@ eNBs = br_parameters : { - fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13"; - fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF; + #hyperSFN_r13 = 0; + #eDRX_Allowed_r13 = 0; + #q_QualMinRSRQ_CE_r13 = ; #SIB1 schedulingInfoSIB1_BR_r13 = 4; - #hyperSFN_r13 = 0; - #eDRX_Allowed_r13 = 0; + + #system_info_value_tag_SI = + #( + # { + # systemInfoValueTagSi_r13 = 0; + # } + #); + cellSelectionInfoCE_r13 = "ENABLE"; q_RxLevMinCE_r13 = -70; - #q_QualMinRSRQ_CE_r13 = ; bandwidthReducedAccessRelatedInfo_r13 = "ENABLE" + si_WindowLength_BR_r13 = 0; + si_RepetitionPattern_r13 = 0; + scheduling_info_br = ( { @@ -128,17 +137,13 @@ eNBs = si_TBS_r13 = 5; } ); - si_WindowLength_BR_r13 = 0; - si_RepetitionPattern_r13 = 0; + + fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13"; + fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF; startSymbolBR_r13 = 3; si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF ! si_ValidityTime_r13 = 0; - #system_info_value_tag_SI = - #( - # { - # systemInfoValueTagSi_r13 = 0; - # } - #); + freqHoppingParametersDL_r13 = "DISABLE" mpdcch_pdsch_HoppingNB_r13 = 0; interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13" @@ -151,8 +156,16 @@ eNBs = # SIB23 frame_type = "FDD"; preambleTransMax_CE_r13 = 6; - - # max 4 + + rach_numberOfRA_Preambles = 60; + rach_powerRampingStep = 4; + rach_preambleInitialReceivedTargetPower = -108; + rach_preambleTransMax = 10; + rach_raResponseWindowSize = 10; + rach_macContentionResolutionTimer = 48; + rach_maxHARQ_Msg3Tx = 4; + + # max size for this array is 4 rach_CE_LevelInfoList_r13 = ( { @@ -164,17 +177,74 @@ eNBs = } ); + # BCCH CONFIG + bcch_modificationPeriodCoeff = 2; + + #PCCH Config + pcch_default_PagingCycle = 128; + pcch_nB = "oneT"; + + #PRACH Config + prach_root = 89; + prach_config_index = 3; + prach_high_speed = "DISABLE"; + prach_zero_correlation = 1; + prach_freq_offset = 2; + + #PDSCH Config Common + pdsch_referenceSignalPower = -27; + pdsch_p_b = 0; + + + # PUSCH Config Common + pusch_n_SB = 1; + pusch_hoppingMode = "interSubFrame"; + pusch_hoppingOffset = 0; + pusch_enable64QAM = "DISABLE"; + pusch_groupHoppingEnabled = "ENABLE"; + pusch_groupAssignment = 0; + pusch_sequenceHoppingEnabled = "DISABLE"; + + # PUCCH Config Common + pucch_delta_shift = 1; + pucch_nRB_CQI = 0; + pucch_nCS_AN = 0; + pucch_n1_AN = 32; + + pusch_p0_Nominal = -96; + pusch_alpha = "AL1"; + pucch_p0_Nominal = -104; + pucch_deltaF_Format1 = "deltaF2"; + pucch_deltaF_Format1b = "deltaF3"; + pucch_deltaF_Format2 = "deltaF0"; + pucch_deltaF_Format2a = "deltaF0"; + pucch_deltaF_Format2b = "deltaF0"; + + msg3_delta_Preamble = 6; + + prach_ConfigCommon_v1310 = "ENABLE"; - # max 3 + pdsch_maxNumRepetitionCEmodeA_r13 = 0; + #pdsch_maxNumRepetitionCEmodeB_r13 = 2; # NULL + + pusch_maxNumRepetitionCEmodeA_r13 = 0; + #pusch_maxNumRepetitionCEmodeB_r13 = 4; #NULL + #pusch_HoppingOffset_v1310 = 5; #NULL + + # max size for this array is 3 rsrp_range_list = ( { rsrp_range_br = 0; } ); - - # max 4 + + mpdcch_startSF_CSS_RA_r13 = "fdd-r13"; + mpdcch_startSF_CSS_RA_r13_val = 0; + prach_HoppingOffset_r13 = 0; + + # max size for this array is 4 prach_parameters_ce_r13 = ( { @@ -196,15 +266,24 @@ eNBs = } ); + + ue_TimersAndConstants_t300 = 1000; + ue_TimersAndConstants_t301 = 400; + ue_TimersAndConstants_t310 = 50; + ue_TimersAndConstants_t311 = 30000; + ue_TimersAndConstants_n310 = 1; + ue_TimersAndConstants_n311 = 10; + ue_TransmissionMode = 1; + pcch_config_v1310 : { - paging_narrowbands_r13 = 1; - mpdcch_numrepetition_paging_r13 = 0; + paging_narrowbands_r13 = 1; + mpdcch_numrepetition_paging_r13 = 0; #nb_v1310 = 2; } - pucch_NumRepetitionCE_Msg4_Level0_r13 = 0; + pucch_NumRepetitionCE_Msg4_Level0_r13 = 0; #pucch_NumRepetitionCE_Msg4_Level1_r13 = 1; #pucch_NumRepetitionCE_Msg4_Level2_r13 = 2; #pucch_NumRepetitionCE_Msg4_Level3_r13 = 3; @@ -222,65 +301,16 @@ eNBs = # sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) # sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; -# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; +# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; } - - - mpdcch_startSF_CSS_RA_r13 = "fdd-r13" - mpdcch_startSF_CSS_RA_r13_val = 0; - prach_HoppingOffset_r13 = 0; - - prach_root = 89; - prach_config_index = 3; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 32; - pdsch_referenceSignalPower = -27; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; + rach_preamblesGroupAConfig = "DISABLE"; + pusch_nDMRS1 = 0; phich_duration = "NORMAL"; phich_resource = "ONESIXTH"; srs_enable = "DISABLE"; - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - rach_numberOfRA_Preambles = 60; - rach_preamblesGroupAConfig = "DISABLE"; - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 400; - ue_TimersAndConstants_t310 = 50; - ue_TimersAndConstants_t311 = 30000; - ue_TimersAndConstants_n310 = 1; - ue_TimersAndConstants_n311 = 10; - ue_TransmissionMode = 1; - + } @@ -334,9 +364,9 @@ eNBs = NETWORK_INTERFACES : { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0:S1-C-eNB"; + ENB_INTERFACE_NAME_FOR_S1_MME = "enp0s31f6:S1-C"; ENB_IPV4_ADDRESS_FOR_S1_MME = "172.17.0.21/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0:S1-U-eNB"; + ENB_INTERFACE_NAME_FOR_S1U = "enp0s31f6:S1-U"; ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.21/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; From a86f8cdb791acd017fc3a3e11a6562021b769892 Mon Sep 17 00:00:00 2001 From: "islam.galal" Date: Mon, 21 Aug 2017 14:11:09 +0200 Subject: [PATCH 053/109] Update RRCConectionSetup_BR --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 59 ++++++++++----------------- 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e8d0e8d90b..2fd0fdfde2 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2278,7 +2278,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->pdsch_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->pdsch_ConfigDedicated)); physicalConfigDedicated2->pucch_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->pucch_ConfigDedicated)); - physicalConfigDedicated2->pusch_ConfigDedicated = NULL; + physicalConfigDedicated2->pusch_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->pusch_ConfigDedicated));; physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH = NULL; physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH = NULL; @@ -2294,9 +2294,7 @@ do_RRCConnectionSetup_BR( #ifdef CBA physicalConfigDedicated2->pusch_CBAConfigDedicated_vlola = CALLOC(1,sizeof(*physicalConfigDedicated2->pusch_CBAConfigDedicated_vlola)); #endif - // PDSCH - //assign_enum(&physicalConfigDedicated2->pdsch_ConfigDedicated->p_a, - // PDSCH_ConfigDedicated__p_a_dB0); + if (carrier->p_eNB==2) physicalConfigDedicated2->pdsch_ConfigDedicated->p_a = PDSCH_ConfigDedicated__p_a_dB_3; else @@ -2306,6 +2304,14 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present=PUCCH_ConfigDedicated__ackNackRepetition_PR_release; physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.choice.release=0; + // PUSCH + physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_ACK_Index = 10; + physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_RI_Index = 9; + physicalConfigDedicated2->pusch_ConfigDedicated->betaOffset_CQI_Index = 10; + + // + + if (carrier->sib1->tdd_Config == NULL) { physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode=NULL;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing; } else { //TDD @@ -2331,30 +2337,14 @@ do_RRCConnectionSetup_BR( // TPC-PDCCH-Config // CQI ReportConfig - - /// TODO to be reviewed physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic)); -#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 -#endif + *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic = CQI_ReportModeAperiodic_rm20; physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB - //physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL; - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; - /* - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup; - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex = 0; // Icqi/pmi - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present = CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI; // subband CQI - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.choice.subbandCQI.k=4; - - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex=NULL; - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.simultaneousAckNackAndCQI=0; - */ + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.release = NULL; + /// TODO to be reviewed if (rrc->srs_enable[CC_id]) { physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup; @@ -2402,8 +2392,6 @@ do_RRCConnectionSetup_BR( //AntennaInfoDedicated physicalConfigDedicated2->antennaInfo = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo)); physicalConfigDedicated2->antennaInfo->present = PhysicalConfigDedicated__antennaInfo_PR_explicitValue; - //assign_enum(&physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode, - // AntennaInfoDedicated__transmissionMode_tm2); switch (transmission_mode) { default: @@ -2454,7 +2442,7 @@ do_RRCConnectionSetup_BR( // SchedulingRequestConfig physicalConfigDedicated2->schedulingRequestConfig->present = SchedulingRequestConfig_PR_setup; - physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = 3;//ue_context_pP->local_uid; + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = 18;//ue_context_pP->local_uid; if (carrier->sib1->tdd_Config == NULL) { // FDD physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 5+(ue_context_pP->local_uid%10); // Isr = 5 (every 10 subframes, offset=2+UE_id mod3) @@ -2482,10 +2470,7 @@ do_RRCConnectionSetup_BR( } - // assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax, - //SchedulingRequestConfig__setup__dsr_TransMax_n4); - // assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; - physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n16; physicalConfigDedicated2->ext4 = calloc(1, sizeof(struct PhysicalConfigDedicated__ext4) ); physicalConfigDedicated2->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; @@ -2504,15 +2489,15 @@ do_RRCConnectionSetup_BR( // memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(1, sizeof(EPDCCH_SetConfig_r11_t)); epdcch_setconfig_r11->setConfigId_r11 = 0; - epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; + epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_distributed; epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(1, 5 * sizeof(uint8_t)); + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 5; + epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 2; + memset(epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf, 0, 5 * sizeof(uint8_t)); - epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; + epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 54; epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; @@ -2525,7 +2510,7 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 2; ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); // FIXME allocate physicalConfigDedicated2->ext7 From aec3cad8cf693224ef7f09751164b524ed74492c Mon Sep 17 00:00:00 2001 From: kogo Date: Mon, 21 Aug 2017 17:55:37 +0200 Subject: [PATCH 054/109] rearranged enb_config.c --- openair2/ENB_APP/enb_config.c | 569 ++++++++++++++++------------------ 1 file changed, 274 insertions(+), 295 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index bcbf6d9058..99e1383f45 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -1198,7 +1198,34 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int pusch_maxNumRepetitionCEmodeB_r13 = 0; libconfig_int pusch_HoppingOffset_v1310 = 0; + libconfig_int hyperSFN_r13 = 0; + libconfig_int eDRX_Allowed_r13 = 0; + libconfig_int q_RxLevMinCE_r13 = 0; + libconfig_int q_QualMinRSRQ_CE_r13 = 0; + libconfig_int si_WindowLength_BR_r13 = 0; + libconfig_int si_RepetitionPattern_r13 = 0; + libconfig_int startSymbolBR_r13 = 0; + libconfig_int si_HoppingConfigCommon_r13 = 0; + libconfig_int si_ValidityTime_r13 = 0; + libconfig_int mpdcch_pdsch_HoppingNB_r13 = 0; + libconfig_int interval_DLHoppingConfigCommonModeA_r13_val = 0; + libconfig_int interval_DLHoppingConfigCommonModeB_r13_val = 0; + libconfig_int mpdcch_pdsch_HoppingOffset_r13 = 0; + libconfig_int preambleTransMax_CE_r13 = 0; + libconfig_int mpdcch_startSF_CSS_RA_r13_val = 0; + libconfig_int prach_HoppingOffset_r13 = 0; + libconfig_int schedulingInfoSIB1_BR_r13 = 0; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13 = NULL; libconfig_int srb1_timer_poll_retransmit = 0; @@ -2035,7 +2062,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (rach_numberOfRA_Preambles / 4) - 1; if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) AssertFatal(0, @@ -2619,156 +2646,265 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { #ifdef Rel14 setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); - if (setting_br13 == NULL) { - puts("setting BR is NULL"); - } else { - puts("setting BR is NOT NULL"); - } + if (setting_br13 != NULL) { int cnt = 0; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) + + + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) { + AssertFatal(0, "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", RC.config_file_name, i); + } else { + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; + } + + system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); + int num_system_info; + if (system_info_value_tag_SI_list != NULL) { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = pucch_NumRepetitionCE_Msg4_Level0_r13; - ++cnt; + num_system_info = config_setting_length(system_info_value_tag_SI_list); + for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) + { + system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); + if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) + { + AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; + } } else { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;; + num_system_info = 0; } - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) + RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = pucch_NumRepetitionCE_Msg4_Level1_r13; - ++cnt; + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; + } else + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = NULL;; - } + printf("Enabling BR access SI scheduling parameters\n"); + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = pucch_NumRepetitionCE_Msg4_Level2_r13; - ++cnt; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = NULL; - } + } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = pucch_NumRepetitionCE_Msg4_Level3_r13; - ++cnt; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = NULL;; - } - - scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); - int num_scheduling_info = config_setting_length(scheduling_info_br_list); - RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; + scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); + int num_scheduling_info = config_setting_length(scheduling_info_br_list); + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; - for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) - { - scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); - if (!( - config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) - && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) - ) - ){ - AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; - RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; - } + for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) + { + scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); + if (!( + config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) + && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) + ) + ){ + AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; + } - system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); - int num_system_info; - if (system_info_value_tag_SI_list != NULL) - { - num_system_info = config_setting_length(system_info_value_tag_SI_list); - for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) - { - system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); - if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) - { - AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; - } - } - else - { - num_system_info = 0; - } - RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; + bool fdd_downlink_exist = config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13); + if (fdd_downlink_exist) + { + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + + config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13); + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + } + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; - rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); - int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); - RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; - int rach_info_level_idx; - for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) - { - rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); - if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) - ) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", - RC.config_file_name, nb_cc++); - } + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; - RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = ra_ResponseWindowSize_r13; - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13; - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = rar_HoppingConfig_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; - } + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = pdsch_maxNumRepetitionCEmodeA_r13; - } + } + else + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = pdsch_maxNumRepetitionCEmodeB_r13; - } + // SIB23 parameters --------------------------------------------------------------------------------------------------------------------------- - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = pusch_maxNumRepetitionCEmodeA_r13; - } + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; + } + + + rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); + int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; + int rach_info_level_idx; + for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) + { + rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); + if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = ra_ResponseWindowSize_r13; + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13; + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = rar_HoppingConfig_r13; + + } + + + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = pucch_NumRepetitionCE_Msg4_Level0_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = pucch_NumRepetitionCE_Msg4_Level1_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = NULL;; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = pucch_NumRepetitionCE_Msg4_Level2_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = NULL; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = pucch_NumRepetitionCE_Msg4_Level3_r13; + ++cnt; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = NULL;; + } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = pusch_maxNumRepetitionCEmodeB_r13; - } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310, &pusch_HoppingOffset_v1310)) - { - RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j] = pusch_HoppingOffset_v1310; - } rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); int num_rsrp_list = config_setting_length(rsrp_range_list); @@ -2807,7 +2943,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13); - + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; @@ -2870,7 +3006,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } setting_freq_hoppingParameters_r13 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13); - if (setting_freq_hoppingParameters_r13 != NULL) + if (setting_freq_hoppingParameters_r13 != NULL) { RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13)) @@ -2881,9 +3017,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } else { - RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = NULL; + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = NULL; } - + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13)) { @@ -2891,7 +3027,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = sib2_interval_DLHoppingConfigCommonModeA_r13; config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val); RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeA_r13_val; - + } else { @@ -2906,7 +3042,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = sib2_interval_DLHoppingConfigCommonModeB_r13; config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val); RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeB_r13_val; - + } else { @@ -2914,7 +3050,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13)) { @@ -2922,7 +3058,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = sib2_interval_ULHoppingConfigCommonModeA_r13; config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val); RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; - + } else { @@ -2930,7 +3066,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13)) { @@ -2938,7 +3074,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = sib2_interval_ULHoppingConfigCommonModeB_r13; config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val); RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeB_r13_val; - + } else { @@ -2958,7 +3094,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { { RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = NULL; } - + } else @@ -3947,34 +4083,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } - int hyperSFN_r13; - int eDRX_Allowed_r13; - int q_RxLevMinCE_r13; - int q_QualMinRSRQ_CE_r13; - int si_WindowLength_BR_r13; - int si_RepetitionPattern_r13; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - int startSymbolBR_r13; - int si_HoppingConfigCommon_r13; - int si_ValidityTime_r13; - int mpdcch_pdsch_HoppingNB_r13; - int interval_DLHoppingConfigCommonModeA_r13_val; - int interval_DLHoppingConfigCommonModeB_r13_val; - int mpdcch_pdsch_HoppingOffset_r13; - int preambleTransMax_CE_r13; - int mpdcch_startSF_CSS_RA_r13_val; - int prach_HoppingOffset_r13; - int schedulingInfoSIB1_BR_r13; - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13; - setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); if (setting_pcch_config_v1310 != NULL) { @@ -3994,7 +4102,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = nb_v1310; - printf("[DEBUGGING][KOGO] : nb_v1310 = %d\n", nb_v1310); } else { @@ -4008,13 +4115,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = FALSE; } - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", - RC.config_file_name, i); - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j]= schedulingInfoSIB1_BR_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) { RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); @@ -4025,69 +4125,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) { - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; } else - RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j]= FALSE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) - { - printf("Enabling BR access SI scheduling parameters\n"); - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - - bool fdd_downlink_exist = config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13); - if (fdd_downlink_exist) - { - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - else - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - - config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13); - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL; - } + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13); @@ -4106,78 +4148,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; } else RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; - - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; - - - - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; /////SIB2 Parameters - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) { From e0be431a2cdbbe7617dd37d70a29651f8183f440 Mon Sep 17 00:00:00 2001 From: Ahmed Elias Date: Tue, 22 Aug 2017 08:58:15 -0700 Subject: [PATCH 055/109] minor update in asn file --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 46c2f9ecd4..00eea15b41 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2215,7 +2215,7 @@ do_RRCConnectionReconfigurationComplete( return((enc_rval.encoded+7)/8); } -//#ifdef Rel14 +#ifdef Rel14 uint8_t do_RRCConnectionSetup_BR( const protocol_ctxt_t* const ctxt_pP, @@ -2647,7 +2647,7 @@ do_RRCConnectionSetup_BR( return((enc_rval.encoded+7)/8); } -//#endif +#endif //------------------------------------------------------------------------------ From c8f960c977193d19c48e1553bdc7035295227c5f Mon Sep 17 00:00:00 2001 From: khalidhamdy Date: Wed, 23 Aug 2017 13:25:43 +0200 Subject: [PATCH 056/109] edit scheduler for emtc UE --- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 21 +++++++++++++-------- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 11 +++++++---- targets/RT/USER/lte-enb.c | 5 +++++ 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index d3f732b8fc..475dcd1a6e 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -536,6 +536,18 @@ schedule_ue_spec_br( if (mbsfn_flag[CC_id] > 0) continue; + + unsigned int rmax; + unsigned int narrowBandindex_index; + unsigned int first_rb, rep, reps; + + // rmax from RRC connection setup + getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index); + + first_rb = narrowband_to_first_rb(cc,narrowBandindex_index); + + if (vrb_map[first_rb] == 1) // skip scheduling emtc UEs if first RB is taken + continue ; for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id]) { @@ -549,14 +561,7 @@ schedule_ue_spec_br( // at the end of the scheduler make sure the right subbands coresponding to these RBs are allocated the UE in UE_template directely // also check on the fill_DCI function - unsigned int rmax; - unsigned int narrowBandindex_index; - unsigned int first_rb, rep, reps; - - // rmax from RRC connection setup - getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index); - - first_rb = narrowband_to_first_rb(cc,narrowBandindex_index); + vrb_map[first_rb] = 1; vrb_map[first_rb + 1] = 1; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 1aadc0b1bf..6dcc459d1b 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -999,6 +999,9 @@ abort(); rb_table_index--; } + //********************************* [khalid] here will make the modification for emtc + + TBS = get_TBS_UL(mcs,rb_table[rb_table_index]); UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_rx+=rb_table[rb_table_index]; UE_list->eNB_UE_stats[CC_id][UE_id].ulsch_TBS=TBS; @@ -1016,10 +1019,10 @@ abort(); // bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB) // increment for next UE allocation - first_rb[CC_id]+=rb_table[rb_table_index]; + first_rb[CC_id]+=rb_table[rb_table_index]; // khalid just shifting the first rb for next ue to schedule //store for possible retransmission UE_template->nb_rb_ul[harq_pid] = rb_table[rb_table_index]; - UE_template->first_rb_ul[harq_pid] = first_rb[CC_id]; + UE_template->first_rb_ul[harq_pid] = first_rb[CC_id]; // khalid? should store the firsy UE_sched_ctrl->ul_scheduled |= (1<head) @@ -1039,7 +1042,7 @@ abort(); hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci+eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_hi]; memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_DCI_PDU_TYPE; - hi_dci0_pdu->pdu_size = 2+sizeof(nfapi_hi_dci0_dci_pdu); + hi_dci0_pdu->pdu_size = 2+sizeof(nfapi_hi_dci0_dci_pdu); // khalid these items in nFapi in hi_dci0_pdu->dci_pdu.dci_pdu_rel8.dci_format = NFAPI_UL_DCI_FORMAT_0; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.aggregation_level = aggregation; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.rnti = rnti; @@ -1052,7 +1055,7 @@ abort(); hi_dci0_pdu->dci_pdu.dci_pdu_rel8.new_data_indication_1 = ndi; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.tpc = tpc; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.cqi_csi_request = cqi_req; - hi_dci0_pdu->dci_pdu.dci_pdu_rel8.dl_assignment_index = UE_template->DAI_ul[sched_subframe]; + hi_dci0_pdu->dci_pdu.dci_pdu_rel8.dl_assignment_index = UE_template->DAI_ul[sched_subframe]; // khalid valid for TDD only if (!CCE_allocation_infeasible(module_idP,CC_id,2,subframeP, aggregation, diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c index 386026690c..0d015ab335 100755 --- a/targets/RT/USER/lte-enb.c +++ b/targets/RT/USER/lte-enb.c @@ -162,9 +162,14 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam wakeup_prach_eNB_br(eNB,NULL,proc->frame_rx,proc->subframe_rx); #endif } + + // khalid begin chain of every thread + // UE-specific RX processing for subframe n phy_procedures_eNB_uespec_RX(eNB, proc, no_relay ); + /* khalid : detection of MSG3 is simple but seems there is another entity that fill the buffers to this phy_rx chain */ + pthread_mutex_lock(&eNB->UL_INFO_mutex); eNB->UL_INFO.frame = proc->frame_rx; eNB->UL_INFO.subframe = proc->subframe_rx; From 1b429a63dab145eea762a42dab2dcc80d25cdddb Mon Sep 17 00:00:00 2001 From: kogo Date: Wed, 30 Aug 2017 16:59:58 +0200 Subject: [PATCH 057/109] refactored config file, SIB1 & SIB2 are sent/received successfully --- openair2/COMMON/rrc_messages_types.h | 7 +- openair2/ENB_APP/enb_config.c | 2840 +++++++++++------ openair2/RRC/LITE/MESSAGES/asn1_msg.c | 104 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 110 +- 4 files changed, 1902 insertions(+), 1159 deletions(-) diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index b5d3c45a58..77a701d11b 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -205,9 +205,9 @@ typedef struct RrcConfigurationReq_s { long si_WindowLength_BR_r13 [MAX_NUM_CCs]; long si_RepetitionPattern_r13 [MAX_NUM_CCs]; - BOOLEAN_t * fdd_DownlinkOrTddSubframeBitmapBR_r13 [MAX_NUM_CCs]; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 [MAX_NUM_CCs]; - uint16_t *fdd_UplinkSubframeBitmapBR_r13 [MAX_NUM_CCs]; + BOOLEAN_t * fdd_DownlinkOrTddSubframeBitmapBR_r13 [MAX_NUM_CCs]; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 [MAX_NUM_CCs]; + uint16_t *fdd_UplinkSubframeBitmapBR_r13 [MAX_NUM_CCs]; long startSymbolBR_r13 [MAX_NUM_CCs]; long si_HoppingConfigCommon_r13 [MAX_NUM_CCs]; long* si_ValidityTime_r13 [MAX_NUM_CCs]; @@ -234,6 +234,7 @@ typedef struct RrcConfigurationReq_s { int rach_CE_LevelInfoList_r13_size [MAX_NUM_CCs]; // end kogo +// long pcch_defaultPagingCycle_br; // +kogo -- rsrp_range_list long rsrp_range [MAX_NUM_CCs][3]; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 99e1383f45..a6e430ee95 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -211,6 +211,7 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A "pucch_deltaF_Format2a" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B "pucch_deltaF_Format2b" #define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES "rach_numberOfRA_Preambles" +#define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES_BR "rach_numberOfRA_Preambles_br" #define ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG "rach_preamblesGroupAConfig" #define ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA "rach_sizeOfRA_PreamblesGroupA" #define ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA "rach_messageSizeGroupA" @@ -233,9 +234,9 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr #define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode" #define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" -#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" - #define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13" + +#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" #define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pusch_maxNumRepetitionCEmodeB_r13" #define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310 "pusch_HoppingOffset_v1310" @@ -1127,7 +1128,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { const char* pucch_deltaF_Format2 = NULL; const char* pucch_deltaF_Format2a = NULL; const char* pucch_deltaF_Format2b = NULL; - libconfig_int rach_numberOfRA_Preambles = 0; + const char* rach_numberOfRA_Preambles = NULL; const char* rach_preamblesGroupAConfig = NULL; libconfig_int rach_sizeOfRA_PreamblesGroupA = 0; libconfig_int rach_messageSizeGroupA = 0; @@ -1138,16 +1139,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int rach_raResponseWindowSize = 0; libconfig_int rach_macContentionResolutionTimer = 0; libconfig_int rach_maxHARQ_Msg3Tx = 0; - libconfig_int pcch_defaultPagingCycle = 0; + const char* pcch_defaultPagingCycle = 0; + const char* pcch_nB = NULL; libconfig_int bcch_modificationPeriodCoeff = 0; - libconfig_int ue_TimersAndConstants_t300 = 0; - libconfig_int ue_TimersAndConstants_t301 = 0; - libconfig_int ue_TimersAndConstants_t310 = 0; - libconfig_int ue_TimersAndConstants_t311 = 0; - libconfig_int ue_TimersAndConstants_n310 = 0; - libconfig_int ue_TimersAndConstants_n311 = 0; - libconfig_int ue_TransmissionMode = 0; + + const char* ue_TimersAndConstants_t300 = NULL; + const char* ue_TimersAndConstants_t301 = NULL; + const char* ue_TimersAndConstants_t310 = NULL; + const char* ue_TimersAndConstants_t311 = NULL; + const char* ue_TimersAndConstants_n310 = NULL; + const char* ue_TimersAndConstants_n311 = NULL; + const char* ue_TransmissionMode = NULL; libconfig_int si_Narrowband_r13 = 0; libconfig_int si_TBS_r13 = 0; @@ -1156,63 +1159,65 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { libconfig_int firstPreamble_r13 = 0; libconfig_int lastPreamble_r13 = 0; - libconfig_int ra_ResponseWindowSize_r13 = 0; - libconfig_int mac_ContentionResolutionTimer_r13 = 0; - libconfig_int rar_HoppingConfig_r13 = 0; + const char* ra_ResponseWindowSize_r13 = NULL; + const char* mac_ContentionResolutionTimer_r13 = NULL; + const char* rar_HoppingConfig_r13 = NULL; libconfig_int rsrp_range_br = 0; libconfig_int prach_config_index_br = 0; libconfig_int prach_freq_offset_br = 0; libconfig_int prach_StartingSubframe_r13 = 0; - libconfig_int maxNumPreambleAttemptCE_r13 = 0; - libconfig_int numRepetitionPerPreambleAttempt_r13 = 0; - libconfig_int mpdcch_NumRepetition_RA_r13 = 0; - libconfig_int prach_HoppingConfig_r13 = 0; + const char* maxNumPreambleAttemptCE_r13 = NULL; + const char* numRepetitionPerPreambleAttempt_r13 = NULL; + const char* mpdcch_NumRepetition_RA_r13 = NULL; + const char* prach_HoppingConfig_r13 = NULL; libconfig_int maxavailablenarrowband = 0; libconfig_int pucch_info_value = 0; libconfig_int paging_narrowbands_r13 = 0; - libconfig_int mpdcch_numrepetition_paging_r13 = 0; - libconfig_int nb_v1310 = 0; + const char* mpdcch_numrepetition_paging_r13 = NULL; + const char* nb_v1310 = NULL; - libconfig_int pucch_NumRepetitionCE_Msg4_Level0_r13 = 0; - libconfig_int pucch_NumRepetitionCE_Msg4_Level1_r13 = 0; - libconfig_int pucch_NumRepetitionCE_Msg4_Level2_r13 = 0; - libconfig_int pucch_NumRepetitionCE_Msg4_Level3_r13 = 0; + const char* pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; - libconfig_int sib2_mpdcch_pdsch_hoppingNB_r13 = 0; - libconfig_int sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; - libconfig_int sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; - libconfig_int sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; - libconfig_int sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; - libconfig_int sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; - libconfig_int sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; - libconfig_int sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; - libconfig_int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; - libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + const char* sib2_mpdcch_pdsch_hoppingNB_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeA_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeA_r13_val = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeB_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeB_r13_val = NULL; - libconfig_int pdsch_maxNumRepetitionCEmodeA_r13 = 0; - libconfig_int pdsch_maxNumRepetitionCEmodeB_r13 = 0; + const char* sib2_interval_ULHoppingConfigCommonModeA_r13 = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeA_r13_val = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeB_r13 = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeB_r13_val = NULL; + libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; - libconfig_int pusch_maxNumRepetitionCEmodeA_r13 = 0; - libconfig_int pusch_maxNumRepetitionCEmodeB_r13 = 0; + const char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + const char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + + const char* pusch_maxNumRepetitionCEmodeA_r13 = 0; + const char* pusch_maxNumRepetitionCEmodeB_r13 = 0; libconfig_int pusch_HoppingOffset_v1310 = 0; libconfig_int hyperSFN_r13 = 0; libconfig_int eDRX_Allowed_r13 = 0; libconfig_int q_RxLevMinCE_r13 = 0; libconfig_int q_QualMinRSRQ_CE_r13 = 0; - libconfig_int si_WindowLength_BR_r13 = 0; - libconfig_int si_RepetitionPattern_r13 = 0; + const char* si_WindowLength_BR_r13 = NULL; + const char* si_RepetitionPattern_r13 = NULL; libconfig_int startSymbolBR_r13 = 0; - libconfig_int si_HoppingConfigCommon_r13 = 0; - libconfig_int si_ValidityTime_r13 = 0; - libconfig_int mpdcch_pdsch_HoppingNB_r13 = 0; + const char* si_HoppingConfigCommon_r13 = NULL; + const char* si_ValidityTime_r13 = NULL; + const char* mpdcch_pdsch_HoppingNB_r13 = NULL; libconfig_int interval_DLHoppingConfigCommonModeA_r13_val = 0; libconfig_int interval_DLHoppingConfigCommonModeB_r13_val = 0; libconfig_int mpdcch_pdsch_HoppingOffset_r13 = 0; - libconfig_int preambleTransMax_CE_r13 = 0; - libconfig_int mpdcch_startSF_CSS_RA_r13_val = 0; + const char* preambleTransMax_CE_r13 = NULL; + const char* rach_numberOfRA_Preambles_br = NULL; + const char* mpdcch_startSF_CSS_RA_r13_val = NULL; libconfig_int prach_HoppingOffset_r13 = 0; libconfig_int schedulingInfoSIB1_BR_r13 = 0; uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; @@ -1474,7 +1479,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) @@ -1483,16 +1488,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) - && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) - && 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) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) + && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) #if defined(Rel10) || defined(Rel14) @@ -2060,14 +2065,67 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, pucch_deltaF_Format2b); +// 27 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n4 = 0, +// 28 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n8 = 1, +// 29 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n12 = 2, +// 30 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n16 = 3, +// 31 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n20 = 4, +// 32 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n24 = 5, +// 33 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n28 = 6, +// 34 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n32 = 7, +// 35 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n36 = 8, +// 36 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n40 = 9, +// 37 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n44 = 10, +// 38 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n48 = 11, +// 39 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n52 = 12, +// 40 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n56 = 13, +// 41 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n60 = 14, +// 42 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64 = 15 - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (rach_numberOfRA_Preambles / 4) - 1; + if (!strcmp(rach_numberOfRA_Preambles, "n4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (4 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (8 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (12 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (16 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (20 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (24 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (28 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (32 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (36 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (40 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (44 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (48 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (52 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (56 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (60 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (64 / 4) - 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + } + + printf("[DEBUGGIN][KOGO][TESTING]: number of RA Preambles: %s - %d\n", + rach_numberOfRA_Preambles, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles); + - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; @@ -2079,13 +2137,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA / 4) - 1; switch (rach_messageSizeGroupA) { case 56: @@ -2296,30 +2348,22 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, rach_preambleTransMax); - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: + if (!strcmp(pcch_defaultPagingCycle, "rf32")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; + } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; + } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); } + printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle); + if (strcmp(pcch_nB, "fourT") == 0) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; } @@ -2376,274 +2420,449 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; - break; - - default: + if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - } - switch (ue_TimersAndConstants_t301) { - case 100: + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300); + + if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; - break; - - case 200: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; - break; - - case 300: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; - - case 400: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; - - case 600: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; - - case 1000: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; - - case 1500: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; - - case 2000: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; - - default: + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - } - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301); - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; - - case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; - - default: + if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - } - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310); - case 3000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; - case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; - - case 30000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; - - default: + if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - } - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311); - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; - - default: + if (!strcmp(ue_TimersAndConstants_n310, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; + } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; + } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; + } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; + } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; + } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; + } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; + } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", + RC.config_file_name, i, ue_TimersAndConstants_n310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310); + + + if (!strcmp(ue_TimersAndConstants_n311, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; + } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; + } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; + } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; + } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; + } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; + } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; + } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - } - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311); - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; - - default: + if (!strcmp(ue_TransmissionMode, "tm1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; + } else if (!strcmp(ue_TransmissionMode, "tm2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; + } else if (!strcmp(ue_TransmissionMode, "tm3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; + } else if (!strcmp(ue_TransmissionMode, "tm4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; + } else if (!strcmp(ue_TransmissionMode, "tm5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; + } else if (!strcmp(ue_TransmissionMode, "tm6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; + } else if (!strcmp(ue_TransmissionMode, "tm7")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", RC.config_file_name, i, ue_TransmissionMode); - break; } + printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode); + + + + +// switch (ue_TimersAndConstants_t300) { +// case 100: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100; +// break; + +// case 200: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200; +// break; + +// case 300: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300; +// break; + +// case 400: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400; +// break; + +// case 600: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600; +// break; + +// case 1000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; +// break; + +// case 1500: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500; +// break; + +// case 2000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000; +// break; + +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", +// RC.config_file_name, i, ue_TimersAndConstants_t300); +// break; + +// } + + + +// switch (ue_TimersAndConstants_t301) { +// case 100: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; +// break; + +// case 200: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; +// break; + +// case 300: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; +// break; + +// case 400: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; +// break; + +// case 600: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; +// break; + +// case 1000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; +// break; + +// case 1500: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; +// break; + +// case 2000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; +// break; + +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", +// RC.config_file_name, i, ue_TimersAndConstants_t301); +// break; + +// } + + + +// switch (ue_TimersAndConstants_t310) { +// case 0: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; +// break; + +// case 50: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; +// break; + +// case 100: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; +// break; + +// case 200: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; +// break; + +// case 500: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; +// break; + +// case 1000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; +// break; + +// case 2000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; +// break; + +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", +// RC.config_file_name, i, ue_TimersAndConstants_t310); +// break; + +// } + + +// switch (ue_TimersAndConstants_t311) { +// case 1000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; +// break; + +// case 3000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; +// break; + +// case 5000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; +// break; + +// case 10000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; +// break; + +// case 15000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; +// break; + +// case 20000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; +// break; + +// case 30000: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; +// break; + +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", +// RC.config_file_name, i, ue_TimersAndConstants_t311); +// break; + +// } + + + +// switch (ue_TimersAndConstants_n310) { +// case 1: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; +// break; + +// case 2: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; +// break; + +// case 3: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; +// break; + +// case 4: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; +// break; + +// case 6: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; +// break; + +// case 8: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; +// break; + +// case 10: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; +// break; + +// case 20: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; +// break; + +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", +// RC.config_file_name, i, ue_TimersAndConstants_n311); +// break; + +// } + +// switch (ue_TimersAndConstants_n311) { +// case 1: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; +// break; + +// case 2: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; +// break; + +// case 3: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; +// break; + +// case 4: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; +// break; + +// case 5: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; +// break; + +// case 6: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; +// break; + +// case 8: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; +// break; + +// case 10: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; +// break; + +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", +// RC.config_file_name, i, ue_TimersAndConstants_t311); +// break; + +// } + +// switch (ue_TransmissionMode) { +// case 1: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; +// break; +// case 2: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; +// break; +// case 3: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; +// break; +// case 4: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; +// break; +// case 5: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; +// break; +// case 6: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; +// break; +// case 7: +// RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; +// break; +// default: +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", +// RC.config_file_name, i, ue_TransmissionMode); +// break; +// } + #ifdef Rel14 setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); @@ -2709,10 +2928,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { { printf("Enabling BR access SI scheduling parameters\n"); RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) { AssertFatal(0, "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", @@ -2720,6 +2939,51 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } + + + if (!strcmp(si_WindowLength_BR_r13, "ms20")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; + } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; + } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; + } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; + } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; + } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; + } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; + } else if (!strcmp(si_WindowLength_BR_r13, "spare")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; + } + + + if (!strcmp(si_RepetitionPattern_r13, "everyRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; + } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; + } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; + } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; + } + + + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (!strcmp(si_HoppingConfigCommon_r13, "off")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; + } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; + } + + + printf("DEBUGGING][KOGO][CHAR*]: window length: %s - %d\n", si_WindowLength_BR_r13, RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j]); + printf("DEBUGGING][KOGO][CHAR*]: repetition pattern: %s - %d\n", si_RepetitionPattern_r13, RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j]); + printf("DEBUGGING][KOGO][CHAR*]: hopping config common: %s - %d\n", si_HoppingConfigCommon_r13, RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j]); + scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); int num_scheduling_info = config_setting_length(scheduling_info_br_list); RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; @@ -2755,17 +3019,24 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL; } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) { RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13; - + if (!strcmp(si_ValidityTime_r13, "true")) { + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", + RC.config_file_name, i); + } + printf("DEBUGGING][KOGO][CHAR*]: si_ValidityTime_r13: %s - %d\n", si_ValidityTime_r13, *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j]); } else { RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; } + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; @@ -2779,6 +3050,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i); } + + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; else @@ -2794,14 +3067,22 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) { RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13; - + if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; + } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", + RC.config_file_name, i); + } } - else + else { RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + } if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) { @@ -2817,18 +3098,45 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; } - // SIB23 parameters --------------------------------------------------------------------------------------------------------------------------- + // SIB23 parameters --------------------------------------------------------------------------------------------------------------------------- - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13; + if (!strcmp(preambleTransMax_CE_r13, "n3")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 0; + } else if (!strcmp(preambleTransMax_CE_r13, "n4")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 1; + } else if (!strcmp(preambleTransMax_CE_r13, "n5")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 2; + } else if (!strcmp(preambleTransMax_CE_r13, "n6")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 3; + } else if (!strcmp(preambleTransMax_CE_r13, "n7")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 4; + } else if (!strcmp(preambleTransMax_CE_r13, "n8")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 5; + } else if (!strcmp(preambleTransMax_CE_r13, "n10")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 6; + } else if (!strcmp(preambleTransMax_CE_r13, "n20")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 7; + } else if (!strcmp(preambleTransMax_CE_r13, "n50")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 8; + } else if (!strcmp(preambleTransMax_CE_r13, "n100")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 9; + } else if (!strcmp(preambleTransMax_CE_r13, "n200")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 10; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d preambleTransMax_CE_r13 unknown value!\n", + RC.config_file_name, i); + } } else { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; } + printf("DEBUGGING][KOGO][CHAR*]: preambleTransMax_CE_r13: %s - %d\n", preambleTransMax_CE_r13, *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13); rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); @@ -2839,9 +3147,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) + && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) + && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) + && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) ) { AssertFatal (0, @@ -2851,53 +3159,255 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = ra_ResponseWindowSize_r13; - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13; - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = rar_HoppingConfig_r13; + if (!strcmp(ra_ResponseWindowSize_r13, "sf20")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 0; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf50")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 1; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf80")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 2; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf120")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 3; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf180")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 4; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf240")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 5; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf320")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 6; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf400")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, ra_ResponseWindowSize_r13 unknown value!\n", + RC.config_file_name); + } + + if (!strcmp(mac_ContentionResolutionTimer_r13, "sf80")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 0; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf100")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 1; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf120")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 2; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf160")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 3; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf200")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 4; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf240")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 5; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf480")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 6; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf960")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, mac_ContentionResolutionTimer_r13 unknown value!\n", + RC.config_file_name); + } + + if (!strcmp(rar_HoppingConfig_r13, "on")) { + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 0; + } else if (!strcmp(rar_HoppingConfig_r13, "off")) { + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rar_HoppingConfig_r13 unknown value!\n", + RC.config_file_name); + } + + } // for + + printf("DEBUGGING][KOGO][CHAR*]: ra_ResponseWindowSize_r13: %s - %d\n", preambleTransMax_CE_r13, RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][0]); + printf("DEBUGGING][KOGO][CHAR*]: mac_ContentionResolutionTimer_r13: %s - %d\n", mac_ContentionResolutionTimer_r13, RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][0]); + printf("DEBUGGING][KOGO][CHAR*]: rar_HoppingConfig_r13: %s - %d\n", rar_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][0]); + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j]); + } + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r192")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 0; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r256")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 1; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r384")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 2; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r512")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 3; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r768")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 4; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r1024")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 5; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r1536")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 6; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r2048")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeB_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeB_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeB_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j]); } + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j]); + } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r192")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 0; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r256")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 1; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r384")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 2; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r512")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 3; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r768")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 4; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r1024")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 5; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r1536")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 6; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r2048")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeB_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeB_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeB_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j]); + } + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310, &pusch_HoppingOffset_v1310)) { + RRC_CONFIGURATION_REQ(msg_p).pusch_HoppingOffset_v1310[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).pusch_HoppingOffset_v1310[j] = pusch_HoppingOffset_v1310; + printf("DEBUGGING][KOGO][CHAR*]: pusch_HoppingOffset_v1310 %d\n", *RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j]); + } + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = pucch_NumRepetitionCE_Msg4_Level0_r13; ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level0_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j]); } else { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;; } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = pucch_NumRepetitionCE_Msg4_Level1_r13; ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level1_r13 unknown value!\n", + RC.config_file_name); + + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level1_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j]); } else { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = NULL;; } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13)) + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13)) { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = pucch_NumRepetitionCE_Msg4_Level2_r13; ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n16")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n32")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level2_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level2_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level2_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j]); } else { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = NULL; } - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13)) + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13)) { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = pucch_NumRepetitionCE_Msg4_Level3_r13; ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n16")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n32")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level3_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level3_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level3_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j]); } else { @@ -2905,85 +3415,179 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } + rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); + int num_rsrp_list = config_setting_length(rsrp_range_list); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; + int rsrp_range_idx; + for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) + { + rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); + if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rsrp_range %d!\n", + RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; + printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br); + } - rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); - int num_rsrp_list = config_setting_length(rsrp_range_list); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; - int rsrp_range_idx; - for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) - { - rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); - if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rsrp_range %d!\n", - RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; - printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br); - } + prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); + int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; + int prach_parameters_index; + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index) + { + prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index); + if (! (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br) + && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13) + && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13) + && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } - prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); - int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); - RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; - int prach_parameters_index; - for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index) - { - prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index); - if (! (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13) - && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) ) - ) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n", - RC.config_file_name, nb_cc++); - } + printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13); - printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13); + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = numRepetitionPerPreambleAttempt_r13; - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = mpdcch_NumRepetition_RA_r13; - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = prach_HoppingConfig_r13; - - if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; - } - - if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; - } + if (config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + if (!strcmp(maxNumPreambleAttemptCE_r13, "n3")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 0; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n5")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 2; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n6")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 3; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n7")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 4; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 5; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n10")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 6; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "spare1")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, maxNumPreambleAttemptCE_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + printf("[DEBUGGING][KOGO][CHAR*]: maxNumPreambleAttemptCE_r13: %s - %d\n", maxNumPreambleAttemptCE_r13, *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index]); + } + else + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; + } - max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); - int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list); - RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prach_parameters_index] = num_available_narrow_bands; - int narrow_band_index; - for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++) - { - max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index); - RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band); - } - } + if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 0; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 2; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 3; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n16")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 4; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n32")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 5; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n64")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 6; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n128")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, numRepetitionPerPreambleAttempt_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + printf("[DEBUGGING][KOGO][CHAR*]: numRepetitionPerPreambleAttempt_r13: %s - %d\n", numRepetitionPerPreambleAttempt_r13, RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index]); + + + if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 0; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r4")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 2; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r8")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 3; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r16")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 4; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r32")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 5; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r64")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 6; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r128")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 7; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r256")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 8; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r512")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 9; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1024")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 10; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2048")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 11; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare4")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 12; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare3")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 13; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare2")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 14; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare1")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 15; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, mpdcch_NumRepetition_RA_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO][CHAR*]: mpdcch_NumRepetition_RA_r13: %s - %d\n", mpdcch_NumRepetition_RA_r13, RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index]); + + if (!strcmp(prach_HoppingConfig_r13, "off")) { + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(prach_HoppingConfig_r13, "on")) { + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 0; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_HoppingConfig_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO][CHAR*]: prach_HoppingConfig_r13: %s - %d\n", prach_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index]); + + if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; + } + + + max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); + int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list); + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prach_parameters_index] = num_available_narrow_bands; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++) + { + max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index); + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band); + } + + } n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); @@ -3005,28 +3609,75 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value; } + puts("---------------------------------------------------------------------------------------------------"); + setting_freq_hoppingParameters_r13 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13); if (setting_freq_hoppingParameters_r13 != NULL) { RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; - if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13)) + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13)) { RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = sib2_mpdcch_pdsch_hoppingNB_r13; + if (!strcmp(sib2_mpdcch_pdsch_hoppingNB_r13, "nb2")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = 0; + } else if (!strcmp(sib2_mpdcch_pdsch_hoppingNB_r13, "nb4")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_mpdcch_pdsch_hoppingNB_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_mpdcch_pdsch_hoppingNB_r13: %s - %d\n", sib2_mpdcch_pdsch_hoppingNB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]); } else { RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = NULL; } - if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13)) + + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13)) { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = sib2_interval_DLHoppingConfigCommonModeA_r13; - config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val); - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeA_r13_val; + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val); + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = 0; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j]); + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j]); } else @@ -3035,14 +3686,48 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_DLHoppingConfigCommonModeB_r13)) + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_DLHoppingConfigCommonModeB_r13)) { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = sib2_interval_DLHoppingConfigCommonModeB_r13; - config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val); - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeB_r13_val; - + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val); + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = 0; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int16")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = 1; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int40")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeB_r13: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j]); + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeB_r13_val: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeB_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j]); } else { @@ -3051,35 +3736,104 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { - if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13)) + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13)) { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = sib2_interval_ULHoppingConfigCommonModeA_r13; - config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val); - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val); + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j]); } else { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = NULL; } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j]); - if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13)) + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13)) { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = sib2_interval_ULHoppingConfigCommonModeB_r13; - config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val); - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeB_r13_val; - + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val); + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = 0; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int16")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int40")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeB_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j]); } else { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = NULL; } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeB_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeB_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j]); @@ -3136,7 +3890,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) @@ -3144,963 +3898,926 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) )) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, Component Carrier %d!\n", - RC.config_file_name, nb_cc++); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; } else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; } else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; } else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; } else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; } else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; } else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; } else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; } else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; } else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; } else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { - if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) - )) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", - RC.config_file_name, i); + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); } RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; } else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; } else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; } else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; } else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; } else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; } else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; } else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", - RC.config_file_name, i, pusch_alpha); + 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", + RC.config_file_name, i, pusch_alpha); RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; } else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; } else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; } else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; } else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; } else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; } else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; } else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; } else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; } else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; } else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; } else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1; + if (!strcmp(rach_numberOfRA_Preambles, "n4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (4 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (8 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (12 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (16 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (20 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (24 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (28 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (32 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (36 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (40 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (44 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (48 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (52 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (56 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (60 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (64 / 4) - 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + } - if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + printf("[DEBUGGING][KOGO][CHAR*] : rach_numberOfRA_Preambles_br = %d\n", RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles); + +// RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (rach_numberOfRA_Preambles_br/ 4) - 1; + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; - if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) - && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) - && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", - RC.config_file_name, i); + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); +// if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", +// RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - switch (rach_messageSizeGroupA) { + switch (rach_messageSizeGroupA) { case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); } else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); switch (rach_preambleTransMax) { - case 3: + case 3: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; break; - case 4: + case 4: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; break; - case 5: + case 5: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; break; - case 6: + case 6: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; break; - case 7: + case 7: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; break; - case 8: + case 8: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; break; - case 10: + case 10: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; break; - case 20: + case 20: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; break; - case 50: + case 50: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; break; - case 100: + case 100: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; break; - case 200: + case 200: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; break; - default: + default: AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); break; } RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + if (!strcmp(pcch_defaultPagingCycle, "rf32")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; + } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; + } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); } + printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle); + if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; } else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; } else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; } else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; } else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; } else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; } else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); switch (bcch_modificationPeriodCoeff) { - case 2: + case 2: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; break; - case 4: + case 4: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; break; - case 8: + case 8: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; break; - case 16: + case 16: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; break; - default: + default: AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); break; } - switch (ue_TimersAndConstants_t300) { - case 100: + if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; - break; - - case 200: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; - break; - - case 300: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; - break; - - case 400: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; - break; - - case 600: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; - break; - - case 1000: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: + } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; - break; - - default: + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - } - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300); - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200; - break; - - case 300: + if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - break; - - case 400: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - break; - - case 600: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - break; - - case 1000: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - break; - - case 1500: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - break; - - case 2000: + } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - break; - - default: + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - } - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301); - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200; - break; - - case 500: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000; - break; - - default: + if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - } + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310); - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000; - break; - - case 3000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000; - break; - - case 30000: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000; - break; - - default: + if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - } - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311); - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20; - break; - - default: + if (!strcmp(ue_TimersAndConstants_n310, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; + } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; + } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; + } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; + } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; + } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; + } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; + } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", + RC.config_file_name, i, ue_TimersAndConstants_n310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310); + + + if (!strcmp(ue_TimersAndConstants_n311, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; + } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; + } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; + } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; + } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; + } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; + } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; + } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - } - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1; - break; + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311); - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10; - break; - - default: + if (!strcmp(ue_TransmissionMode, "tm1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; + } else if (!strcmp(ue_TransmissionMode, "tm2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; + } else if (!strcmp(ue_TransmissionMode, "tm3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; + } else if (!strcmp(ue_TransmissionMode, "tm4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; + } else if (!strcmp(ue_TransmissionMode, "tm5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; + } else if (!strcmp(ue_TransmissionMode, "tm6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; + } else if (!strcmp(ue_TransmissionMode, "tm7")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; + } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", RC.config_file_name, i, ue_TransmissionMode); - break; } + printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode); + setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); if (setting_pcch_config_v1310 != NULL) { RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; if (!config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, &paging_narrowbands_r13) - || !config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13) + || !config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13) ) AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n", - RC.config_file_name, i); + "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n", + RC.config_file_name, i); RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13; - if (config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310)) + + if (!strcmp(mpdcch_numrepetition_paging_r13, "r1")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 0; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r2")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 1; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r4")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 2; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r8")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 3; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r16")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 4; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r32")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 5; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r64")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 6; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r128")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 7; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r256")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 8; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + RC.config_file_name); + } + + printf("[DEBUGGING][KOGO][CHAR*] mpdcch_numrepetition_paging_r13: %s - %d\n", mpdcch_numrepetition_paging_r13, RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j]); + + if (config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310)) { - RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = nb_v1310; + RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); + if (!strcmp(nb_v1310, "one64thT")) { + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; + } else if (!strcmp(nb_v1310, "one128thT")) { + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; + } else if (!strcmp(nb_v1310, "one256thT")) { + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*] nb_v1310: %s - %d\n", nb_v1310, *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j]); } else @@ -4117,11 +4834,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) { - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); - *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; } else - RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) { @@ -4132,72 +4849,97 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; - bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13); - if (fdd_uplink_exist) - { - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); - *RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; - } - else - { - RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = NULL;; - } - - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13; - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13; - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13; - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - - + bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13); + if (fdd_uplink_exist) + { + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + *RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = NULL;; } - else + } + + else RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; /////SIB2 Parameters - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) { - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", - RC.config_file_name, i); + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; - else - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val; + } + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + } else { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + } + + if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 0; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 1; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 2; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 3; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 4; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 5; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 6; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "10")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 7; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n", + RC.config_file_name, i); + } + printf("[DEBUGGING][KOGO][CHAR*] mpdcch_startSF_CSS_RA_r13_val %s - %d\n", mpdcch_startSF_CSS_RA_r13_val, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val); + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; + } } else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; - + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; } else - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + { + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + } #endif diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 46c2f9ecd4..63c6852a24 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -561,8 +561,8 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); - LOG_I(RRC,"Allocating memory for BR access of SI (%p)\n", - sib1_1310->bandwidthReducedAccessRelatedInfo_r13); + LOG_I(RRC,"Allocating memory for BR access of SI (%p)\n", + sib1_1310->bandwidthReducedAccessRelatedInfo_r13); sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13 = configuration->si_WindowLength_BR_r13[CC_id]; // 0 @@ -581,10 +581,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, for (index = 0; index < num_sched_info_br; ++index) { - schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; - schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; - LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13); - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; + schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; + LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13); + ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); } @@ -1464,45 +1464,45 @@ uint8_t do_SIB23(uint8_t Mod_id, AssertFatal(configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]!=NULL, "configuration->prach_StartingSubframe_r13[%d][%d] is null", (int)CC_id,(int)prach_parameters_index); - if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) - { - prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); - *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; - } - else - { - prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; - } - - if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); - *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; - } - else - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; - } - - prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; - prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; - printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); - - - long *maxavailablenarrowband; - int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; - int narrow_band_index; - for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) - { - maxavailablenarrowband = CALLOC(1, sizeof(long)); - *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); - } - - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; - prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) + { + prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); + *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + } + + if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; + } + + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; + printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); + + + long *maxavailablenarrowband; + int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) + { + maxavailablenarrowband = CALLOC(1, sizeof(long)); + *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); + } + + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); } } else @@ -1640,7 +1640,7 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT; // PRACH-Config - (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384; + (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex = Mod_id;//0;//384; (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = 0;//3; (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = 0; (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = 1;//12; @@ -1744,17 +1744,17 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; //----------------------------------------------------------------------------------------------------------------------------------------- - (*sib2)->ue_TimersAndConstants.t300=UE_TimersAndConstants__t300_ms1000; + (*sib2)->ue_TimersAndConstants.t300 = UE_TimersAndConstants__t300_ms1000; - (*sib2)->ue_TimersAndConstants.t301=UE_TimersAndConstants__t301_ms1000; + (*sib2)->ue_TimersAndConstants.t301 = UE_TimersAndConstants__t301_ms1000; - (*sib2)->ue_TimersAndConstants.t310=UE_TimersAndConstants__t310_ms1000; + (*sib2)->ue_TimersAndConstants.t310 = UE_TimersAndConstants__t310_ms1000; - (*sib2)->ue_TimersAndConstants.n310=UE_TimersAndConstants__n310_n20; + (*sib2)->ue_TimersAndConstants.n310 = UE_TimersAndConstants__n310_n20; - (*sib2)->ue_TimersAndConstants.t311=UE_TimersAndConstants__t311_ms10000; + (*sib2)->ue_TimersAndConstants.t311 = UE_TimersAndConstants__t311_ms10000; - (*sib2)->ue_TimersAndConstants.n311=UE_TimersAndConstants__n311_n1; + (*sib2)->ue_TimersAndConstants.n311 = UE_TimersAndConstants__n311_n1; #endif diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index d05b6c6c7f..1fccdfe026 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -81,7 +81,7 @@ eNBs = pucch_deltaF_Format2a = "deltaF0"; pucch_deltaF_Format2b = "deltaF0"; - rach_numberOfRA_Preambles = 64; + rach_numberOfRA_Preambles = "n64"; #64 rach_preamblesGroupAConfig = "DISABLE"; /* rach_sizeOfRA_PreamblesGroupA = ; @@ -95,16 +95,16 @@ eNBs = rach_macContentionResolutionTimer = 48; rach_maxHARQ_Msg3Tx = 4; - pcch_default_PagingCycle = 128; + pcch_default_PagingCycle = "rf128"; #128 pcch_nB = "oneT"; bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - ue_TransmissionMode = 1; + ue_TimersAndConstants_t300 = "ms1000"; + ue_TimersAndConstants_t301 = "ms1000"; + ue_TimersAndConstants_t310 = "ms1000"; + ue_TimersAndConstants_t311 = "ms10000"; + ue_TimersAndConstants_n310 = "n20"; + ue_TimersAndConstants_n311 = "n1"; + ue_TransmissionMode = "tm1"; # BR Parameters br_parameters : @@ -127,8 +127,8 @@ eNBs = cellSelectionInfoCE_r13 = "ENABLE"; q_RxLevMinCE_r13 = -70; bandwidthReducedAccessRelatedInfo_r13 = "ENABLE" - si_WindowLength_BR_r13 = 0; - si_RepetitionPattern_r13 = 0; + si_WindowLength_BR_r13 = "ms20"; #0 + si_RepetitionPattern_r13 = "everyRF"; #0 scheduling_info_br = ( @@ -141,11 +141,11 @@ eNBs = fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13"; fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF; startSymbolBR_r13 = 3; - si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF ! - si_ValidityTime_r13 = 0; + si_HoppingConfigCommon_r13 = "off"; #1; # Note: 1==OFF ! + si_ValidityTime_r13 = "true"; #0 freqHoppingParametersDL_r13 = "DISABLE" - mpdcch_pdsch_HoppingNB_r13 = 0; + mpdcch_pdsch_HoppingNB_r13 = "nb2"; #0 interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13" interval_DLHoppingConfigCommonModeA_r13_val = 0; interval_DLHoppingConfigCommonModeB_r13 = "interval-FDD-r13" @@ -155,9 +155,9 @@ eNBs = # SIB23 frame_type = "FDD"; - preambleTransMax_CE_r13 = 6; + preambleTransMax_CE_r13 = "n10"; #6 - rach_numberOfRA_Preambles = 60; + rach_numberOfRA_Preambles = "n60"; #14 rach_powerRampingStep = 4; rach_preambleInitialReceivedTargetPower = -108; rach_preambleTransMax = 10; @@ -171,9 +171,9 @@ eNBs = { firstPreamble_r13 = 60; lastPreamble_r13 = 63; - ra_ResponseWindowSize_r13 = 0; - mac_ContentionResolutionTimer_r13 = 0; - rar_HoppingConfig_r13 = 1; + ra_ResponseWindowSize_r13 = "sf20"; #0 + mac_ContentionResolutionTimer_r13 = "sf80"; #0 + rar_HoppingConfig_r13 = "off"; #1; } ); @@ -181,7 +181,7 @@ eNBs = bcch_modificationPeriodCoeff = 2; #PCCH Config - pcch_default_PagingCycle = 128; + pcch_default_PagingCycle = "rf128"; #128 pcch_nB = "oneT"; #PRACH Config @@ -189,7 +189,7 @@ eNBs = prach_config_index = 3; prach_high_speed = "DISABLE"; prach_zero_correlation = 1; - prach_freq_offset = 2; + prach_freq_offset = 1; #PDSCH Config Common pdsch_referenceSignalPower = -27; @@ -225,11 +225,11 @@ eNBs = prach_ConfigCommon_v1310 = "ENABLE"; - pdsch_maxNumRepetitionCEmodeA_r13 = 0; - #pdsch_maxNumRepetitionCEmodeB_r13 = 2; # NULL + pdsch_maxNumRepetitionCEmodeA_r13 = "r16"; #0 + #pdsch_maxNumRepetitionCEmodeB_r13 = "r384"; # NULL - 2 - pusch_maxNumRepetitionCEmodeA_r13 = 0; - #pusch_maxNumRepetitionCEmodeB_r13 = 4; #NULL + pusch_maxNumRepetitionCEmodeA_r13 = "r8"; #0 + #pusch_maxNumRepetitionCEmodeB_r13 = "r768"; #4 #NULL #pusch_HoppingOffset_v1310 = 5; #NULL # max size for this array is 3 @@ -241,7 +241,7 @@ eNBs = ); mpdcch_startSF_CSS_RA_r13 = "fdd-r13"; - mpdcch_startSF_CSS_RA_r13_val = 0; + mpdcch_startSF_CSS_RA_r13_val = "v1"; #0 prach_HoppingOffset_r13 = 0; # max size for this array is 4 @@ -249,12 +249,12 @@ eNBs = ( { prach_config_index_br = 3; - prach_freq_offset_br = 2; + prach_freq_offset_br = 1; prach_StartingSubframe_r13 = 0; - maxNumPreambleAttemptCE_r13 = 6; - numRepetitionPerPreambleAttempt_r13 = 0; - mpdcch_NumRepetition_RA_r13 = 0; - prach_HoppingConfig_r13 = 1; + maxNumPreambleAttemptCE_r13 = "n10"; #6 + numRepetitionPerPreambleAttempt_r13 = "n1"; #0 + mpdcch_NumRepetition_RA_r13 = "r1"; #0 + prach_HoppingConfig_r13 = "off"; #1 max_available_narrow_band = [2]; } ); @@ -267,39 +267,39 @@ eNBs = ); - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 400; - ue_TimersAndConstants_t310 = 50; - ue_TimersAndConstants_t311 = 30000; - ue_TimersAndConstants_n310 = 1; - ue_TimersAndConstants_n311 = 10; - ue_TransmissionMode = 1; + ue_TimersAndConstants_t300 = "ms1000"; + ue_TimersAndConstants_t301 = "ms400"; + ue_TimersAndConstants_t310 = "ms50"; + ue_TimersAndConstants_t311 = "ms30000"; + ue_TimersAndConstants_n310 = "n1"; + ue_TimersAndConstants_n311 = "n10"; + ue_TransmissionMode = "tm1"; pcch_config_v1310 : { paging_narrowbands_r13 = 1; - mpdcch_numrepetition_paging_r13 = 0; - #nb_v1310 = 2; + mpdcch_numrepetition_paging_r13 = "r1"; #0 + #nb_v1310 = "one256thT"; #2 } - pucch_NumRepetitionCE_Msg4_Level0_r13 = 0; - #pucch_NumRepetitionCE_Msg4_Level1_r13 = 1; - #pucch_NumRepetitionCE_Msg4_Level2_r13 = 2; - #pucch_NumRepetitionCE_Msg4_Level3_r13 = 3; + pucch_NumRepetitionCE_Msg4_Level0_r13 = "n1"; #0 + #pucch_NumRepetitionCE_Msg4_Level1_r13 = "n2"; #1 + #pucch_NumRepetitionCE_Msg4_Level2_r13 = "n16"; #2 + #pucch_NumRepetitionCE_Msg4_Level3_r13 = "n32"; #3 sib2_freq_hoppingParameters_r13 : { -# sib2_mpdcch_pdsch_hoppingNB_r13 = 0; -# sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) -# sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; -# sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) -# sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; + #sib2_mpdcch_pdsch_hoppingNB_r13 = "nb2"; #0 + #sib2_interval_DLHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) + #sib2_interval_DLHoppingConfigCommonModeA_r13_val = "int1"; + #sib2_interval_DLHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) + #sib2_interval_DLHoppingConfigCommonModeB_r13_val = "int2"; - sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; # choice -> (0, FDD) (1, TDD) - sib2_interval_ULHoppingConfigCommonModeA_r13_val = 2; -# sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD) -# sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; + sib2_interval_ULHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) + sib2_interval_ULHoppingConfigCommonModeA_r13_val = "int4"; #2 +# sib2_interval_ULHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) +# sib2_interval_ULHoppingConfigCommonModeB_r13_val = "int2"; #0 # sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; } @@ -364,9 +364,9 @@ eNBs = NETWORK_INTERFACES : { - ENB_INTERFACE_NAME_FOR_S1_MME = "enp0s31f6:S1-C"; + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0:S1-C-eNB"; ENB_IPV4_ADDRESS_FOR_S1_MME = "172.17.0.21/24"; - ENB_INTERFACE_NAME_FOR_S1U = "enp0s31f6:S1-U"; + ENB_INTERFACE_NAME_FOR_S1U = "eth0:S1-U-eNB"; ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.21/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; From 3289891e9d5f147ce86f7c25aa0f7b3f9d6c6e96 Mon Sep 17 00:00:00 2001 From: Ahmed Elias Date: Thu, 7 Sep 2017 04:00:55 -0700 Subject: [PATCH 058/109] Update do_RRCConnectionReconfiguration_BR method --- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 68 +++------------------------ openair2/RRC/LITE/MESSAGES/asn1_msg.h | 31 ++++++++++++ 2 files changed, 37 insertions(+), 62 deletions(-) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index eba2005e4e..ada24b881d 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -3206,6 +3206,7 @@ do_UECapabilityEnquiry( return((enc_rval.encoded+7)/8); } +#ifdef Rel14 uint16_t do_RRCConnectionReconfiguration_BR( const protocol_ctxt_t* const ctxt_pP, @@ -3262,68 +3263,10 @@ do_RRCConnectionReconfiguration_BR( rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->cba_RNTI_vlola= cba_rnti; #endif - // +kogo - physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4; - - physicalConfigDedicated->ext4->csi_RS_ConfigNZPToReleaseList_r11 = NULL; - physicalConfigDedicated->ext4->csi_RS_ConfigNZPToAddModList_r11 = NULL; - physicalConfigDedicated->ext4->csi_RS_ConfigZPToAddModList_r11 = NULL; - physicalConfigDedicated->ext4->csi_RS_ConfigZPToReleaseList_r11 = NULL; - - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToReleaseList_r11 = NULL; - - - physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = calloc(1, sizeof(EPDCCH_SetConfigToAddModList_r11_t)); - // memset(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, 0, sizeof()) - EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = calloc(0, sizeof(EPDCCH_SetConfig_r11_t)); - epdcch_setconfig_r11->setConfigId_r11 = 0; - epdcch_setconfig_r11->transmissionType_r11 = EPDCCH_SetConfig_r11__transmissionType_r11_localised; - epdcch_setconfig_r11->resourceBlockAssignment_r11.numberPRB_Pairs_r11 = EPDCCH_SetConfig_r11__resourceBlockAssignment_r11__numberPRB_Pairs_r11_n2; - //epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11 = calloc(0, sizeof(BIT_STRING_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf = calloc(0, 2 * sizeof(uint8_t)); - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.size = 2; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 6; - epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf[0] = 0x0E; - - epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 0; - epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; - epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; - epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; - ASN_SEQUENCE_ADD(physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); - - physicalConfigDedicated->ext7->pdsch_ConfigDedicated_v1310 = NULL; - physicalConfigDedicated->ext7->pusch_ConfigDedicated_r13 = NULL; - - physicalConfigDedicated->ext7->pdcch_CandidateReductions_r13 = NULL; - - physicalConfigDedicated->ext7->pucch_ConfigDedicated_r13 = NULL; - - physicalConfigDedicated->ext7->cqi_ReportConfig_v1310 = NULL; - - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicated_v1310 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedUpPTsExt_r13 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodic_v1310 = NULL; - physicalConfigDedicated->ext7->soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13 = NULL; - - physicalConfigDedicated->ext7->csi_RS_Config_v1310 = NULL; - - physicalConfigDedicated->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; - physicalConfigDedicated->ext7->ce_Mode_r13->choice.setup = PhysicalConfigDedicated__ext7__ce_Mode_r13__setup_ce_ModeA; - physicalConfigDedicated->ext7->csi_RS_ConfigNZPToAddModListExt_r13 = NULL; - physicalConfigDedicated->ext7->csi_RS_ConfigNZPToReleaseListExt_r13 = NULL; - - // +kogo ------------------------------------------------------------------------------------------ - + physicalConfigDedicated->cqi_ReportConfig = CALLOC(1, sizeof(struct CQI_ReportConfig)); + physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic = CALLOC(1, sizeof(CQI_ReportModeAperiodic_t)); + *physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic = CQI_ReportModeAperiodic_rm20; + physicalConfigDedicated->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; if (mac_MainConfig!=NULL) { rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig = CALLOC(1, @@ -3424,6 +3367,7 @@ do_RRCConnectionReconfiguration_BR( return((enc_rval.encoded+7)/8); } +#endif //------------------------------------------------------------------------------ uint16_t diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h index d16c53f7cc..84c13b6c5f 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h @@ -176,6 +176,37 @@ do_RRCConnectionSetup_BR( ); #endif + + +#ifdef Rel14 +uint16_t +do_RRCConnectionReconfiguration_BR( + const protocol_ctxt_t* const ctxt_pP, + uint8_t *buffer, + uint8_t Transaction_id, + SRB_ToAddModList_t *SRB_list, + DRB_ToAddModList_t *DRB_list, + DRB_ToReleaseList_t *DRB_list2, + struct SPS_Config *sps_Config, + struct PhysicalConfigDedicated *physicalConfigDedicated, + MeasObjectToAddModList_t *MeasObj_list, + ReportConfigToAddModList_t *ReportConfig_list, + QuantityConfig_t *quantityConfig, + MeasIdToAddModList_t *MeasId_list, + MAC_MainConfig_t *mac_MainConfig, + MeasGapConfig_t *measGapConfig, + MobilityControlInfo_t *mobilityInfo, + struct MeasConfig__speedStatePars *speedStatePars, + RSRP_Range_t *rsrp, + C_RNTI_t *cba_rnti, + struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList + *dedicatedInfoNASList + +#if defined(Rel10) || defined(Rel14) + , SCellToAddMod_r10_t *SCell_config +#endif + ); +#endif /** \brief Generate an RRCConnectionReconfiguration DL-DCCH-Message (eNB). This routine configures SRBToAddMod (SRB2) and one DRBToAddMod (DRB3). PhysicalConfigDedicated is not updated. From cb33ca456abc746854eaf7bdce0c96a11e1ea528 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 11 Oct 2017 02:45:26 -0700 Subject: [PATCH 059/109] partial adaption of configuration parameters --- openair2/ENB_APP/enb_config.c | 28 +++- openair2/ENB_APP/enb_paramdef.h | 230 +++++++++++++++++--------------- 2 files changed, 143 insertions(+), 115 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index a02f365954..a0e5ba2893 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -480,15 +480,24 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { // for no gcc warnings (void)my_int; - paramdef_t ENBSParams[] = ENBSPARAMS_DESC; + paramdef_t ENBSParams[] = ENBSPARAMS_DESC; - paramdef_t ENBParams[] = ENBPARAMS_DESC; - paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0}; + paramdef_t ENBParams[] = ENBPARAMS_DESC; + paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0}; - paramdef_t CCsParams[] = CCPARAMS_DESC; - paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; - - paramdef_t SRB1Params[] = SRB1PARAMS_DESC; + paramdef_t CCsParams[] = CCPARAMS_DESC; + paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; + + paramdef_t brParams[] = BRPARAMS_DESC; + paramdef_t siInfoBRParams[] = SI_INFO_BR_DESC; + paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; + paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; + paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; + paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; + paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; + + paramdef_t SRB1Params[] = SRB1PARAMS_DESC; @@ -1717,6 +1726,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, ue_TransmissionMode); break; } + + + sprintf(brpath,"%s.%s.[%i].%s",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,ENB_CONFIG_STRING_BR_PARAMETERS,j); + config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); + } } char srb1path[MAX_OPTNAME_SIZE*2 + 8]; diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index d4679b9242..c63a2a420c 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -489,141 +489,155 @@ static int DEFENBS[] = {0}; #define ENB_CONFIG_STRING_SCHEDULING_INFO_LIST "scheduling_info_br" -#define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" -#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" -#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13 "systemInfoValueTagSi_r13" -#define BR_PARAMS_DESC { \ - {"schedulingInfoSIB1_BR_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ - {"cellSelectionInfoCE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_Narrowband_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_TBS_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"cellSelectionInfoCE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"q_RxLevMinCE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"bandwidthReducedAccessRelatedInfo_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_WindowLength_BR_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_RepetitionPattern_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"fdd_DownlinkOrTddSubframeBitmapBR_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"fdd_DownlinkOrTddSubframeBitmapBR_val_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"startSymbolBR_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_HoppingConfigCommon_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_ValidityTime_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"freqHoppingParametersDL_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_pdsch_HoppingNB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"interval_DLHoppingConfigCommonModeA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"interval_DLHoppingConfigCommonModeB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_pdsch_HoppingOffset_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"frame_type", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"preambleTransMax_CE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_numberOfRA_Preambles", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_powerRampingStep", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_preambleInitialReceivedTargetPower", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_preambleTransMax", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_raResponseWindowSize", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_macContentionResolutionTimer", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_maxHARQ_Msg3Tx", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"bcch_modificationPeriodCoeff", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pcch_default_PagingCycle", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pcch_nB", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_root", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_config_index", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_high_speed", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_zero_correlation", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_freq_offset", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pdsch_referenceSignalPower", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pdsch_p_b", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_n_SB", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_hoppingMode", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_hoppingOffset", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_enable64QAM", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_groupHoppingEnabled", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_groupAssignment", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_sequenceHoppingEnabled", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_delta_shift", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_nRB_CQI", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_nCS_AN", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_n1_AN", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_p0_Nominal", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_alpha", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_p0_Nominal", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_deltaF_Format1", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_deltaF_Format1b", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_deltaF_Format2", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_deltaF_Format2a", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_deltaF_Format2b", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"msg3_delta_Preamble", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_ConfigCommon_v1310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pdsch_maxNumRepetitionCEmodeA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pdsch_maxNumRepetitionCEmodeB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_maxNumRepetitionCEmodeA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_maxNumRepetitionCEmodeB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_HoppingOffset_v1310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_startSF_CSS_RA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_startSF_CSS_RA_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_HoppingOffset_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TimersAndConstants_t300", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TimersAndConstants_t301", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TimersAndConstants_t310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TimersAndConstants_t311", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TimersAndConstants_n310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TimersAndConstants_n311", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ue_TransmissionMode", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level0_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level1_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level2_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level3_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rach_preamblesGroupAConfig", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"pusch_nDMRS1", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"phich_duration", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"phich_resource", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"srs_enable", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ + +#define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" +#define BRPARAMS_DESC { \ +{"schedulingInfoSIB1_BR_r13", NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:, TYPE_UINT, 0}, \ +{"cellSelectionInfoCE_r13", NULL, 0, strptr:&cellSelectionInfoCE_r13, defintval:, TYPE_STRING, 0}, \ +{"si_Narrowband_r13", NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:, TYPE_UINT, 0}, \ +{"si_TBS_r13", NULL, 0, iptr:&si_TBS_r13, defintval:, TYPE_UINT, 0}, \ +{"cellSelectionInfoCE_r13", NULL, 0, strptr:&cellSelectionInfoCE_r13, defintval:, TYPE_STRING, 0}, \ +{"q_RxLevMinCE_r13", NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:, TYPE_INT, 0}, \ +{"bandwidthReducedAccessRelatedInfo_r13", NULL, 0, iptr:&bandwidthReducedAccessRelatedInfo_r13, defintval:, TYPE_UINT, 0}, \ +{"si_WindowLength_BR_r13", NULL, 0, strptr:&si_WindowLength_BR_r13, defintval:, TYPE_STRING, 0}, \ +{"si_RepetitionPattern_r13", NULL, 0, strptr:&si_RepetitionPattern_r13, defintval:, TYPE_STRING, 0}, \ +{"fdd_DownlinkOrTddSubframeBitmapBR_r13", NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defintval:, TYPE_STRING, 0}, \ +{"fdd_DownlinkOrTddSubframeBitmapBR_val_r13", NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defintval:, TYPE_UINT64, 0}, \ +{"startSymbolBR_r13", NULL, 0, iptr:&startSymbolBR_r13, defintval:, TYPE_UINT, 0}, \ +{"si_HoppingConfigCommon_r13", NULL, 0, dytptr:&si_HoppingConfigCommon_r13 , defintval:, TYPE_STRING, 0}, \ +{"si_ValidityTime_r13", NULL, 0, strptr:&si_ValidityTime_r13, defintval:, TYPE_STRING, 0}, \ +{"freqHoppingParametersDL_r13", NULL, 0, strptr:&freqHoppingParametersDL_r13, defintval:, TYPE_STRING, 0}, \ +{"mpdcch_pdsch_HoppingNB_r13", NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defintval:, TYPE_STRING, 0}, \ +{"interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defintval:, TYPE_STRING, 0}, \ +{"interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:, TYPE_UINT, 0}, \ +{"interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defintval:, TYPE_STRING, 0}, \ +{"interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:, TYPE_UINT, 0}, \ +{"mpdcch_pdsch_HoppingOffset_r13", NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level0_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:, TYPE_STRING, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level1_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:, TYPE_STRING, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level2_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:, TYPE_STRING, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level3_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:, TYPE_STRING, 0}, \ +{"rach_preamblesGroupAConfig", NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:, TYPE_STRING, 0}, \ } +#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" +#define RSRP_RANGE_LIST_DESC { \ +{"systemInfoValueTagSi_r13", NULL, 0, iptr:&systemInfoValueTagSi_r13, defintval:, TYPE_UINT, 0} \ + } + + #define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br" #define SI_INFO_BR_DESC { \ - {"si_Narrowband_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ - {"si_TBS_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +{"si_Narrowband_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"si_TBS_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" #define RSRP_RANGE_LIST_DESC { \ -{"rsrp_range_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +{"rsrp_range_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13" -#define BR_PARAMS_DESC { \ +#define RACH_CE_LEVELINFOLIST_R13_DESC { \ {"firstPreamble_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ - {"lastPreamble_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ - {"ra_ResponseWindowSize_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"lastPreamble_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"ra_ResponseWindowSize_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ {"mac_ContentionResolutionTimer_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ {"rar_HoppingConfig_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}\ } #define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" #define PRACH_PARAMS_CE_R13_DESC { \ -{"prach_config_index_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_freq_offset_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_StartingSubframe_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"maxNumPreambleAttemptCE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"numRepetitionPerPreambleAttempt_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_NumRepetition_RA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_HoppingConfig_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"max_available_narrow_band", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +{"prach_config_index_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"prach_freq_offset_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"prach_StartingSubframe_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"maxNumPreambleAttemptCE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"numRepetitionPerPreambleAttempt_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"mpdcch_NumRepetition_RA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"prach_HoppingConfig_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ +{"max_available_narrow_band", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" -#define PRACH_PARAMS_CE_R13_DESC { \ -"pucch_info_value", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +#define N1PUCCH_AN_INFOLIST_R13_DESC { \ +"pucch_info_value", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" #define PCCH_CONFIG_V1310_DESC { \ -"paging_narrowbands_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"mpdcch_numrepetition_paging_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"nb_v1310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +"paging_narrowbands_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +"mpdcch_numrepetition_paging_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +"nb_v1310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" From cd318b327a9a6e60902b45644debc9b071986873 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 11 Oct 2017 05:29:19 -0700 Subject: [PATCH 060/109] filled in parameter definitions --- openair2/ENB_APP/enb_paramdef.h | 249 ++++++++++++++++---------------- 1 file changed, 123 insertions(+), 126 deletions(-) diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index c63a2a420c..0165d5b8fc 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -493,165 +493,162 @@ static int DEFENBS[] = {0}; #define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" #define BRPARAMS_DESC { \ -{"schedulingInfoSIB1_BR_r13", NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:, TYPE_UINT, 0}, \ -{"cellSelectionInfoCE_r13", NULL, 0, strptr:&cellSelectionInfoCE_r13, defintval:, TYPE_STRING, 0}, \ -{"si_Narrowband_r13", NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:, TYPE_UINT, 0}, \ -{"si_TBS_r13", NULL, 0, iptr:&si_TBS_r13, defintval:, TYPE_UINT, 0}, \ -{"cellSelectionInfoCE_r13", NULL, 0, strptr:&cellSelectionInfoCE_r13, defintval:, TYPE_STRING, 0}, \ -{"q_RxLevMinCE_r13", NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:, TYPE_INT, 0}, \ -{"bandwidthReducedAccessRelatedInfo_r13", NULL, 0, iptr:&bandwidthReducedAccessRelatedInfo_r13, defintval:, TYPE_UINT, 0}, \ -{"si_WindowLength_BR_r13", NULL, 0, strptr:&si_WindowLength_BR_r13, defintval:, TYPE_STRING, 0}, \ -{"si_RepetitionPattern_r13", NULL, 0, strptr:&si_RepetitionPattern_r13, defintval:, TYPE_STRING, 0}, \ -{"fdd_DownlinkOrTddSubframeBitmapBR_r13", NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defintval:, TYPE_STRING, 0}, \ -{"fdd_DownlinkOrTddSubframeBitmapBR_val_r13", NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defintval:, TYPE_UINT64, 0}, \ -{"startSymbolBR_r13", NULL, 0, iptr:&startSymbolBR_r13, defintval:, TYPE_UINT, 0}, \ -{"si_HoppingConfigCommon_r13", NULL, 0, dytptr:&si_HoppingConfigCommon_r13 , defintval:, TYPE_STRING, 0}, \ -{"si_ValidityTime_r13", NULL, 0, strptr:&si_ValidityTime_r13, defintval:, TYPE_STRING, 0}, \ -{"freqHoppingParametersDL_r13", NULL, 0, strptr:&freqHoppingParametersDL_r13, defintval:, TYPE_STRING, 0}, \ -{"mpdcch_pdsch_HoppingNB_r13", NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defintval:, TYPE_STRING, 0}, \ -{"interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defintval:, TYPE_STRING, 0}, \ -{"interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:, TYPE_UINT, 0}, \ -{"interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defintval:, TYPE_STRING, 0}, \ -{"interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_pdsch_HoppingOffset_r13", NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level0_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:, TYPE_STRING, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level1_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:, TYPE_STRING, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level2_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:, TYPE_STRING, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level3_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:, TYPE_STRING, 0}, \ -{"rach_preamblesGroupAConfig", NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:, TYPE_STRING, 0}, \ +{"schedulingInfoSIB1_BR_r13", NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ +{"cellSelectionInfoCE_r13", NULL, 0, strptr:&cellSelectionInfoCE_r13, defintval:"ENABLE", TYPE_STRING, 0}, \ +{"q_RxLevMinCE_r13", NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ +{"bandwidthReducedAccessRelatedInfo_r13", NULL, 0, strptr:&bandwidthReducedAccessRelatedInfo_r13, defintval:"ENABLE", TYPE_STRING, 0}, \ +{"si_WindowLength_BR_r13", NULL, 0, strptr:&si_WindowLength_BR_r13, defintval:"ms20", TYPE_STRING, 0}, \ +{"si_RepetitionPattern_r13", NULL, 0, strptr:&si_RepetitionPattern_r13, defintval:"everyRF", TYPE_STRING, 0}, \ +{"fdd_DownlinkOrTddSubframeBitmapBR_r13", NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defintval:"subframePattern40-r13", TYPE_STRING, 0}, \ +{"fdd_DownlinkOrTddSubframeBitmapBR_val_r13", NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defintval:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ +{"startSymbolBR_r13", NULL, 0, iptr:&startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ + {"si_HoppingConfigCommon_r13", NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defintval:"off", TYPE_STRING, 0}, \ +{"si_ValidityTime_r13", NULL, 0, strptr:&si_ValidityTime_r13, defintval:"true", TYPE_STRING, 0}, \ +{"freqHoppingParametersDL_r13", NULL, 0, strptr:&freqHoppingParametersDL_r13, defintval:"DISABLE", TYPE_STRING, 0}, \ +{"mpdcch_pdsch_HoppingNB_r13", NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defintval:"nb2", TYPE_STRING, 0}, \ +{"interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defintval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{"interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defintval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{"interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"mpdcch_pdsch_HoppingOffset_r13", NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level0_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level1_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level2_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ +{"pucch_NumRepetitionCE_Msg4_Level3_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ +{"rach_preamblesGroupAConfig", NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ } #define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" #define RSRP_RANGE_LIST_DESC { \ -{"systemInfoValueTagSi_r13", NULL, 0, iptr:&systemInfoValueTagSi_r13, defintval:, TYPE_UINT, 0} \ +{"systemInfoValueTagSi_r13", NULL, 0, iptr:&systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br" #define SI_INFO_BR_DESC { \ -{"si_Narrowband_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"si_TBS_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ - } +{"si_Narrowband_r13", NULL, 0, iptr:&si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ +{"si_TBS_r13", NULL, 0, iptr:&si_TBS_r13, defintval:5, TYPE_UINT, 0} \ +} #define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" #define RSRP_RANGE_LIST_DESC { \ -{"rsrp_range_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +{"rsrp_range_br", NULL, 0, iptr:&rsrp_range_br, defintval:0, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13" #define RACH_CE_LEVELINFOLIST_R13_DESC { \ -{"firstPreamble_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"lastPreamble_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"ra_ResponseWindowSize_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mac_ContentionResolutionTimer_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"rar_HoppingConfig_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}\ +{"firstPreamble_r13", NULL, 0, iptr:&firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ +{"lastPreamble_r13", NULL, 0, iptr:&lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ +{"ra_ResponseWindowSize_r13", NULL, 0, iptr:&ra_ResponseWindowSize_r13, defintval:"sf20", TYPE_STRING, 0}, \ +{"mac_ContentionResolutionTimer_r13", NULL, 0, iptr:&mac_ContentionResolutionTimer_r13, defintval:"sf80", TYPE_STRING, 0}, \ +{"rar_HoppingConfig_r13", NULL, 0, iptr:&rar_HoppingConfig_r13, defintval:"off", TYPE_STRING, 0}\ } #define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" #define PRACH_PARAMS_CE_R13_DESC { \ -{"prach_config_index_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_freq_offset_br", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_StartingSubframe_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"maxNumPreambleAttemptCE_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"numRepetitionPerPreambleAttempt_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"mpdcch_NumRepetition_RA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"prach_HoppingConfig_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0}, \ -{"max_available_narrow_band", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +{"prach_config_index_br", NULL, 0, iptr:&prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ +{"prach_freq_offset_br", NULL, 0, iptr:&prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ +{"prach_StartingSubframe_r13", NULL, 0, iptr:&prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ +{"maxNumPreambleAttemptCE_r13", NULL, 0, iptr:&maxNumPreambleAttemptCE_r13, defintval:"n10", TYPE_STRING, 0}, \ +{"numRepetitionPerPreambleAttempt_r13", NULL, 0, iptr:&numRepetitionPerPreambleAttempt_r13, defintval:"n1", TYPE_STRING, 0}, \ +{"mpdcch_NumRepetition_RA_r13", NULL, 0, iptr:&mpdcch_NumRepetition_RA_r13, defintval:"r1", TYPE_STRING, 0}, \ +{"prach_HoppingConfig_r13", NULL, 0, iptr:&prach_HoppingConfig_r13, defintval:"off", TYPE_STRING, 0}, \ +{"max_available_narrow_band", NULL, 0, iptr:&maxavailablenarrowband, defintval:2, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" #define N1PUCCH_AN_INFOLIST_R13_DESC { \ -"pucch_info_value", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +"pucch_info_value", NULL, 0, iptr:&pucch_info_value, defintval:0, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" #define PCCH_CONFIG_V1310_DESC { \ -"paging_narrowbands_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"mpdcch_numrepetition_paging_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"nb_v1310", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +"paging_narrowbands_r13", NULL, 0, iptr:&paging_narrowbands_r13, defintval:1, TYPE_UINT, 0} \ +"mpdcch_numrepetition_paging_r13", NULL, 0, iptr:&mpdcch_numrepetition_paging_r13, defintval:"r1", TYPE_STRING, 0} \ +"nb_v1310", NULL, 0, iptr:&nb_v1310, defintval:"one256thT", TYPE_STRING, 0} \ } #define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" #define SIB2_FREQ_HOPPING_R13_DESC { \ -"sib2_mpdcch_pdsch_hoppingNB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ -"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&, defintval:, TYPE_UINT, 0} \ +"sib2_mpdcch_pdsch_hoppingNB_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingNB_r13, defintval:"", TYPE_STRING, 0} \ +"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13, defintval:"", TYPE_STRING, 0} \ +"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:"", TYPE_STRING, 0} \ +"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0} \ +"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0} \ +"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeA_r13, defintval:"FDD", TYPE_STRING, 0} \ +"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:"int4", TYPE_STRING, 0} \ +"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0} \ +"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_UHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0} \ +"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ } /*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ From d34226c8b22c1a1934793a63f2b03c6a07aa4907 Mon Sep 17 00:00:00 2001 From: Ahmed Elias Date: Wed, 11 Oct 2017 19:06:06 +0200 Subject: [PATCH 061/109] resolving compilation errors (temp commit) --- openair1/SCHED/fapi_l1.c | 8 +++---- openair2/ENB_APP/enb_config.c | 21 ++++++++++--------- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 2 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 4 ++-- .../LAYER2/MAC/eNB_scheduler_primitives.c | 4 ++-- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index ed0ccf3480..cf846947dc 100644 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -275,8 +275,8 @@ void handle_ulsch_cqi_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request ulsch_harq->frame = frame; ulsch_harq->subframe = subframe; ulsch_harq->O_RI = rel9->aperiodic_cqi_pmi_ri_report.cc[0].ri_size; - ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; - if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; + //ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; + //if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; ulsch->beta_offset_ri_times8 = to_beta_offset_ri[rel9->delta_offset_ri]; ulsch->beta_offset_cqi_times8 = to_beta_offset_cqi[rel9->delta_offset_cqi]; LOG_I(PHY,"Filling ulsch_cqi_ri information for frame %d, subframe %d : O_RI %d, Or1 %d, beta_offset_cqi_times8 %d (%d)\n", @@ -296,10 +296,10 @@ void handle_ulsch_cqi_harq_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_re ulsch_harq->frame = frame; ulsch_harq->subframe = subframe; ulsch_harq->O_RI = rel9->aperiodic_cqi_pmi_ri_report.cc[0].ri_size; - ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; + //ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; ulsch_harq->O_ACK = harq_information->harq_information_rel10.harq_size; - if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; + //if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; ulsch->beta_offset_harqack_times8 = to_beta_offset_harqack[harq_information->harq_information_rel10.delta_offset_harq]; ulsch->beta_offset_ri_times8 = to_beta_offset_ri[rel9->delta_offset_ri]; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index a0e5ba2893..9a9e25c336 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -449,7 +449,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int32_t my_int; - /* char* flexran_agent_interface_name = NULL; char* flexran_agent_ipv4_address = NULL; @@ -488,14 +487,14 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { paramdef_t CCsParams[] = CCPARAMS_DESC; paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; - paramdef_t brParams[] = BRPARAMS_DESC; - paramdef_t siInfoBRParams[] = SI_INFO_BR_DESC; - paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; - paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; - paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; - paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; - paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; - paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; + //paramdef_t brParams[] = BRPARAMS_DESC; + // paramdef_t siInfoBRParams[] = SI_INFO_BR_DESC; + //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; + //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; + //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; + //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; + //paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; paramdef_t SRB1Params[] = SRB1PARAMS_DESC; @@ -616,6 +615,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { LOG_I(RRC,"num component carriers %d \n", num_component_carriers); if ( CCsParamList.numelt> 0) { +#ifdef CLOSE_FOR_NOW char ccspath[MAX_OPTNAME_SIZE*2 + 16]; @@ -1732,6 +1732,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); } +#endif } char srb1path[MAX_OPTNAME_SIZE*2 + 8]; sprintf(srb1path,"%s.%s",enbpath,ENB_CONFIG_STRING_SRB1); @@ -2346,7 +2347,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { */ break; } - + } } return 0; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index bd52918c87..9a26f0d723 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -307,7 +307,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t } //repetition_count==0 && SF condition met if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions -<<<<<<< HEAD + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", module_idP,frameP,subframeP,RA_template->msg2_mpdcch_repetition_cnt); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 6e2ed4f73d..2ece362c2c 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -436,7 +436,7 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i -void +/*void schedule_ue_spec_br( module_id_t module_idP, frame_t frameP, @@ -1503,7 +1503,7 @@ schedule_ue_spec_br( VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH, VCD_FUNCTION_OUT); } - +*/ //------------------------------------------------------------------------------ diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 853032aaba..3c186d8978 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -1383,11 +1383,11 @@ void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_con for (int ri=0; ri<(1<ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.aperiodic_cqi_pmi_ri_report.cc[0].ri_size); ri++) - ul_config_pdu->ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[ri] = + /*ul_config_pdu->ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[ri] = get_dl_cqi_pmi_size_pusch(cc, tmode, 1+ri, - physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic); + physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic);*/ ul_config_pdu->ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.delta_offset_cqi = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_CQI_Index; ((nfapi_ul_config_ulsch_cqi_ri_pdu*)ul_config_pdu)->cqi_ri_information.cqi_ri_information_rel9.delta_offset_ri = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_RI_Index; From 1ee9b1b684ce72920b353dbab9df5cfb3f86f415 Mon Sep 17 00:00:00 2001 From: kogo Date: Wed, 11 Oct 2017 20:03:37 +0200 Subject: [PATCH 062/109] modified enb_paramdef.h file ,, parameters fixing --- openair2/ENB_APP/enb_paramdef.h | 203 ++++++++++++++++++-------------- 1 file changed, 112 insertions(+), 91 deletions(-) diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index 0165d5b8fc..02132a3054 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -491,99 +491,120 @@ static int DEFENBS[] = {0}; +#define ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13 "schedulingInfoSIB1_BR_r13" +#define ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13 "cellSelectionInfoCE_r13" +#define ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13 "q_RxLevMinCE_r13" +#define ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13 "bandwidthReducedAccessRelatedInfo_r13" +#define ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13 "si_WindowLength_BR_r13" +#define ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13 "si_RepetitionPattern_r13" +#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13 "fdd_DownlinkOrTddSubframeBitmapBR_r13" +#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13 "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" +#define ENB_CONFIG_STRING_START_SYMBOL_BR_R13 "startSymbolBR_r13" +#define ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13 "si_HoppingConfigCommon_r13" +#define ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13 "si_ValidityTime_r13" +#define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13 "freqHoppingParametersDL_r13" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 "mpdcch_pdsch_HoppingNB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13 "interval_DLHoppingConfigCommonModeA_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "interval_DLHoppingConfigCommonModeA_r13_val" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13 "interval_DLHoppingConfigCommonModeB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "interval_DLHoppingConfigCommonModeB_r13_val" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13" + + + #define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" #define BRPARAMS_DESC { \ -{"schedulingInfoSIB1_BR_r13", NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ -{"cellSelectionInfoCE_r13", NULL, 0, strptr:&cellSelectionInfoCE_r13, defintval:"ENABLE", TYPE_STRING, 0}, \ -{"q_RxLevMinCE_r13", NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ -{"bandwidthReducedAccessRelatedInfo_r13", NULL, 0, strptr:&bandwidthReducedAccessRelatedInfo_r13, defintval:"ENABLE", TYPE_STRING, 0}, \ -{"si_WindowLength_BR_r13", NULL, 0, strptr:&si_WindowLength_BR_r13, defintval:"ms20", TYPE_STRING, 0}, \ -{"si_RepetitionPattern_r13", NULL, 0, strptr:&si_RepetitionPattern_r13, defintval:"everyRF", TYPE_STRING, 0}, \ -{"fdd_DownlinkOrTddSubframeBitmapBR_r13", NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defintval:"subframePattern40-r13", TYPE_STRING, 0}, \ -{"fdd_DownlinkOrTddSubframeBitmapBR_val_r13", NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defintval:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ -{"startSymbolBR_r13", NULL, 0, iptr:&startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ - {"si_HoppingConfigCommon_r13", NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defintval:"off", TYPE_STRING, 0}, \ -{"si_ValidityTime_r13", NULL, 0, strptr:&si_ValidityTime_r13, defintval:"true", TYPE_STRING, 0}, \ -{"freqHoppingParametersDL_r13", NULL, 0, strptr:&freqHoppingParametersDL_r13, defintval:"DISABLE", TYPE_STRING, 0}, \ -{"mpdcch_pdsch_HoppingNB_r13", NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defintval:"nb2", TYPE_STRING, 0}, \ -{"interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defintval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{"interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defintval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{"interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"mpdcch_pdsch_HoppingOffset_r13", NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level0_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level1_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level2_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ -{"pucch_NumRepetitionCE_Msg4_Level3_r13", NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ -{"rach_preamblesGroupAConfig", NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_, NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ } #define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" From 56eedf67faa213ed43dca369d44ffc5d38068dec Mon Sep 17 00:00:00 2001 From: Ahmed Elias Date: Sun, 15 Oct 2017 08:47:46 +0200 Subject: [PATCH 063/109] semi stablr version still need to add br configuration parameters --- openair1/SCHED/fapi_l1.c | 8 +- openair2/ENB_APP/enb_config.c | 3817 ++++++++--------- .../LAYER2/MAC/eNB_scheduler_primitives.c | 4 +- 3 files changed, 1890 insertions(+), 1939 deletions(-) diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index cf846947dc..ed0ccf3480 100644 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -275,8 +275,8 @@ void handle_ulsch_cqi_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request ulsch_harq->frame = frame; ulsch_harq->subframe = subframe; ulsch_harq->O_RI = rel9->aperiodic_cqi_pmi_ri_report.cc[0].ri_size; - //ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; - //if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; + ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; + if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; ulsch->beta_offset_ri_times8 = to_beta_offset_ri[rel9->delta_offset_ri]; ulsch->beta_offset_cqi_times8 = to_beta_offset_cqi[rel9->delta_offset_cqi]; LOG_I(PHY,"Filling ulsch_cqi_ri information for frame %d, subframe %d : O_RI %d, Or1 %d, beta_offset_cqi_times8 %d (%d)\n", @@ -296,10 +296,10 @@ void handle_ulsch_cqi_harq_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_re ulsch_harq->frame = frame; ulsch_harq->subframe = subframe; ulsch_harq->O_RI = rel9->aperiodic_cqi_pmi_ri_report.cc[0].ri_size; - //ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; + ulsch_harq->Or1 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[0]; ulsch_harq->O_ACK = harq_information->harq_information_rel10.harq_size; - //if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; + if (ulsch_harq->O_RI>1) ulsch_harq->Or2 = rel9->aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[1]; ulsch->beta_offset_harqack_times8 = to_beta_offset_harqack[harq_information->harq_information_rel10.delta_offset_harq]; ulsch->beta_offset_ri_times8 = to_beta_offset_ri[rel9->delta_offset_ri]; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 9a9e25c336..f941d8a8db 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -352,2005 +352,1956 @@ void RCconfig_macrlc() { } } -int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { +int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) +{ + int num_enbs = 0; - int num_enbs = 0; - - int num_component_carriers = 0; - int j,k = 0; - int32_t enb_id = 0; - int nb_cc = 0; + int num_component_carriers = 0; + int j,k = 0; + int32_t enb_id = 0; + int nb_cc = 0; - char* frame_type = NULL; - int32_t tdd_config = 0; - int32_t tdd_config_s = 0; + char* frame_type = NULL; + int32_t tdd_config = 0; + int32_t tdd_config_s = 0; - char* prefix_type = NULL; - char* pbch_repetition = NULL; - - int32_t eutra_band = 0; - long long int downlink_frequency = 0; - int32_t uplink_frequency_offset = 0; - int32_t Nid_cell = 0; - int32_t Nid_cell_mbsfn = 0; - int32_t N_RB_DL = 0; - int32_t nb_antenna_ports = 0; + char* prefix_type = NULL; + char* pbch_repetition = NULL; - int32_t prach_root = 0; - int32_t prach_config_index = 0; - char* prach_high_speed = NULL; - int32_t prach_zero_correlation = 0; - int32_t prach_freq_offset = 0; - int32_t pucch_delta_shift = 0; - int32_t pucch_nRB_CQI = 0; - int32_t pucch_nCS_AN = 0; -//#if !defined(Rel10) && !defined(Rel14) - int32_t pucch_n1_AN = 0; -//#endif - int32_t pdsch_referenceSignalPower = 0; - int32_t pdsch_p_b = 0; - int32_t pusch_n_SB = 0; - char * pusch_hoppingMode = NULL; - int32_t pusch_hoppingOffset = 0; - char* pusch_enable64QAM = NULL; - char* pusch_groupHoppingEnabled = NULL; - int32_t pusch_groupAssignment = 0; - char* pusch_sequenceHoppingEnabled = NULL; - int32_t pusch_nDMRS1 = 0; - char* phich_duration = NULL; - char* phich_resource = NULL; - char* srs_enable = NULL; - int32_t srs_BandwidthConfig = 0; - int32_t srs_SubframeConfig = 0; - char* srs_ackNackST = NULL; - char* srs_MaxUpPts = NULL; - int32_t pusch_p0_Nominal = 0; - char* pusch_alpha = NULL; - int32_t pucch_p0_Nominal = 0; - int32_t msg3_delta_Preamble = 0; - //int32_t ul_CyclicPrefixLength = 0; - char* pucch_deltaF_Format1 = NULL; - //const char* pucch_deltaF_Format1a = NULL; - char* pucch_deltaF_Format1b = NULL; - char* pucch_deltaF_Format2 = NULL; - char* pucch_deltaF_Format2a = NULL; - char* pucch_deltaF_Format2b = NULL; - int32_t rach_numberOfRA_Preambles = 0; - char* rach_preamblesGroupAConfig = NULL; - int32_t rach_sizeOfRA_PreamblesGroupA = 0; - int32_t rach_messageSizeGroupA = 0; - char* rach_messagePowerOffsetGroupB = NULL; - int32_t rach_powerRampingStep = 0; - int32_t rach_preambleInitialReceivedTargetPower = 0; - int32_t rach_preambleTransMax = 0; - int32_t rach_raResponseWindowSize = 0; - int32_t rach_macContentionResolutionTimer = 0; - int32_t rach_maxHARQ_Msg3Tx = 0; - int32_t pcch_defaultPagingCycle = 0; - char* pcch_nB = NULL; - int32_t bcch_modificationPeriodCoeff = 0; - int32_t ue_TimersAndConstants_t300 = 0; - int32_t ue_TimersAndConstants_t301 = 0; - int32_t ue_TimersAndConstants_t310 = 0; - int32_t ue_TimersAndConstants_t311 = 0; - int32_t ue_TimersAndConstants_n310 = 0; - int32_t ue_TimersAndConstants_n311 = 0; - int32_t ue_TransmissionMode = 0; + int32_t eutra_band = 0; + long long int downlink_frequency = 0; + int32_t uplink_frequency_offset = 0; + int32_t Nid_cell = 0; + int32_t Nid_cell_mbsfn = 0; + int32_t N_RB_DL = 0; + int32_t nb_antenna_ports = 0; + + int32_t prach_root = 0; + int32_t prach_config_index = 0; + char* prach_high_speed = NULL; + int32_t prach_zero_correlation = 0; + int32_t prach_freq_offset = 0; + int32_t pucch_delta_shift = 0; + int32_t pucch_nRB_CQI = 0; + int32_t pucch_nCS_AN = 0; + //#if !defined(Rel10) && !defined(Rel14) + int32_t pucch_n1_AN = 0; + //#endif + int32_t pdsch_referenceSignalPower = 0; + int32_t pdsch_p_b = 0; + int32_t pusch_n_SB = 0; + char * pusch_hoppingMode = NULL; + int32_t pusch_hoppingOffset = 0; + char* pusch_enable64QAM = NULL; + char* pusch_groupHoppingEnabled = NULL; + int32_t pusch_groupAssignment = 0; + char* pusch_sequenceHoppingEnabled = NULL; + int32_t pusch_nDMRS1 = 0; + char* phich_duration = NULL; + char* phich_resource = NULL; + char* srs_enable = NULL; + int32_t srs_BandwidthConfig = 0; + int32_t srs_SubframeConfig = 0; + char* srs_ackNackST = NULL; + char* srs_MaxUpPts = NULL; + int32_t pusch_p0_Nominal = 0; + char* pusch_alpha = NULL; + int32_t pucch_p0_Nominal = 0; + int32_t msg3_delta_Preamble = 0; + //int32_t ul_CyclicPrefixLength = 0; + char* pucch_deltaF_Format1 = NULL; + //const char* pucch_deltaF_Format1a = NULL; + char* pucch_deltaF_Format1b = NULL; + char* pucch_deltaF_Format2 = NULL; + char* pucch_deltaF_Format2a = NULL; + char* pucch_deltaF_Format2b = NULL; + int32_t rach_numberOfRA_Preambles = 0; + char* rach_preamblesGroupAConfig = NULL; + int32_t rach_sizeOfRA_PreamblesGroupA = 0; + int32_t rach_messageSizeGroupA = 0; + char* rach_messagePowerOffsetGroupB = NULL; + int32_t rach_powerRampingStep = 0; + int32_t rach_preambleInitialReceivedTargetPower = 0; + int32_t rach_preambleTransMax = 0; + int32_t rach_raResponseWindowSize = 0; + int32_t rach_macContentionResolutionTimer = 0; + int32_t rach_maxHARQ_Msg3Tx = 0; + int32_t pcch_defaultPagingCycle = 0; + char* pcch_nB = NULL; + int32_t bcch_modificationPeriodCoeff = 0; + int32_t ue_TimersAndConstants_t300 = 0; + int32_t ue_TimersAndConstants_t301 = 0; + int32_t ue_TimersAndConstants_t310 = 0; + int32_t ue_TimersAndConstants_t311 = 0; + int32_t ue_TimersAndConstants_n310 = 0; + int32_t ue_TimersAndConstants_n311 = 0; + int32_t ue_TransmissionMode = 0; - int32_t srb1_timer_poll_retransmit = 0; - int32_t srb1_timer_reordering = 0; - int32_t srb1_timer_status_prohibit = 0; - int32_t srb1_poll_pdu = 0; - int32_t srb1_poll_byte = 0; - int32_t srb1_max_retx_threshold = 0; + int32_t srb1_timer_poll_retransmit = 0; + int32_t srb1_timer_reordering = 0; + int32_t srb1_timer_status_prohibit = 0; + int32_t srb1_poll_pdu = 0; + int32_t srb1_poll_byte = 0; + int32_t srb1_max_retx_threshold = 0; - int32_t my_int; + int32_t my_int; -/* - char* flexran_agent_interface_name = NULL; - char* flexran_agent_ipv4_address = NULL; - int32_t flexran_agent_port = 0; - char* flexran_agent_cache = NULL; - int32_t otg_ue_id = 0; - char* otg_app_type = NULL; - char* otg_bg_traffic = NULL; - char* glog_level = NULL; - char* glog_verbosity = NULL; - char* hw_log_level = NULL; - char* hw_log_verbosity = NULL; - char* phy_log_level = NULL; - char* phy_log_verbosity = NULL; - char* mac_log_level = NULL; - char* mac_log_verbosity = NULL; - char* rlc_log_level = NULL; - char* rlc_log_verbosity = NULL; - char* pdcp_log_level = NULL; - char* pdcp_log_verbosity = NULL; - char* rrc_log_level = NULL; - char* rrc_log_verbosity = NULL; - char* udp_log_verbosity = NULL; - char* osa_log_level = NULL; - char* osa_log_verbosity = NULL; -*/ - - - // for no gcc warnings - (void)my_int; - paramdef_t ENBSParams[] = ENBSPARAMS_DESC; - - paramdef_t ENBParams[] = ENBPARAMS_DESC; - paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0}; - - paramdef_t CCsParams[] = CCPARAMS_DESC; - paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; - - //paramdef_t brParams[] = BRPARAMS_DESC; - // paramdef_t siInfoBRParams[] = SI_INFO_BR_DESC; - //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; - //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; - //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; - //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; - //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; - //paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; - - paramdef_t SRB1Params[] = SRB1PARAMS_DESC; - - -/* get global parameters, defined outside any section in the config file */ - - config_get( ENBSParams,sizeof(ENBSParams)/sizeof(paramdef_t),NULL); - num_enbs = ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt; - AssertFatal (i0) { - // Output a list of all eNBs. - config_getlist( &ENBParamList,ENBParams,sizeof(ENBParams)/sizeof(paramdef_t),NULL); - - - - - if (ENBParamList.paramarray[i][ENB_ENB_ID_IDX].uptr == NULL) { - // Calculate a default eNB ID + + + if (num_enbs>0) + { + // Output a list of all eNBs. + config_getlist( &ENBParamList,ENBParams,sizeof(ENBParams)/sizeof(paramdef_t),NULL); + + + + + if (ENBParamList.paramarray[i][ENB_ENB_ID_IDX].uptr == NULL) + { + // Calculate a default eNB ID # if defined(ENABLE_USE_MME) - uint32_t hash; - - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); + uint32_t hash; + + hash = s1ap_generate_eNB_id (); + enb_id = i + (hash & 0xFFFF8); # else - enb_id = i; + enb_id = i; # endif - } else { - enb_id = *(ENBParamList.paramarray[i][ENB_ENB_ID_IDX].uptr); - } - - - printf("RRC %d: Southbound Transport %s\n",i,*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr)); - - if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "local_mac") == 0) { - - - } - else if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "cudu") == 0) { - rrc->eth_params_s.local_if_name = strdup(*(ENBParamList.paramarray[i][ENB_LOCAL_S_IF_NAME_IDX].strptr)); - rrc->eth_params_s.my_addr = strdup(*(ENBParamList.paramarray[i][ENB_LOCAL_S_ADDRESS_IDX].strptr)); - rrc->eth_params_s.remote_addr = strdup(*(ENBParamList.paramarray[i][ENB_REMOTE_S_ADDRESS_IDX].strptr)); - rrc->eth_params_s.my_portc = *(ENBParamList.paramarray[i][ENB_LOCAL_S_PORTC_IDX].uptr); - rrc->eth_params_s.remote_portc = *(ENBParamList.paramarray[i][ENB_REMOTE_S_PORTC_IDX].uptr); - rrc->eth_params_s.my_portd = *(ENBParamList.paramarray[i][ENB_LOCAL_S_PORTD_IDX].uptr); - rrc->eth_params_s.remote_portd = *(ENBParamList.paramarray[i][ENB_REMOTE_S_PORTD_IDX].uptr); - rrc->eth_params_s.transp_preference = ETH_UDP_MODE; - } - - else { // other midhaul - } - - // search if in active list - - - - - - - for (k=0; k cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cell_type = CELL_HOME_ENB; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - lib_config_file_name_pP, i, cell_type); - } - - enb_properties_loc.properties[enb_properties_loc_index]->eNB_name = strdup(enb_name); - */ - RRC_CONFIGURATION_REQ (msg_p).tac = (uint16_t)atoi( *(ENBParamList.paramarray[i][ENB_TRACKING_AREA_CODE_IDX].strptr) ); - RRC_CONFIGURATION_REQ (msg_p).mcc = (uint16_t)atoi( *(ENBParamList.paramarray[i][ENB_MOBILE_COUNTRY_CODE_IDX].strptr) ); - RRC_CONFIGURATION_REQ (msg_p).mnc = (uint16_t)atoi( *(ENBParamList.paramarray[i][ENB_MOBILE_NETWORK_CODE_IDX].strptr) ); - RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length = strlen(*(ENBParamList.paramarray[i][ENB_MOBILE_NETWORK_CODE_IDX].strptr)); - AssertFatal((RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 2) || - (RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length); - - - // Parse optional physical parameters - sprintf(enbpath,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k), - config_getlist( &CCsParamList,NULL,0,enbpath); - - LOG_I(RRC,"num component carriers %d \n", num_component_carriers); - if ( CCsParamList.numelt> 0) { -#ifdef CLOSE_FOR_NOW - char ccspath[MAX_OPTNAME_SIZE*2 + 16]; - - - - - - //enb_properties_loc.properties[enb_properties_loc_index]->nb_cc = num_component_carriers; - - - for (j = 0; j < CCsParamList.numelt ;j++) { - - sprintf(ccspath,"%s.%s.[%i]",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,j); - config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); - - - //printf("Component carrier %d\n",component_carrier); - - - - nb_cc++; - /* - if (strcmp(cc_node_function, "eNodeB_3GPP") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = eNodeB_3GPP; - } else if (strcmp(cc_node_function, "eNodeB_3GPP_BBU") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = eNodeB_3GPP_BBU; - } else if (strcmp(cc_node_function, "NGFI_RCC_IF4p5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RCC_IF4p5; - } else if (strcmp(cc_node_function, "NGFI_RAU_IF4p5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RAU_IF4p5; - } else if (strcmp(cc_node_function, "NGFI_RRU_IF4p5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RRU_IF4p5; - } else if (strcmp(cc_node_function, "NGFI_RRU_IF5") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_function[j] = NGFI_RRU_IF5; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for node_function choice: eNodeB_3GPP or eNodeB_3GPP_BBU or NGFI_IF4_RCC or NGFI_IF4_RRU or NGFI_IF5_RRU !\n", - lib_config_file_name_pP, i, cc_node_function); - } - - if (strcmp(cc_node_timing, "synch_to_ext_device") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_timing[j] = synch_to_ext_device; - } else if (strcmp(cc_node_timing, "synch_to_other") == 0) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_timing[j] = synch_to_other; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for node_function choice: SYNCH_TO_DEVICE or SYNCH_TO_OTHER !\n", - lib_config_file_name_pP, i, cc_node_timing); - } - - if ((cc_node_synch_ref >= -1) && (cc_node_synch_ref < num_component_carriers)) { - enb_properties_loc.properties[enb_properties_loc_index]->cc_node_synch_ref[j] = (int16_t) cc_node_synch_ref; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for node_synch_ref choice: valid CC_id or -1 !\n", - lib_config_file_name_pP, i, cc_node_synch_ref); - } - */ - - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = NORMAL; - } else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = EXTENDED; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } -#ifdef Rel14 - if (!pbch_repetition) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pbch_repetition[j] = 1; - } else if (strcmp(pbch_repetition, "FALSE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pbch_repetition[j] = 0; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", - RC.config_file_name, i, pbch_repetition); - } -#endif - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; - - if (Nid_cell>503) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", - RC.config_file_name, i, Nid_cell); - } - - RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; - - if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", - RC.config_file_name, i, N_RB_DL); - } - - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = FDD; - } else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = TDD; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, i, frame_type); - } - - - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - - - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = NORMAL; - } else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = EXTENDED; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } - - - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); - - - - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); - - - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - - if (enb_check_band_frequencies(RC.config_file_name, - j, - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], - RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { - AssertFatal(0, "error calling enb_check_band_frequencies\n"); - } - - if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", - RC.config_file_name, i, nb_antenna_ports); - - RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; - - - RRC_CONFIGURATION_REQ (msg_p).prach_root[j] = prach_root; - - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j] = prach_config_index; - - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); - - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prach_high_speed[j] = TRUE; - } else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prach_high_speed[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).prach_zero_correlation[j] =prach_zero_correlation; - - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j] = prach_freq_offset; - - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - RRC_CONFIGURATION_REQ (msg_p).pucch_delta_shift[j] = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).pucch_nRB_CQI[j] = pucch_nRB_CQI; - - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); - - RRC_CONFIGURATION_REQ (msg_p).pucch_nCS_AN[j] = pucch_nCS_AN; - - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); - -#if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[j] = pucch_n1_AN; - - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); - -#endif - RRC_CONFIGURATION_REQ (msg_p).pdsch_referenceSignalPower[j] = pdsch_referenceSignalPower; - - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); - - RRC_CONFIGURATION_REQ (msg_p).pdsch_p_b[j] = pdsch_p_b; - - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); - - RRC_CONFIGURATION_REQ (msg_p).pusch_n_SB[j] = pusch_n_SB; - - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); - - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode,"interSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } else if (strcmp(pusch_hoppingMode,"intraAndInterSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); - - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingOffset[j] = pusch_hoppingOffset; - - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); - - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_enable64QAM[j] = TRUE; - } else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_enable64QAM[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); - - if (!pusch_groupHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_groupHoppingEnabled[j] = TRUE; - } else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_groupHoppingEnabled[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); - - - RRC_CONFIGURATION_REQ (msg_p).pusch_groupAssignment[j] = pusch_groupAssignment; - - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); - - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_sequenceHoppingEnabled[j] = TRUE; - } else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_sequenceHoppingEnabled[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).pusch_nDMRS1[j] = pusch_nDMRS1; //cyclic_shift in RRC! - - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); - - if (strcmp(phich_duration,"NORMAL")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_normal; - } else if (strcmp(phich_duration,"EXTENDED")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); - - if (strcmp(phich_resource,"ONESIXTH")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_oneSixth ; - } else if (strcmp(phich_resource,"HALF")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_half; - } else if (strcmp(phich_resource,"ONE")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_one; - } else if (strcmp(phich_resource,"TWO")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_two; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); - - printf("phich.resource %ld (%s), phich.duration %ld (%s)\n", - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j],phich_resource, - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j],phich_duration); - - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] = TRUE; - } else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); - - if (RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] == TRUE) { - - RRC_CONFIGURATION_REQ (msg_p).srs_BandwidthConfig[j] = srs_BandwidthConfig; - - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); - - RRC_CONFIGURATION_REQ (msg_p).srs_SubframeConfig[j] = srs_SubframeConfig; - - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); - - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_ackNackST[j] = TRUE; - } else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_ackNackST[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); - - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_MaxUpPts[j] = TRUE; - } else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_MaxUpPts[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); - } - - RRC_CONFIGURATION_REQ (msg_p).pusch_p0_Nominal[j] = pusch_p0_Nominal; - - if ((pusch_p0_Nominal<-126) || (pusch_p0_Nominal>24)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); - -#ifndef Rel14 - if (strcmp(pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0; - } else if (strcmp(pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04; - } else if (strcmp(pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05; - } else if (strcmp(pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06; - } else if (strcmp(pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07; - } else if (strcmp(pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08; - } else if (strcmp(pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09; - } else if (strcmp(pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1; - } -#else - if (strcmp(pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al0; - } else if (strcmp(pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al04; - } else if (strcmp(pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al05; - } else if (strcmp(pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al06; - } else if (strcmp(pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al07; - } else if (strcmp(pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al08; - } else if (strcmp(pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al09; - } else if (strcmp(pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al1; - } -#endif - 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", - RC.config_file_name, i, pusch_alpha); - - RRC_CONFIGURATION_REQ (msg_p).pucch_p0_Nominal[j] = pucch_p0_Nominal; - - if ((pucch_p0_Nominal<-127) || (pucch_p0_Nominal>-96)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); - - RRC_CONFIGURATION_REQ (msg_p).msg3_delta_Preamble[j] = msg3_delta_Preamble; - - if ((msg3_delta_Preamble<-1) || (msg3_delta_Preamble>6)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); - - - if (strcmp(pucch_deltaF_Format1,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } else if (strcmp(pucch_deltaF_Format1,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } else if (strcmp(pucch_deltaF_Format1,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); - - if (strcmp(pucch_deltaF_Format1b,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } else if (strcmp(pucch_deltaF_Format1b,"deltaF3")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } else if (strcmp(pucch_deltaF_Format1b,"deltaF5")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); - - - if (strcmp(pucch_deltaF_Format2,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } else if (strcmp(pucch_deltaF_Format2,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } else if (strcmp(pucch_deltaF_Format2,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); - - if (strcmp(pucch_deltaF_Format2a,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2a,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } else if (strcmp(pucch_deltaF_Format2a,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); - - if (strcmp(pucch_deltaF_Format2b,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2b,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } else if (strcmp(pucch_deltaF_Format2b,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); - - - - - RRC_CONFIGURATION_REQ (msg_p).rach_numberOfRA_Preambles[j] = (rach_numberOfRA_Preambles/4)-1; - - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>64) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); - - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).rach_preamblesGroupAConfig[j] = TRUE; - - - RRC_CONFIGURATION_REQ (msg_p).rach_sizeOfRA_PreamblesGroupA[j] = (rach_sizeOfRA_PreamblesGroupA/4)-1; - - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); - - - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; - - case 144: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; - - case 208: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } - - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } + } + else { + enb_id = *(ENBParamList.paramarray[i][ENB_ENB_ID_IDX].uptr); + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } - - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + printf("RRC %d: Southbound Transport %s\n",i,*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr)); - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "local_mac") == 0) { - } else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).rach_preamblesGroupAConfig[j] = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); - RRC_CONFIGURATION_REQ (msg_p).rach_preambleInitialReceivedTargetPower[j] = (rach_preambleInitialReceivedTargetPower+120)/2; + } + else if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "cudu") == 0) + { + rrc->eth_params_s.local_if_name = strdup(*(ENBParamList.paramarray[i][ENB_LOCAL_S_IF_NAME_IDX].strptr)); + rrc->eth_params_s.my_addr = strdup(*(ENBParamList.paramarray[i][ENB_LOCAL_S_ADDRESS_IDX].strptr)); + rrc->eth_params_s.remote_addr = strdup(*(ENBParamList.paramarray[i][ENB_REMOTE_S_ADDRESS_IDX].strptr)); + rrc->eth_params_s.my_portc = *(ENBParamList.paramarray[i][ENB_LOCAL_S_PORTC_IDX].uptr); + rrc->eth_params_s.remote_portc = *(ENBParamList.paramarray[i][ENB_REMOTE_S_PORTC_IDX].uptr); + rrc->eth_params_s.my_portd = *(ENBParamList.paramarray[i][ENB_LOCAL_S_PORTD_IDX].uptr); + rrc->eth_params_s.remote_portd = *(ENBParamList.paramarray[i][ENB_REMOTE_S_PORTD_IDX].uptr); + rrc->eth_params_s.transp_preference = ETH_UDP_MODE; + } - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + else { // other midhaul + } + // search if in active list - RRC_CONFIGURATION_REQ (msg_p).rach_powerRampingStep[j] = rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); - switch (rach_preambleTransMax) { -#ifndef Rel14 - case 3: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; + for (k=0; k cell_type = CELL_MACRO_ENB; + } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { + enb_properties_loc.properties[enb_properties_loc_index]->cell_type = CELL_HOME_ENB; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", + lib_config_file_name_pP, i, cell_type); + } - case 8: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; + enb_properties_loc.properties[enb_properties_loc_index]->eNB_name = strdup(enb_name); + */ + RRC_CONFIGURATION_REQ (msg_p).tac = (uint16_t)atoi( *(ENBParamList.paramarray[i][ENB_TRACKING_AREA_CODE_IDX].strptr) ); + RRC_CONFIGURATION_REQ (msg_p).mcc = (uint16_t)atoi( *(ENBParamList.paramarray[i][ENB_MOBILE_COUNTRY_CODE_IDX].strptr) ); + RRC_CONFIGURATION_REQ (msg_p).mnc = (uint16_t)atoi( *(ENBParamList.paramarray[i][ENB_MOBILE_NETWORK_CODE_IDX].strptr) ); + RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length = strlen(*(ENBParamList.paramarray[i][ENB_MOBILE_NETWORK_CODE_IDX].strptr)); + AssertFatal((RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 2) || + (RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length == 3), + "BAD MNC DIGIT LENGTH %d", + RRC_CONFIGURATION_REQ (msg_p).mnc_digit_length); - case 10: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; + // Parse optional physical parameters + sprintf(enbpath,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k), + config_getlist( &CCsParamList,NULL,0,enbpath); - case 50: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; + LOG_I(RRC,"num component carriers %d \n", num_component_carriers); + if ( CCsParamList.numelt> 0) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; + char ccspath[MAX_OPTNAME_SIZE*2 + 16]; - case 200: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; -#else - case 3: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n10; - break; + //enb_properties_loc.properties[enb_properties_loc_index]->nb_cc = num_component_carriers; - case 20: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n20; - break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n50; - break; + for (j = 0; j < CCsParamList.numelt ;j++) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n100; - break; + sprintf(ccspath,"%s.%s.[%i]",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,j); + config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); - case 200: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n200; - break; -#endif - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).rach_raResponseWindowSize[j] = (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).rach_macContentionResolutionTimer[j] = (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).rach_maxHARQ_Msg3Tx[j] = rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - switch (pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - break; - } - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_fourT; - } else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_twoT; - } else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneT; - } else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_halfT; - } else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_quarterT; - } else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneEighthT; - } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneSixteenthT; - } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneThirtySecondT; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - - switch (ue_TimersAndConstants_t300) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms1000; - break; - - case 1500: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms1500; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = UE_TimersAndConstants__t300_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t300); - break; - - } - - switch (ue_TimersAndConstants_t301) { - case 100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms200; - break; - - case 300: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms300; - break; - - case 400: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms400; - break; - - case 600: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms600; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms1000; - break; - case 1500: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms1500; - break; + //printf("Component carrier %d\n",component_carrier); - case 2000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = UE_TimersAndConstants__t301_ms2000; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t301); - break; - - } - switch (ue_TimersAndConstants_t310) { - case 0: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms0; - break; + nb_cc++; + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - case 50: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms50; - break; + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - case 100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms100; - break; + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - case 200: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms200; - break; + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } + #ifdef Rel14 + if (!pbch_repetition) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); + else if (strcmp(pbch_repetition, "TRUE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; + } + else if (strcmp(pbch_repetition, "FALSE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", + RC.config_file_name, i, pbch_repetition); + } + #endif - case 500: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms500; - break; - - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms1000; - break; - - case 2000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = UE_TimersAndConstants__t310_ms2000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ", - RC.config_file_name, i, ue_TimersAndConstants_t310); - break; - - } - - switch (ue_TimersAndConstants_t311) { - case 1000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms1000; - break; - - case 3110: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms3000; - break; - - case 5000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms5000; - break; - - case 10000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms10000; - break; - - case 15000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms15000; - break; - - case 20000: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms20000; - break; - - case 31100: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = UE_TimersAndConstants__t311_ms30000; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TimersAndConstants_n310) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n4; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = UE_TimersAndConstants__n310_n20; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20", - RC.config_file_name, i, ue_TimersAndConstants_n311); - break; - - } - - switch (ue_TimersAndConstants_n311) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n6; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = UE_TimersAndConstants__n311_n10; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10", - RC.config_file_name, i, ue_TimersAndConstants_t311); - break; - - } - - switch (ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm1; - break; - case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm2; - break; - case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm7; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); - break; - } - - - sprintf(brpath,"%s.%s.[%i].%s",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,ENB_CONFIG_STRING_BR_PARAMETERS,j); - config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); - - } -#endif - } - char srb1path[MAX_OPTNAME_SIZE*2 + 8]; - sprintf(srb1path,"%s.%s",enbpath,ENB_CONFIG_STRING_SRB1); - int npar = config_get( SRB1Params,sizeof(SRB1Params)/sizeof(paramdef_t), srb1path); - if (npar == sizeof(SRB1Params)/sizeof(paramdef_t)) { - switch (srb1_max_retx_threshold) { - case 1: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; - break; - - case 2: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; - break; - - case 3: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; - break; - - case 4: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; - break; - - case 6: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; - break; - - case 8: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - break; - - case 16: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; - break; - - case 32: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", - RC.config_file_name, i, srb1_max_retx_threshold); - } - - - switch (srb1_poll_pdu) { - case 4: - rrc->srb1_poll_pdu = PollPDU_p4; - break; - - case 8: - rrc->srb1_poll_pdu = PollPDU_p8; - break; - - case 16: - rrc->srb1_poll_pdu = PollPDU_p16; - break; - - case 32: - rrc->srb1_poll_pdu = PollPDU_p32; - break; - - case 64: - rrc->srb1_poll_pdu = PollPDU_p64; - break; - - case 128: - rrc->srb1_poll_pdu = PollPDU_p128; - break; - - case 256: - rrc->srb1_poll_pdu = PollPDU_p256; - break; - - default: - if (srb1_poll_pdu >= 10000) - rrc->srb1_poll_pdu = PollPDU_pInfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", - RC.config_file_name, i, srb1_poll_pdu); - } - - rrc->srb1_poll_byte = srb1_poll_byte; - - switch (srb1_poll_byte) { - case 25: - rrc->srb1_poll_byte = PollByte_kB25; - break; - - case 50: - rrc->srb1_poll_byte = PollByte_kB50; - break; - - case 75: - rrc->srb1_poll_byte = PollByte_kB75; - break; - - case 100: - rrc->srb1_poll_byte = PollByte_kB100; - break; - - case 125: - rrc->srb1_poll_byte = PollByte_kB125; - break; - - case 250: - rrc->srb1_poll_byte = PollByte_kB250; - break; - - case 375: - rrc->srb1_poll_byte = PollByte_kB375; - break; - - case 500: - rrc->srb1_poll_byte = PollByte_kB500; - break; - - case 750: - rrc->srb1_poll_byte = PollByte_kB750; - break; - - case 1000: - rrc->srb1_poll_byte = PollByte_kB1000; - break; - - case 1250: - rrc->srb1_poll_byte = PollByte_kB1250; - break; - - case 1500: - rrc->srb1_poll_byte = PollByte_kB1500; - break; - - case 2000: - rrc->srb1_poll_byte = PollByte_kB2000; - break; - - case 3000: - rrc->srb1_poll_byte = PollByte_kB3000; - break; - - default: - if (srb1_poll_byte >= 10000) - rrc->srb1_poll_byte = PollByte_kBinfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", - RC.config_file_name, i, srb1_poll_byte); - } - - if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5)/5; - } else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300)/50 + 50; - } else { - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } - - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit/5; - } else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300)/50 + 51; - } else { - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", - RC.config_file_name, i, srb1_timer_status_prohibit); - } - - switch (srb1_timer_reordering) { - case 0: - rrc->srb1_timer_reordering = T_Reordering_ms0; - break; - - case 5: - rrc->srb1_timer_reordering = T_Reordering_ms5; - break; - - case 10: - rrc->srb1_timer_reordering = T_Reordering_ms10; - break; - - case 15: - rrc->srb1_timer_reordering = T_Reordering_ms15; - break; - - case 20: - rrc->srb1_timer_reordering = T_Reordering_ms20; - break; - - case 25: - rrc->srb1_timer_reordering = T_Reordering_ms25; - break; - - case 30: - rrc->srb1_timer_reordering = T_Reordering_ms30; - break; - - case 35: - rrc->srb1_timer_reordering = T_Reordering_ms35; - break; - - case 40: - rrc->srb1_timer_reordering = T_Reordering_ms40; - break; - - case 45: - rrc->srb1_timer_reordering = T_Reordering_ms45; - break; - - case 50: - rrc->srb1_timer_reordering = T_Reordering_ms50; - break; - - case 55: - rrc->srb1_timer_reordering = T_Reordering_ms55; - break; - - case 60: - rrc->srb1_timer_reordering = T_Reordering_ms60; - break; - - case 65: - rrc->srb1_timer_reordering = T_Reordering_ms65; - break; - - case 70: - rrc->srb1_timer_reordering = T_Reordering_ms70; - break; - - case 75: - rrc->srb1_timer_reordering = T_Reordering_ms75; - break; - - case 80: - rrc->srb1_timer_reordering = T_Reordering_ms80; - break; - - case 85: - rrc->srb1_timer_reordering = T_Reordering_ms85; - break; - - case 90: - rrc->srb1_timer_reordering = T_Reordering_ms90; - break; - - case 95: - rrc->srb1_timer_reordering = T_Reordering_ms95; - break; - - case 100: - rrc->srb1_timer_reordering = T_Reordering_ms100; - break; - - case 110: - rrc->srb1_timer_reordering = T_Reordering_ms110; - break; - - case 120: - rrc->srb1_timer_reordering = T_Reordering_ms120; - break; - - case 130: - rrc->srb1_timer_reordering = T_Reordering_ms130; - break; - - case 140: - rrc->srb1_timer_reordering = T_Reordering_ms140; - break; - - case 150: - rrc->srb1_timer_reordering = T_Reordering_ms150; - break; - - case 160: - rrc->srb1_timer_reordering = T_Reordering_ms160; - break; - - case 170: - rrc->srb1_timer_reordering = T_Reordering_ms170; - break; - - case 180: - rrc->srb1_timer_reordering = T_Reordering_ms180; - break; - - case 190: - rrc->srb1_timer_reordering = T_Reordering_ms190; - break; - - case 200: - rrc->srb1_timer_reordering = T_Reordering_ms200; - break; - - default: - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } - - } else { - rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; - rrc->srb1_timer_reordering = T_Reordering_ms35; - rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; - rrc->srb1_poll_pdu = PollPDU_p4; - rrc->srb1_poll_byte = PollByte_kBinfinity; - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - } - /* - // Network Controller - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_CONTROLLER_CONFIG); - - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_INTERFACE_NAME, - (const char **)&flexran_agent_interface_name) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_IPV4_ADDRESS, - (const char **)&flexran_agent_ipv4_address) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_PORT, - &flexran_agent_port) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_CACHE, - (const char **)&flexran_agent_cache) - ) - ) { - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_interface_name = strdup(flexran_agent_interface_name); - cidr = flexran_agent_ipv4_address; - address = strtok(cidr, "/"); - //enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address = strdup(address); - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO (address, enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB Agent !\n" ); - } - - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_port = flexran_agent_port; - enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_cache = strdup(flexran_agent_cache); - } - } - */ - - /* - // OTG _CONFIG - setting_otg = config_setting_get_member (setting_enb, ENB_CONF_STRING_OTG_CONFIG); - - if (setting_otg != NULL) { - num_otg_elements = config_setting_length(setting_otg); - printf("num otg elements %d \n", num_otg_elements); - enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements = 0; - - for (j = 0; j < num_otg_elements; j++) { - subsetting_otg=config_setting_get_elem(setting_otg, j); - - if (config_setting_lookup_int(subsetting_otg, ENB_CONF_STRING_OTG_UE_ID, &otg_ue_id)) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = otg_ue_id; - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = 1; - } - - if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_APP_TYPE, (const char **)&otg_app_type)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = map_str_to_int(otg_app_type_names,otg_app_type))== -1) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = BCBR; - } - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = NO_PREDEFINED_TRAFFIC; // 0 - } - - if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_BG_TRAFFIC, (const char **)&otg_bg_traffic)) { - - if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = map_str_to_int(switch_names,otg_bg_traffic)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j]=0; - } - } else { - enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = 0; - printf("otg bg %s\n", otg_bg_traffic); - } - - enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements+=1; - - } - } - - // log_config - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_LOG_CONFIG); - - if (subsetting != NULL) { - // global - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_LEVEL, (const char **) &glog_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_level = map_str_to_int(log_level_names, glog_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - } - - //printf( "\tGlobal log level :\t%s->%d\n",glog_level, enb_properties_loc.properties[enb_properties_loc_index]->glog_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_VERBOSITY,(const char **) &glog_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = map_str_to_int(log_verbosity_names, glog_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - } - - //printf( "\tGlobal log verbosity:\t%s->%d\n",glog_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - } - - // HW - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_LEVEL, (const char **) &hw_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = map_str_to_int(log_level_names,hw_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - } - - //printf( "\tHW log level :\t%s->%d\n",hw_log_level,enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_VERBOSITY, (const char **) &hw_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = map_str_to_int(log_verbosity_names,hw_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - } - - //printf( "\tHW log verbosity:\t%s->%d\n",hw_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - } - - // phy - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_LEVEL,(const char **) &phy_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = map_str_to_int(log_level_names,phy_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - } - - //printf( "\tPHY log level :\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_VERBOSITY, (const char **)&phy_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = map_str_to_int(log_verbosity_names,phy_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - } - - //printf( "\tPHY log verbosity:\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - } - - //mac - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_LEVEL, (const char **)&mac_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = map_str_to_int(log_level_names,mac_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - } - - //printf( "\tMAC log level :\t%s->%d\n",mac_log_level,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_VERBOSITY, (const char **)&mac_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = map_str_to_int(log_verbosity_names,mac_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - } - - //printf( "\tMAC log verbosity:\t%s->%d\n",mac_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - } - - //rlc - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_LEVEL, (const char **)&rlc_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = map_str_to_int(log_level_names,rlc_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - } - - //printf( "\tRLC log level :\t%s->%d\n",rlc_log_level, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_VERBOSITY, (const char **)&rlc_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = map_str_to_int(log_verbosity_names,rlc_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - } - - //printf( "\tRLC log verbosity:\t%s->%d\n",rlc_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - } - - //pdcp - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_LEVEL, (const char **)&pdcp_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = map_str_to_int(log_level_names,pdcp_log_level)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - } - - //printf( "\tPDCP log level :\t%s->%d\n",pdcp_log_level, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_VERBOSITY, (const char **)&pdcp_log_verbosity)) { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = map_str_to_int(log_verbosity_names,pdcp_log_verbosity); - //printf( "\tPDCP log verbosity:\t%s->%d\n",pdcp_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; - } - - //rrc - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_LEVEL, (const char **)&rrc_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = map_str_to_int(log_level_names,rrc_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - } - - //printf( "\tRRC log level :\t%s->%d\n",rrc_log_level,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_VERBOSITY, (const char **)&rrc_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = map_str_to_int(log_verbosity_names,rrc_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - } - - //printf( "\tRRC log verbosity:\t%s->%d\n",rrc_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_LEVEL, (const char **)>pu_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = map_str_to_int(log_level_names,gtpu_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - } - - //printf( "\tGTPU log level :\t%s->%d\n",gtpu_log_level,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_VERBOSITY, (const char **)>pu_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = map_str_to_int(log_verbosity_names,gtpu_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - } - - //printf( "\tGTPU log verbosity:\t%s->%d\n",gtpu_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_LEVEL, (const char **)&udp_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = map_str_to_int(log_level_names,udp_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - } - - //printf( "\tUDP log level :\t%s->%d\n",udp_log_level,enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_VERBOSITY, (const char **)&udp_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = map_str_to_int(log_verbosity_names,udp_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - } - - //printf( "\tUDP log verbosity:\t%s->%d\n",udp_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_LEVEL, (const char **)&osa_log_level)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = map_str_to_int(log_level_names,osa_log_level)) == -1 ) { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - } - - //printf( "\tOSA log level :\t%s->%d\n",osa_log_level,enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - } - - if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_VERBOSITY, (const char **)&osa_log_verbosity)) { - if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = map_str_to_int(log_verbosity_names,osa_log_verbosity)) == -1) { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } - - //printf( "\tOSA log verbosity:\t%s->%d\n",osa_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gosa_log_verbosity); - } else { - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } - - } else { // not configuration is given - enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; - enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; - } - */ - break; - } + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; + if (Nid_cell>503) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", + RC.config_file_name, i, Nid_cell); + } + + RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; + + if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", + RC.config_file_name, i, N_RB_DL); + } + + if (strcmp(frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; + } + else if (strcmp(frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + RC.config_file_name, i, frame_type); + } + + + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + + + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + + + + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } + + + + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); + + + + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); + + + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + + if (enb_check_band_frequencies(RC.config_file_name, + j, + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], + RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { + AssertFatal(0, "error calling enb_check_band_frequencies\n"); + } + + if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", + RC.config_file_name, i, nb_antenna_ports); + + RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); + + #if !defined(Rel10) && !defined(Rel14) + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; + + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); + + #endif + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; + + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; + + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; + + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; + + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; + + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; + + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); + + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); + + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; + + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + + #ifndef Rel14 + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } + #else + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; + } + #endif + 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; + + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; + + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); + + + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); + + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); + + + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); + + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); + + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); + + + // 27 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n4 = 0, + // 28 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n8 = 1, + // 29 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n12 = 2, + // 30 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n16 = 3, + // 31 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n20 = 4, + // 32 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n24 = 5, + // 33 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n28 = 6, + // 34 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n32 = 7, + // 35 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n36 = 8, + // 36 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n40 = 9, + // 37 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n44 = 10, + // 38 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n48 = 11, + // 39 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n52 = 12, + // 40 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n56 = 13, + // 41 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n60 = 14, + // 42 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64 = 15 + + + if (!strcmp(rach_numberOfRA_Preambles, "n4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (4 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (8 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (12 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (16 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (20 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (24 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (28 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (32 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (36 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (40 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (44 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (48 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (52 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (56 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (60 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (64 / 4) - 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + } + + printf("[DEBUGGIN][KOGO][TESTING]: number of RA Preambles: %s - %d\n", + rach_numberOfRA_Preambles, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles); + + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; + + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA / 4) - 1; + + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; + + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; + + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } + + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); + + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; + + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); + + + + switch (rach_preambleTransMax) { + #ifndef Rel14 + _ case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; + + #else + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; + break; + #endif + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + if (!strcmp(pcch_defaultPagingCycle, "rf32")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; + } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; + } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + } + + printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle); + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", + RC.config_file_name, i, ue_TimersAndConstants_t300); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300); + + if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", + RC.config_file_name, i, ue_TimersAndConstants_t301); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301); + + if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", + RC.config_file_name, i, ue_TimersAndConstants_t310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310); + + + if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", + RC.config_file_name, i, ue_TimersAndConstants_t311); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311); + + + if (!strcmp(ue_TimersAndConstants_n310, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; + } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; + } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; + } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; + } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; + } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; + } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; + } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", + RC.config_file_name, i, ue_TimersAndConstants_n310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310); + + + if (!strcmp(ue_TimersAndConstants_n311, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; + } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; + } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; + } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; + } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; + } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; + } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; + } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", + RC.config_file_name, i, ue_TimersAndConstants_n311); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311); + + + if (!strcmp(ue_TransmissionMode, "tm1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; + } else if (!strcmp(ue_TransmissionMode, "tm2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; + } else if (!strcmp(ue_TransmissionMode, "tm3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; + } else if (!strcmp(ue_TransmissionMode, "tm4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; + } else if (!strcmp(ue_TransmissionMode, "tm5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; + } else if (!strcmp(ue_TransmissionMode, "tm6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; + } else if (!strcmp(ue_TransmissionMode, "tm7")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", + RC.config_file_name, i, ue_TransmissionMode); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode); + + + + + //sprintf(brpath,"%s.%s.[%i].%s",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,ENB_CONFIG_STRING_BR_PARAMETERS,j); + //config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); + + } + } + char srb1path[MAX_OPTNAME_SIZE*2 + 8]; + sprintf(srb1path,"%s.%s",enbpath,ENB_CONFIG_STRING_SRB1); + int npar = config_get( SRB1Params,sizeof(SRB1Params)/sizeof(paramdef_t), srb1path); + if (npar == sizeof(SRB1Params)/sizeof(paramdef_t)) { + switch (srb1_max_retx_threshold) { + case 1: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; + break; + + case 2: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; + break; + + case 3: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; + break; + + case 4: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; + break; + + case 6: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; + break; + + case 8: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + break; + + case 16: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; + break; + + case 32: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", + RC.config_file_name, i, srb1_max_retx_threshold); + } + + + switch (srb1_poll_pdu) { + case 4: + rrc->srb1_poll_pdu = PollPDU_p4; + break; + + case 8: + rrc->srb1_poll_pdu = PollPDU_p8; + break; + + case 16: + rrc->srb1_poll_pdu = PollPDU_p16; + break; + + case 32: + rrc->srb1_poll_pdu = PollPDU_p32; + break; + + case 64: + rrc->srb1_poll_pdu = PollPDU_p64; + break; + + case 128: + rrc->srb1_poll_pdu = PollPDU_p128; + break; + + case 256: + rrc->srb1_poll_pdu = PollPDU_p256; + break; + + default: + if (srb1_poll_pdu >= 10000) + rrc->srb1_poll_pdu = PollPDU_pInfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", + RC.config_file_name, i, srb1_poll_pdu); + } + + rrc->srb1_poll_byte = srb1_poll_byte; + + switch (srb1_poll_byte) { + case 25: + rrc->srb1_poll_byte = PollByte_kB25; + break; + + case 50: + rrc->srb1_poll_byte = PollByte_kB50; + break; + + case 75: + rrc->srb1_poll_byte = PollByte_kB75; + break; + + case 100: + rrc->srb1_poll_byte = PollByte_kB100; + break; + + case 125: + rrc->srb1_poll_byte = PollByte_kB125; + break; + + case 250: + rrc->srb1_poll_byte = PollByte_kB250; + break; + + case 375: + rrc->srb1_poll_byte = PollByte_kB375; + break; + + case 500: + rrc->srb1_poll_byte = PollByte_kB500; + break; + + case 750: + rrc->srb1_poll_byte = PollByte_kB750; + break; + + case 1000: + rrc->srb1_poll_byte = PollByte_kB1000; + break; + + case 1250: + rrc->srb1_poll_byte = PollByte_kB1250; + break; + + case 1500: + rrc->srb1_poll_byte = PollByte_kB1500; + break; + + case 2000: + rrc->srb1_poll_byte = PollByte_kB2000; + break; + + case 3000: + rrc->srb1_poll_byte = PollByte_kB3000; + break; + + default: + if (srb1_poll_byte >= 10000) + rrc->srb1_poll_byte = PollByte_kBinfinity; + else + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", + RC.config_file_name, i, srb1_poll_byte); + } + + if (srb1_timer_poll_retransmit <= 250) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5)/5; + } else if (srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300)/50 + 50; + } else { + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_timer_poll_retransmit); + } + + if (srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit/5; + } else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300)/50 + 51; + } else { + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + RC.config_file_name, i, srb1_timer_status_prohibit); + } + + switch (srb1_timer_reordering) { + case 0: + rrc->srb1_timer_reordering = T_Reordering_ms0; + break; + + case 5: + rrc->srb1_timer_reordering = T_Reordering_ms5; + break; + + case 10: + rrc->srb1_timer_reordering = T_Reordering_ms10; + break; + + case 15: + rrc->srb1_timer_reordering = T_Reordering_ms15; + break; + + case 20: + rrc->srb1_timer_reordering = T_Reordering_ms20; + break; + + case 25: + rrc->srb1_timer_reordering = T_Reordering_ms25; + break; + + case 30: + rrc->srb1_timer_reordering = T_Reordering_ms30; + break; + + case 35: + rrc->srb1_timer_reordering = T_Reordering_ms35; + break; + + case 40: + rrc->srb1_timer_reordering = T_Reordering_ms40; + break; + + case 45: + rrc->srb1_timer_reordering = T_Reordering_ms45; + break; + + case 50: + rrc->srb1_timer_reordering = T_Reordering_ms50; + break; + + case 55: + rrc->srb1_timer_reordering = T_Reordering_ms55; + break; + + case 60: + rrc->srb1_timer_reordering = T_Reordering_ms60; + break; + + case 65: + rrc->srb1_timer_reordering = T_Reordering_ms65; + break; + + case 70: + rrc->srb1_timer_reordering = T_Reordering_ms70; + break; + + case 75: + rrc->srb1_timer_reordering = T_Reordering_ms75; + break; + + case 80: + rrc->srb1_timer_reordering = T_Reordering_ms80; + break; + + case 85: + rrc->srb1_timer_reordering = T_Reordering_ms85; + break; + + case 90: + rrc->srb1_timer_reordering = T_Reordering_ms90; + break; + + case 95: + rrc->srb1_timer_reordering = T_Reordering_ms95; + break; + + case 100: + rrc->srb1_timer_reordering = T_Reordering_ms100; + break; + + case 110: + rrc->srb1_timer_reordering = T_Reordering_ms110; + break; + + case 120: + rrc->srb1_timer_reordering = T_Reordering_ms120; + break; + + case 130: + rrc->srb1_timer_reordering = T_Reordering_ms130; + break; + + case 140: + rrc->srb1_timer_reordering = T_Reordering_ms140; + break; + + case 150: + rrc->srb1_timer_reordering = T_Reordering_ms150; + break; + + case 160: + rrc->srb1_timer_reordering = T_Reordering_ms160; + break; + + case 170: + rrc->srb1_timer_reordering = T_Reordering_ms170; + break; + + case 180: + rrc->srb1_timer_reordering = T_Reordering_ms180; + break; + + case 190: + rrc->srb1_timer_reordering = T_Reordering_ms190; + break; + + case 200: + rrc->srb1_timer_reordering = T_Reordering_ms200; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", + RC.config_file_name, i, srb1_timer_reordering); + } + + } else { + rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; + rrc->srb1_timer_reordering = T_Reordering_ms35; + rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; + rrc->srb1_poll_pdu = PollPDU_p4; + rrc->srb1_poll_byte = PollByte_kBinfinity; + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + } + /* + // Network Controller + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_CONTROLLER_CONFIG); + + if (subsetting != NULL) { + if ( ( + config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_INTERFACE_NAME, + (const char **)&flexran_agent_interface_name) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_IPV4_ADDRESS, + (const char **)&flexran_agent_ipv4_address) + && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_PORT, + &flexran_agent_port) + && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_FLEXRAN_AGENT_CACHE, + (const char **)&flexran_agent_cache) + ) + ) { + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_interface_name = strdup(flexran_agent_interface_name); + cidr = flexran_agent_ipv4_address; + address = strtok(cidr, "/"); + //enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address = strdup(address); + if (address) { + IPV4_STR_ADDR_TO_INT_NWBO (address, enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_ipv4_address, "BAD IP ADDRESS FORMAT FOR eNB Agent !\n" ); + } + + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_port = flexran_agent_port; + enb_properties_loc.properties[enb_properties_loc_index]->flexran_agent_cache = strdup(flexran_agent_cache); + } + } + */ + + /* + // OTG _CONFIG + setting_otg = config_setting_get_member (setting_enb, ENB_CONF_STRING_OTG_CONFIG); + + if (setting_otg != NULL) { + num_otg_elements = config_setting_length(setting_otg); + printf("num otg elements %d \n", num_otg_elements); + enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements = 0; + + for (j = 0; j < num_otg_elements; j++) { + subsetting_otg=config_setting_get_elem(setting_otg, j); + + if (config_setting_lookup_int(subsetting_otg, ENB_CONF_STRING_OTG_UE_ID, &otg_ue_id)) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = otg_ue_id; + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_ue_id[j] = 1; + } + + if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_APP_TYPE, (const char **)&otg_app_type)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = map_str_to_int(otg_app_type_names,otg_app_type))== -1) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = BCBR; + } + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_app_type[j] = NO_PREDEFINED_TRAFFIC; // 0 + } + + if (config_setting_lookup_string(subsetting_otg, ENB_CONF_STRING_OTG_BG_TRAFFIC, (const char **)&otg_bg_traffic)) { + + if ((enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = map_str_to_int(switch_names,otg_bg_traffic)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j]=0; + } + } else { + enb_properties_loc.properties[enb_properties_loc_index]->otg_bg_traffic[j] = 0; + printf("otg bg %s\n", otg_bg_traffic); + } + + enb_properties_loc.properties[enb_properties_loc_index]->num_otg_elements+=1; + + } + } + + // log_config + subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_LOG_CONFIG); + + if (subsetting != NULL) { + // global + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_LEVEL, (const char **) &glog_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_level = map_str_to_int(log_level_names, glog_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + } + + //printf( "\tGlobal log level :\t%s->%d\n",glog_level, enb_properties_loc.properties[enb_properties_loc_index]->glog_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GLOBAL_LOG_VERBOSITY,(const char **) &glog_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = map_str_to_int(log_verbosity_names, glog_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + } + + //printf( "\tGlobal log verbosity:\t%s->%d\n",glog_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + } + + // HW + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_LEVEL, (const char **) &hw_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = map_str_to_int(log_level_names,hw_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + } + + //printf( "\tHW log level :\t%s->%d\n",hw_log_level,enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_HW_LOG_VERBOSITY, (const char **) &hw_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = map_str_to_int(log_verbosity_names,hw_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + } + + //printf( "\tHW log verbosity:\t%s->%d\n",hw_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + } + + // phy + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_LEVEL,(const char **) &phy_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = map_str_to_int(log_level_names,phy_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + } + + //printf( "\tPHY log level :\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PHY_LOG_VERBOSITY, (const char **)&phy_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = map_str_to_int(log_verbosity_names,phy_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + } + + //printf( "\tPHY log verbosity:\t%s->%d\n",phy_log_level,enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + } + + //mac + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_LEVEL, (const char **)&mac_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = map_str_to_int(log_level_names,mac_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + } + + //printf( "\tMAC log level :\t%s->%d\n",mac_log_level,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_MAC_LOG_VERBOSITY, (const char **)&mac_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = map_str_to_int(log_verbosity_names,mac_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + } + + //printf( "\tMAC log verbosity:\t%s->%d\n",mac_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + } + + //rlc + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_LEVEL, (const char **)&rlc_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = map_str_to_int(log_level_names,rlc_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + } + + //printf( "\tRLC log level :\t%s->%d\n",rlc_log_level, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RLC_LOG_VERBOSITY, (const char **)&rlc_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = map_str_to_int(log_verbosity_names,rlc_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + } + + //printf( "\tRLC log verbosity:\t%s->%d\n",rlc_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + } + + //pdcp + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_LEVEL, (const char **)&pdcp_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = map_str_to_int(log_level_names,pdcp_log_level)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + } + + //printf( "\tPDCP log level :\t%s->%d\n",pdcp_log_level, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_PDCP_LOG_VERBOSITY, (const char **)&pdcp_log_verbosity)) { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = map_str_to_int(log_verbosity_names,pdcp_log_verbosity); + //printf( "\tPDCP log verbosity:\t%s->%d\n",pdcp_log_verbosity, enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; + } + + //rrc + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_LEVEL, (const char **)&rrc_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = map_str_to_int(log_level_names,rrc_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + } + + //printf( "\tRRC log level :\t%s->%d\n",rrc_log_level,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_RRC_LOG_VERBOSITY, (const char **)&rrc_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = map_str_to_int(log_verbosity_names,rrc_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + } + + //printf( "\tRRC log verbosity:\t%s->%d\n",rrc_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_LEVEL, (const char **)>pu_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = map_str_to_int(log_level_names,gtpu_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + } + + //printf( "\tGTPU log level :\t%s->%d\n",gtpu_log_level,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_GTPU_LOG_VERBOSITY, (const char **)>pu_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = map_str_to_int(log_verbosity_names,gtpu_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + } + + //printf( "\tGTPU log verbosity:\t%s->%d\n",gtpu_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_LEVEL, (const char **)&udp_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = map_str_to_int(log_level_names,udp_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + } + + //printf( "\tUDP log level :\t%s->%d\n",udp_log_level,enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_UDP_LOG_VERBOSITY, (const char **)&udp_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = map_str_to_int(log_verbosity_names,udp_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + } + + //printf( "\tUDP log verbosity:\t%s->%d\n",udp_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_LEVEL, (const char **)&osa_log_level)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = map_str_to_int(log_level_names,osa_log_level)) == -1 ) { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + } + + //printf( "\tOSA log level :\t%s->%d\n",osa_log_level,enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + } + + if (config_setting_lookup_string(subsetting, ENB_CONFIG_STRING_OSA_LOG_VERBOSITY, (const char **)&osa_log_verbosity)) { + if ((enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = map_str_to_int(log_verbosity_names,osa_log_verbosity)) == -1) { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } + + //printf( "\tOSA log verbosity:\t%s->%d\n",osa_log_verbosity,enb_properties_loc.properties[enb_properties_loc_index]->gosa_log_verbosity); + } else { + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } + + } else { // not configuration is given + enb_properties_loc.properties[enb_properties_loc_index]->glog_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->glog_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->hw_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->phy_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->mac_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->rlc_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->pdcp_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->rrc_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->gtpu_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->udp_log_verbosity = LOG_MED; + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_level = LOG_INFO; + enb_properties_loc.properties[enb_properties_loc_index]->osa_log_verbosity = LOG_MED; + } + */ + break; + } + + } } - } -return 0; + return 0; } int RCconfig_gtpu(void ) { diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 3c186d8978..07097451a5 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -1383,11 +1383,11 @@ void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_con for (int ri=0; ri<(1<ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.aperiodic_cqi_pmi_ri_report.cc[0].ri_size); ri++) - /*ul_config_pdu->ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[ri] = + ul_config_pdu->ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.aperiodic_cqi_pmi_ri_report.cc[0].dl_cqi_pmi_size[ri] = get_dl_cqi_pmi_size_pusch(cc, tmode, 1+ri, - physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic);*/ + physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic); ul_config_pdu->ulsch_cqi_ri_pdu.cqi_ri_information.cqi_ri_information_rel9.delta_offset_cqi = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_CQI_Index; ((nfapi_ul_config_ulsch_cqi_ri_pdu*)ul_config_pdu)->cqi_ri_information.cqi_ri_information_rel9.delta_offset_ri = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_RI_Index; From 40cbafa757c11135d06625e6dbbd1498546ac126 Mon Sep 17 00:00:00 2001 From: Ahmed Elias Date: Sun, 15 Oct 2017 13:23:41 +0200 Subject: [PATCH 064/109] Reading BR parameters from configuration --- openair2/ENB_APP/enb_config.c | 2173 ++++++++++++++++++++++++++++++- openair2/ENB_APP/enb_paramdef.h | 5 +- 2 files changed, 2173 insertions(+), 5 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index f941d8a8db..b819bfd5bc 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -351,7 +351,8 @@ void RCconfig_macrlc() { "No " CONFIG_STRING_MACRLC_LIST " configuration found"); } } - + +#include int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int num_enbs = 0; @@ -448,7 +449,88 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) int32_t my_int; + int si_Narrowband_r13 = 0; + int si_TBS_r13 = 0; + int systemInfoValueTagSi_r13 = 0; + + int firstPreamble_r13 = 0; + int lastPreamble_r13 = 0; + const char* ra_ResponseWindowSize_r13 = NULL; + const char* mac_ContentionResolutionTimer_r13 = NULL; + const char* rar_HoppingConfig_r13 = NULL; + int rsrp_range_br = 0; + int prach_config_index_br = 0; + int prach_freq_offset_br = 0; + int prach_StartingSubframe_r13 = 0; + const char* maxNumPreambleAttemptCE_r13 = NULL; + const char* numRepetitionPerPreambleAttempt_r13 = NULL; + const char* mpdcch_NumRepetition_RA_r13 = NULL; + const char* prach_HoppingConfig_r13 = NULL; + int maxavailablenarrowband = 0; + int pucch_info_value = 0; + + int paging_narrowbands_r13 = 0; + const char* mpdcch_numrepetition_paging_r13 = NULL; + const char* nb_v1310 = NULL; + + + const char* pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + + const char* sib2_mpdcch_pdsch_hoppingNB_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeA_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeA_r13_val = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeB_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeB_r13_val = NULL; + + const char* sib2_interval_ULHoppingConfigCommonModeA_r13 = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeA_r13_val = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeB_r13 = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeB_r13_val = NULL; + libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + + const char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + const char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + + const char* pusch_maxNumRepetitionCEmodeA_r13 = 0; + const char* pusch_maxNumRepetitionCEmodeB_r13 = 0; + int pusch_HoppingOffset_v1310 = 0; + + int hyperSFN_r13 = 0; + int eDRX_Allowed_r13 = 0; + int q_RxLevMinCE_r13 = 0; + int q_QualMinRSRQ_CE_r13 = 0; + const char* si_WindowLength_BR_r13 = NULL; + const char* si_RepetitionPattern_r13 = NULL; + int startSymbolBR_r13 = 0; + const char* si_HoppingConfigCommon_r13 = NULL; + const char* si_ValidityTime_r13 = NULL; + const char* mpdcch_pdsch_HoppingNB_r13 = NULL; + int interval_DLHoppingConfigCommonModeA_r13_val = 0; + int interval_DLHoppingConfigCommonModeB_r13_val = 0; + int mpdcch_pdsch_HoppingOffset_r13 = 0; + const char* preambleTransMax_CE_r13 = NULL; + const char* rach_numberOfRA_Preambles_br = NULL; + const char* mpdcch_startSF_CSS_RA_r13_val = NULL; + int prach_HoppingOffset_r13 = 0; + int schedulingInfoSIB1_BR_r13 = 0; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; + + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13 = NULL; + + printf("[KOGO][TESTING] Start of RCConfig_RCC"); + getchar(); @@ -462,7 +544,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) paramdef_t CCsParams[] = CCPARAMS_DESC; paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; - //paramdef_t brParams[] = BRPARAMS_DESC; + paramdef_t brParams[] = BRPARAMS_DESC; //paramdef_t siInfoBRParams[] = SI_INFO_BR_DESC; //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; @@ -594,6 +676,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) sprintf(enbpath,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k), config_getlist( &CCsParamList,NULL,0,enbpath); + printf("[KOGO][TESTING]: CC List count: %d \n", CCsParamList.numelt); + getchar(); LOG_I(RRC,"num component carriers %d \n", num_component_carriers); if ( CCsParamList.numelt> 0) { @@ -614,7 +698,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) //printf("Component carrier %d\n",component_carrier); - + printf("[KOGO][TESTING]: tdd_config: %d \n",tdd_config); + getchar(); nb_cc++; RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; @@ -1679,7 +1764,2089 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) +#ifdef Rel14 + char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(brparamspath,"%s.%s",ccspath,ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS); + config_get( brParams,sizeof(brParams)/sizeof(paramdef_t),brparamspath); + /*setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); + + if (setting_br13 != NULL) {*/ + int cnt = 0; + + + /*if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) { + AssertFatal(0, "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", RC.config_file_name, i); + } else {*/ + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; + //} + + /*system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); + int num_system_info; + if (system_info_value_tag_SI_list != NULL) + { + num_system_info = config_setting_length(system_info_value_tag_SI_list); + for (sys_info_idx = 0; sys_info_idx < num_system_info; ++sys_info_idx) + { + system_info_value_tag_SI = config_setting_get_elem(system_info_value_tag_SI_list, sys_info_idx); + if ( !(config_setting_lookup_int(system_info_value_tag_SI, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_SI_R13, &systemInfoValueTagSi_r13)) ) + { + AssertFatal (0, "Failed to parse eNB configuration file %s, system info value tag %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).systemInfoValueTagSi_r13[j][sys_info_idx] = systemInfoValueTagSi_r13; + } + } + else + { + num_system_info = 0; + } + RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; + if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + + } + else + RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; + + } + else + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) + { + printf("Enabling BR access SI scheduling parameters\n"); + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + + + + if (!strcmp(si_WindowLength_BR_r13, "ms20")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; + } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; + } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; + } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; + } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; + } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; + } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; + } else if (!strcmp(si_WindowLength_BR_r13, "spare")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; + } + + + if (!strcmp(si_RepetitionPattern_r13, "everyRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; + } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; + } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; + } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; + } + + + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + if (!strcmp(si_HoppingConfigCommon_r13, "off")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; + } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; + } + + + printf("DEBUGGING][KOGO][CHAR*]: window length: %s - %d\n", si_WindowLength_BR_r13, RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j]); + printf("DEBUGGING][KOGO][CHAR*]: repetition pattern: %s - %d\n", si_RepetitionPattern_r13, RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j]); + printf("DEBUGGING][KOGO][CHAR*]: hopping config common: %s - %d\n", si_HoppingConfigCommon_r13, RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j]); + + scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); + int num_scheduling_info = config_setting_length(scheduling_info_br_list); + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; + + for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) + { + scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); + if (!( + config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) + && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) + ) + ){ + AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; + } + + bool fdd_downlink_exist = config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13); + if (fdd_downlink_exist) + { + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + else + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + + config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13); + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL; + } + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + if (!strcmp(si_ValidityTime_r13, "true")) { + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", + RC.config_file_name, i); + } + printf("DEBUGGING][KOGO][CHAR*]: si_ValidityTime_r13: %s - %d\n", si_ValidityTime_r13, *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; + } + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeA_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeA_r13_val) || + !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB, &interval_DLHoppingConfigCommonModeB_r13) || + !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_INTERVAL_DLHOPPINGCONFIGCOMMONMODEB_VAL, &interval_DLHoppingConfigCommonModeB_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", + RC.config_file_name, i); + + } + + + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + + + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; + } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", + RC.config_file_name, i); + } + } + else { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + } + + // SIB23 parameters --------------------------------------------------------------------------------------------------------------------------- + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); + if (!strcmp(preambleTransMax_CE_r13, "n3")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 0; + } else if (!strcmp(preambleTransMax_CE_r13, "n4")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 1; + } else if (!strcmp(preambleTransMax_CE_r13, "n5")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 2; + } else if (!strcmp(preambleTransMax_CE_r13, "n6")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 3; + } else if (!strcmp(preambleTransMax_CE_r13, "n7")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 4; + } else if (!strcmp(preambleTransMax_CE_r13, "n8")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 5; + } else if (!strcmp(preambleTransMax_CE_r13, "n10")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 6; + } else if (!strcmp(preambleTransMax_CE_r13, "n20")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 7; + } else if (!strcmp(preambleTransMax_CE_r13, "n50")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 8; + } else if (!strcmp(preambleTransMax_CE_r13, "n100")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 9; + } else if (!strcmp(preambleTransMax_CE_r13, "n200")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 10; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d preambleTransMax_CE_r13 unknown value!\n", + RC.config_file_name, i); + } + } + else + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; + } + + printf("DEBUGGING][KOGO][CHAR*]: preambleTransMax_CE_r13: %s - %d\n", preambleTransMax_CE_r13, *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13); + + rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); + int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; + int rach_info_level_idx; + for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) + { + rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); + if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) + && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) + && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) + && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) + && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; + + if (!strcmp(ra_ResponseWindowSize_r13, "sf20")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 0; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf50")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 1; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf80")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 2; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf120")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 3; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf180")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 4; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf240")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 5; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf320")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 6; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf400")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, ra_ResponseWindowSize_r13 unknown value!\n", + RC.config_file_name); + } + + if (!strcmp(mac_ContentionResolutionTimer_r13, "sf80")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 0; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf100")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 1; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf120")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 2; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf160")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 3; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf200")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 4; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf240")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 5; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf480")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 6; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf960")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, mac_ContentionResolutionTimer_r13 unknown value!\n", + RC.config_file_name); + } + + if (!strcmp(rar_HoppingConfig_r13, "on")) { + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 0; + } else if (!strcmp(rar_HoppingConfig_r13, "off")) { + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rar_HoppingConfig_r13 unknown value!\n", + RC.config_file_name); + } + + } // for + + printf("DEBUGGING][KOGO][CHAR*]: ra_ResponseWindowSize_r13: %s - %d\n", preambleTransMax_CE_r13, RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][0]); + printf("DEBUGGING][KOGO][CHAR*]: mac_ContentionResolutionTimer_r13: %s - %d\n", mac_ContentionResolutionTimer_r13, RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][0]); + printf("DEBUGGING][KOGO][CHAR*]: rar_HoppingConfig_r13: %s - %d\n", rar_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][0]); + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j]); + } + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r192")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 0; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r256")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 1; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r384")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 2; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r512")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 3; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r768")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 4; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r1024")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 5; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r1536")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 6; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r2048")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeB_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeB_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeB_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j]); + } + + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j]); + } + + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13)) { + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r192")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 0; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r256")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 1; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r384")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 2; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r512")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 3; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r768")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 4; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r1024")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 5; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r1536")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 6; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r2048")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeB_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeB_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeB_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j]); + } + + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310, &pusch_HoppingOffset_v1310)) { + RRC_CONFIGURATION_REQ(msg_p).pusch_HoppingOffset_v1310[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).pusch_HoppingOffset_v1310[j] = pusch_HoppingOffset_v1310; + printf("DEBUGGING][KOGO][CHAR*]: pusch_HoppingOffset_v1310 %d\n", *RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j]); + } + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); + ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level0_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;; + } + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = CALLOC(1, sizeof(long)); + ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level1_r13 unknown value!\n", + RC.config_file_name); + + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level1_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = NULL;; + } + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = CALLOC(1, sizeof(long)); + ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n16")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n32")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level2_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level2_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level2_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = NULL; + } + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = CALLOC(1, sizeof(long)); + ++cnt; + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n16")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n32")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level3_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level3_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level3_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = NULL;; + } + + + rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); + int num_rsrp_list = config_setting_length(rsrp_range_list); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; + int rsrp_range_idx; + for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) + { + rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); + if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rsrp_range %d!\n", + RC.config_file_name, nb_cc++); + } + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; + printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br); + } + + prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); + int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; + int prach_parameters_index; + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index) + { + prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index); + if (! (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br) + && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br) + && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13) + && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13) + && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) ) + ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13); + + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + + if (config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + if (!strcmp(maxNumPreambleAttemptCE_r13, "n3")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 0; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n5")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 2; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n6")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 3; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n7")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 4; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 5; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n10")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 6; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "spare1")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, maxNumPreambleAttemptCE_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + printf("[DEBUGGING][KOGO][CHAR*]: maxNumPreambleAttemptCE_r13: %s - %d\n", maxNumPreambleAttemptCE_r13, *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index]); + } + else + { + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; + } + + + + if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 0; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 2; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 3; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n16")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 4; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n32")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 5; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n64")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 6; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n128")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, numRepetitionPerPreambleAttempt_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + printf("[DEBUGGING][KOGO][CHAR*]: numRepetitionPerPreambleAttempt_r13: %s - %d\n", numRepetitionPerPreambleAttempt_r13, RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index]); + + + if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 0; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r4")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 2; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r8")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 3; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r16")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 4; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r32")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 5; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r64")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 6; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r128")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 7; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r256")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 8; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r512")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 9; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1024")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 10; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2048")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 11; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare4")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 12; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare3")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 13; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare2")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 14; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare1")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 15; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, mpdcch_NumRepetition_RA_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO][CHAR*]: mpdcch_NumRepetition_RA_r13: %s - %d\n", mpdcch_NumRepetition_RA_r13, RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index]); + + if (!strcmp(prach_HoppingConfig_r13, "off")) { + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 1; + } else if (!strcmp(prach_HoppingConfig_r13, "on")) { + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 0; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_HoppingConfig_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO][CHAR*]: prach_HoppingConfig_r13: %s - %d\n", prach_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index]); + + if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; + } + else + { + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; + } + + + max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); + int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list); + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prach_parameters_index] = num_available_narrow_bands; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++) + { + max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index); + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band); + } + + } + + + n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST); + + int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list); + AssertFatal(cnt == num_pucch_an_info, "Num Repetition Count should be equal to pucch info count !!!"); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = num_pucch_an_info; + int pucch_info_idx; + for (pucch_info_idx = 0; pucch_info_idx < num_pucch_an_info; ++pucch_info_idx) + { + n1_pucch_AN_info_r13 = config_setting_get_elem(n1_pucch_AN_info_r13_list, pucch_info_idx); + if (! (config_setting_lookup_int(n1_pucch_AN_info_r13, ENB_CONFIG_STRING_PUCCH_INFO_VALUE, &pucch_info_value)) ) + { + AssertFatal (0, + "Failed to parse eNB configuration file %s, n1_pucch_AN_info_list_r13_list %d!\n", + RC.config_file_name, nb_cc++); + } + + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value; + } + + puts("---------------------------------------------------------------------------------------------------"); + + setting_freq_hoppingParameters_r13 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13); + if (setting_freq_hoppingParameters_r13 != NULL) + { + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(sib2_mpdcch_pdsch_hoppingNB_r13, "nb2")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = 0; + } else if (!strcmp(sib2_mpdcch_pdsch_hoppingNB_r13, "nb4")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_mpdcch_pdsch_hoppingNB_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_mpdcch_pdsch_hoppingNB_r13: %s - %d\n", sib2_mpdcch_pdsch_hoppingNB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = NULL; + } + + + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val); + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = 0; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j]); + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j]); + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = NULL; + } + + + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_DLHoppingConfigCommonModeB_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long)); + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val); + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = 0; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int16")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = 1; + if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int40")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeB_r13: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j]); + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeB_r13_val: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeB_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j]); + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = NULL; + } + + + + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val); + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = NULL; + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j]); + + + + if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long)); + config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val); + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = 0; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int16")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int40")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeB_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeB_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j]); + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = NULL; + } + printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeB_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeB_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j]); + + + + + if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, &sib2_mpdcch_pdsch_hoppingOffset_r13)) + { + + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = CALLOC(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = sib2_mpdcch_pdsch_hoppingOffset_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingOffset_r13[j] = NULL; + } + + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = FALSE; + } + + + // Rel8 RadioResourceConfigCommon Parameters + if (!(config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FRAME_TYPE, &frame_type) + + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ROOT, &prach_root) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, &prach_config_index) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_HIGH_SPEED, &prach_high_speed) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, &prach_zero_correlation) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, &prach_freq_offset) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_PB, &pdsch_p_b) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_N_SB, &pusch_n_SB) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, &pusch_hoppingMode) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, &pusch_hoppingOffset) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, &pusch_enable64QAM) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, &pusch_groupHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, &pusch_groupAssignment) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, &pusch_sequenceHoppingEnabled) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_NDMRS1, &pusch_nDMRS1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_DURATION, &phich_duration) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PHICH_RESOURCE, &phich_resource) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ENABLE, &srs_enable) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, &pusch_p0_Nominal) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_ALPHA, &pusch_alpha) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, &pucch_p0_Nominal) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, &msg3_delta_Preamble) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, &pucch_deltaF_Format1) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, &pucch_deltaF_Format1b) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, &rach_preambleTransMax) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, &pcch_defaultPagingCycle) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB, &pcch_nB) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, &bcch_modificationPeriodCoeff) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300, &ue_TimersAndConstants_t300) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301, &ue_TimersAndConstants_t301) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310, &ue_TimersAndConstants_t310) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311, &ue_TimersAndConstants_t311) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310, &ue_TimersAndConstants_n310) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311, &ue_TimersAndConstants_n311) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, &ue_TransmissionMode) + )) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, Component Carrier %d!\n", + RC.config_file_name, nb_cc++); + continue; // FIXME this prevents segfaults below, not sure what happens after function exit + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; + + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; + + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; + + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; + + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts) + )) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig; + + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig; + + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); + + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); + + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); + } + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; + + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; + + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; + + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); + + + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); + + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); + + + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); + + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); + + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); + + + + + if (!strcmp(rach_numberOfRA_Preambles, "n4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (4 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (8 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (12 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (16 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (20 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (24 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (28 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (32 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (36 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (40 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (44 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (48 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (52 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (56 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (60 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (64 / 4) - 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); + + } + + + printf("[DEBUGGING][KOGO][CHAR*] : rach_numberOfRA_Preambles_br = %d\n", RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles); + +// RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (rach_numberOfRA_Preambles_br/ 4) - 1; + + + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + + if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA) + && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA) + && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB))) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + +// if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) +// AssertFatal (0, +// "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", +// RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + + + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; + + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; + + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } + + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } + + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); + + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; + + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); + + + + switch (rach_preambleTransMax) { + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; + break; + + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + if (!strcmp(pcch_defaultPagingCycle, "rf32")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; + } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; + } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + } + + printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle); + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + + if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", + RC.config_file_name, i, ue_TimersAndConstants_t300); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300); + + if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", + RC.config_file_name, i, ue_TimersAndConstants_t301); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301); + + if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", + RC.config_file_name, i, ue_TimersAndConstants_t310); + } + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310); + + if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", + RC.config_file_name, i, ue_TimersAndConstants_t311); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311); + + + if (!strcmp(ue_TimersAndConstants_n310, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; + } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; + } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; + } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; + } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; + } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; + } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; + } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", + RC.config_file_name, i, ue_TimersAndConstants_n310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310); + + + if (!strcmp(ue_TimersAndConstants_n311, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; + } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; + } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; + } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; + } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; + } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; + } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; + } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", + RC.config_file_name, i, ue_TimersAndConstants_n311); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311); + + + if (!strcmp(ue_TransmissionMode, "tm1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; + } else if (!strcmp(ue_TransmissionMode, "tm2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; + } else if (!strcmp(ue_TransmissionMode, "tm3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; + } else if (!strcmp(ue_TransmissionMode, "tm4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; + } else if (!strcmp(ue_TransmissionMode, "tm5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; + } else if (!strcmp(ue_TransmissionMode, "tm6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; + } else if (!strcmp(ue_TransmissionMode, "tm7")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", + RC.config_file_name, i, ue_TransmissionMode); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode); + + setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); + if (setting_pcch_config_v1310 != NULL) + { + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; + if (!config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, &paging_narrowbands_r13) + || !config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13) + ) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n", + RC.config_file_name, i); + + RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; + + + if (!strcmp(mpdcch_numrepetition_paging_r13, "r1")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 0; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r2")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 1; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r4")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 2; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r8")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 3; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r16")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 4; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r32")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 5; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r64")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 6; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r128")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 7; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r256")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 8; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + RC.config_file_name); + } + + printf("[DEBUGGING][KOGO][CHAR*] mpdcch_numrepetition_paging_r13: %s - %d\n", mpdcch_numrepetition_paging_r13, RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j]); + + if (config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310)) + { + RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); + if (!strcmp(nb_v1310, "one64thT")) { + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; + } else if (!strcmp(nb_v1310, "one128thT")) { + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; + } else if (!strcmp(nb_v1310, "one256thT")) { + *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + RC.config_file_name); + } + printf("[DEBUGGING][KOGO][CHAR*] nb_v1310: %s - %d\n", nb_v1310, *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j]); + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = NULL; + } + + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = FALSE; + } + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t)); + *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL; + + if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13)) + { + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= eDRX_Allowed_r13; + } + else + RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL; + + + bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13); + if (fdd_uplink_exist) + { + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + *RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13; + } + else + { + RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = NULL;; + } + + } + + else + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; + + + /////SIB2 Parameters + + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + + if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) + { + if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) + { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", + RC.config_file_name, i); + + } + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + } else { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + } + + if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 0; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 1; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 2; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 3; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 4; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 5; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 6; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "10")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 7; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n", + RC.config_file_name, i); + } + printf("[DEBUGGING][KOGO][CHAR*] mpdcch_startSF_CSS_RA_r13_val %s - %d\n", mpdcch_startSF_CSS_RA_r13_val, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val); + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; + } + + //if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) + //{ + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + + //} + //else + //{ + // RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; + //} + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; + } + } + else + { + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0; + }*/ + + +#endif //sprintf(brpath,"%s.%s.[%i].%s",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,ENB_CONFIG_STRING_BR_PARAMETERS,j); //config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index 02132a3054..ee40c38731 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -295,6 +295,7 @@ static int DEFENBS[] = {0}; /* component carriers configuration section name */ #define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers" +#define ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS "br_parameters" #define ENB_CONFIG_STRING_SCHEDULING_INFO_LIST "scheduling_info_br" #define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" @@ -526,12 +527,12 @@ static int DEFENBS[] = {0}; {ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_, NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ From 06e9aacc6410a461653ba6e311fd6cdbda1812ce Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Sun, 15 Oct 2017 15:19:04 +0200 Subject: [PATCH 065/109] fixed some br parameters in the macro definition --- openair2/ENB_APP/enb_config.c | 2301 +++++++++-------- openair2/ENB_APP/enb_paramdef.h | 44 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 4 +- 3 files changed, 1204 insertions(+), 1145 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index b819bfd5bc..722e80e4b5 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -310,146 +310,163 @@ void RCconfig_macrlc() { if ( MacRLC_ParamList.numelt > 0) { - RC.nb_macrlc_inst=MacRLC_ParamList.numelt; - mac_top_init_eNB(); - for (j=0;jeth_params_n.local_if_name = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_IF_NAME_IDX].strptr)); - RC.mac[j]->eth_params_n.my_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_ADDRESS_IDX].strptr)); - RC.mac[j]->eth_params_n.remote_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_N_ADDRESS_IDX].strptr)); - RC.mac[j]->eth_params_n.my_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_PORTC_IDX].iptr); - RC.mac[j]->eth_params_n.remote_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_N_PORTC_IDX].iptr); - RC.mac[j]->eth_params_n.my_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_PORTD_IDX].iptr); - RC.mac[j]->eth_params_n.remote_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_N_PORTD_IDX].iptr);; - RC.mac[j]->eth_params_n.transp_preference = ETH_UDP_MODE; - } else { // other midhaul - AssertFatal(1==0,"MACRLC %d: %s unknown northbound midhaul\n",j, *(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_N_PREFERENCE_IDX].strptr)); - } + if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_N_PREFERENCE_IDX].strptr), "local_RRC") == 0) { + // check number of instances is same as RRC/PDCP - if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_S_PREFERENCE_IDX].strptr), "local_L1") == 0) { + } else if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_N_PREFERENCE_IDX].strptr), "cudu") == 0) { + RC.mac[j]->eth_params_n.local_if_name = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_IF_NAME_IDX].strptr)); + RC.mac[j]->eth_params_n.my_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_ADDRESS_IDX].strptr)); + RC.mac[j]->eth_params_n.remote_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_N_ADDRESS_IDX].strptr)); + RC.mac[j]->eth_params_n.my_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_PORTC_IDX].iptr); + RC.mac[j]->eth_params_n.remote_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_N_PORTC_IDX].iptr); + RC.mac[j]->eth_params_n.my_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_N_PORTD_IDX].iptr); + RC.mac[j]->eth_params_n.remote_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_N_PORTD_IDX].iptr);; + RC.mac[j]->eth_params_n.transp_preference = ETH_UDP_MODE; + } else { // other midhaul + AssertFatal(1==0,"MACRLC %d: %s unknown northbound midhaul\n",j, *(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_N_PREFERENCE_IDX].strptr)); + } - - } else if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_S_PREFERENCE_IDX].strptr), "nfapi") == 0) { - RC.mac[j]->eth_params_s.local_if_name = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_IF_NAME_IDX].strptr)); - RC.mac[j]->eth_params_s.my_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_ADDRESS_IDX].strptr)); - RC.mac[j]->eth_params_s.remote_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_ADDRESS_IDX].strptr)); - RC.mac[j]->eth_params_s.my_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_PORTC_IDX].iptr); - RC.mac[j]->eth_params_s.remote_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTC_IDX].iptr); - RC.mac[j]->eth_params_s.my_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_PORTD_IDX].iptr); - RC.mac[j]->eth_params_s.remote_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTD_IDX].iptr); - RC.mac[j]->eth_params_s.transp_preference = ETH_UDP_MODE; - } else { // other midhaul - AssertFatal(1==0,"MACRLC %d: %s unknown southbound midhaul\n",j,*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_S_PREFERENCE_IDX].strptr)); - } - }// j=0..num_inst + if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_S_PREFERENCE_IDX].strptr), "local_L1") == 0) { + + + } else if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_S_PREFERENCE_IDX].strptr), "nfapi") == 0) { + RC.mac[j]->eth_params_s.local_if_name = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_IF_NAME_IDX].strptr)); + RC.mac[j]->eth_params_s.my_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_ADDRESS_IDX].strptr)); + RC.mac[j]->eth_params_s.remote_addr = strdup(*(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_ADDRESS_IDX].strptr)); + RC.mac[j]->eth_params_s.my_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_PORTC_IDX].iptr); + RC.mac[j]->eth_params_s.remote_portc = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTC_IDX].iptr); + RC.mac[j]->eth_params_s.my_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_LOCAL_S_PORTD_IDX].iptr); + RC.mac[j]->eth_params_s.remote_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTD_IDX].iptr); + RC.mac[j]->eth_params_s.transp_preference = ETH_UDP_MODE; + } else { // other midhaul + AssertFatal(1==0,"MACRLC %d: %s unknown southbound midhaul\n",j,*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_S_PREFERENCE_IDX].strptr)); + } + }// j=0..num_inst } else {// MacRLC_ParamList.numelt > 0 - AssertFatal (0, - "No " CONFIG_STRING_MACRLC_LIST " configuration found"); + AssertFatal (0, + "No " CONFIG_STRING_MACRLC_LIST " configuration found"); } } -#include int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int num_enbs = 0; int num_component_carriers = 0; - int j,k = 0; - int32_t enb_id = 0; + int k = 0; + int32_t enb_id = 0; int nb_cc = 0; - char* frame_type = NULL; - int32_t tdd_config = 0; - int32_t tdd_config_s = 0; + int parse_errors = 0; - char* prefix_type = NULL; - char* pbch_repetition = NULL; + int num_mme_address = 0; + int num_otg_elements = 0; - int32_t eutra_band = 0; - long long int downlink_frequency = 0; - int32_t uplink_frequency_offset = 0; - int32_t Nid_cell = 0; - int32_t Nid_cell_mbsfn = 0; - int32_t N_RB_DL = 0; - int32_t nb_antenna_ports = 0; - - int32_t prach_root = 0; - int32_t prach_config_index = 0; - char* prach_high_speed = NULL; - int32_t prach_zero_correlation = 0; - int32_t prach_freq_offset = 0; - int32_t pucch_delta_shift = 0; - int32_t pucch_nRB_CQI = 0; - int32_t pucch_nCS_AN = 0; - //#if !defined(Rel10) && !defined(Rel14) - int32_t pucch_n1_AN = 0; - //#endif - int32_t pdsch_referenceSignalPower = 0; - int32_t pdsch_p_b = 0; - int32_t pusch_n_SB = 0; - char * pusch_hoppingMode = NULL; - int32_t pusch_hoppingOffset = 0; - char* pusch_enable64QAM = NULL; - char* pusch_groupHoppingEnabled = NULL; - int32_t pusch_groupAssignment = 0; - char* pusch_sequenceHoppingEnabled = NULL; - int32_t pusch_nDMRS1 = 0; - char* phich_duration = NULL; - char* phich_resource = NULL; - char* srs_enable = NULL; - int32_t srs_BandwidthConfig = 0; - int32_t srs_SubframeConfig = 0; - char* srs_ackNackST = NULL; - char* srs_MaxUpPts = NULL; - int32_t pusch_p0_Nominal = 0; - char* pusch_alpha = NULL; - int32_t pucch_p0_Nominal = 0; - int32_t msg3_delta_Preamble = 0; - //int32_t ul_CyclicPrefixLength = 0; - char* pucch_deltaF_Format1 = NULL; - //const char* pucch_deltaF_Format1a = NULL; - char* pucch_deltaF_Format1b = NULL; - char* pucch_deltaF_Format2 = NULL; - char* pucch_deltaF_Format2a = NULL; - char* pucch_deltaF_Format2b = NULL; - int32_t rach_numberOfRA_Preambles = 0; - char* rach_preamblesGroupAConfig = NULL; - int32_t rach_sizeOfRA_PreamblesGroupA = 0; - int32_t rach_messageSizeGroupA = 0; - char* rach_messagePowerOffsetGroupB = NULL; - int32_t rach_powerRampingStep = 0; - int32_t rach_preambleInitialReceivedTargetPower = 0; - int32_t rach_preambleTransMax = 0; - int32_t rach_raResponseWindowSize = 0; - int32_t rach_macContentionResolutionTimer = 0; - int32_t rach_maxHARQ_Msg3Tx = 0; - int32_t pcch_defaultPagingCycle = 0; - char* pcch_nB = NULL; - int32_t bcch_modificationPeriodCoeff = 0; - int32_t ue_TimersAndConstants_t300 = 0; - int32_t ue_TimersAndConstants_t301 = 0; - int32_t ue_TimersAndConstants_t310 = 0; - int32_t ue_TimersAndConstants_t311 = 0; - int32_t ue_TimersAndConstants_n310 = 0; - int32_t ue_TimersAndConstants_n311 = 0; - int32_t ue_TransmissionMode = 0; + int j = 0; + int sched_info_idx = 0; + int sys_info_idx = 0; - int32_t srb1_timer_poll_retransmit = 0; - int32_t srb1_timer_reordering = 0; - int32_t srb1_timer_status_prohibit = 0; - int32_t srb1_poll_pdu = 0; - int32_t srb1_poll_byte = 0; - int32_t srb1_max_retx_threshold = 0; + char* if_name_s = NULL; + char* ipv4_s = NULL; + char* ipv4_s_remote = NULL; - int32_t my_int; + char* tr_s_preference = NULL; + int local_s_portc = 0; + int remote_s_portc = 0; + int local_s_portd = 0; + int remote_s_portd = 0; - int si_Narrowband_r13 = 0; + const char* cell_type = NULL; + const char* tac = 0; + const char* enb_name = NULL; + const char* mcc = 0; + const char* mnc = 0; + char* frame_type = NULL; + int tdd_config = 0; + int tdd_config_s = 0; + const char* prefix_type = NULL; + const char* pbch_repetition = NULL; + int eutra_band = 0; + long long int downlink_frequency = 0; + int uplink_frequency_offset = 0; + int Nid_cell = 0; + int Nid_cell_mbsfn = 0; + int N_RB_DL = 0; + int nb_antenna_ports = 0; + int nb_antennas_tx = 0; + int nb_antennas_rx = 0; + int tx_gain = 0; + int rx_gain = 0; + int prach_root = 0; + int prach_config_index = 0; + const char* prach_high_speed = NULL; + int prach_zero_correlation = 0; + int prach_freq_offset = 0; + int pucch_delta_shift = 0; + int pucch_nRB_CQI = 0; + int pucch_nCS_AN = 0; + + int pucch_n1_AN = 0; + + int pdsch_referenceSignalPower = 0; + int pdsch_p_b = 0; + int pusch_n_SB = 0; + const char * pusch_hoppingMode = NULL; + int pusch_hoppingOffset = 0; + const char* pusch_enable64QAM = NULL; + const char* pusch_groupHoppingEnabled = NULL; + int pusch_groupAssignment = 0; + const char* pusch_sequenceHoppingEnabled = NULL; + int pusch_nDMRS1 = 0; + const char* phich_duration = NULL; + const char* phich_resource = NULL; + const char* srs_enable = NULL; + int srs_BandwidthConfig = 0; + int srs_SubframeConfig = 0; + const char* srs_ackNackST = NULL; + const char* srs_MaxUpPts = NULL; + int pusch_p0_Nominal = 0; + const char* pusch_alpha = NULL; + int pucch_p0_Nominal = 0; + int msg3_delta_Preamble = 0; + //int ul_CyclicPrefixLength = 0; + const char* pucch_deltaF_Format1 = NULL; + //const char* pucch_deltaF_Format1a = NULL; + const char* pucch_deltaF_Format1b = NULL; + const char* pucch_deltaF_Format2 = NULL; + const char* pucch_deltaF_Format2a = NULL; + const char* pucch_deltaF_Format2b = NULL; + const char* rach_numberOfRA_Preambles = NULL; + const char* rach_preamblesGroupAConfig = NULL; + int rach_sizeOfRA_PreamblesGroupA = 0; + int rach_messageSizeGroupA = 0; + const char* rach_messagePowerOffsetGroupB = NULL; + int rach_powerRampingStep = 0; + int rach_preambleInitialReceivedTargetPower = 0; + int rach_preambleTransMax = 0; + int rach_raResponseWindowSize = 0; + int rach_macContentionResolutionTimer = 0; + int rach_maxHARQ_Msg3Tx = 0; + const char* pcch_defaultPagingCycle = 0; + + const char* pcch_nB = NULL; + int bcch_modificationPeriodCoeff = 0; + + const char* ue_TimersAndConstants_t300 = NULL; + const char* ue_TimersAndConstants_t301 = NULL; + const char* ue_TimersAndConstants_t310 = NULL; + const char* ue_TimersAndConstants_t311 = NULL; + const char* ue_TimersAndConstants_n310 = NULL; + const char* ue_TimersAndConstants_n311 = NULL; + const char* ue_TransmissionMode = NULL; + + int si_Narrowband_r13 = 0; int si_TBS_r13 = 0; int systemInfoValueTagSi_r13 = 0; @@ -459,18 +476,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) const char* ra_ResponseWindowSize_r13 = NULL; const char* mac_ContentionResolutionTimer_r13 = NULL; const char* rar_HoppingConfig_r13 = NULL; - int rsrp_range_br = 0; - int prach_config_index_br = 0; - int prach_freq_offset_br = 0; - int prach_StartingSubframe_r13 = 0; + int rsrp_range_br = 0; + int prach_config_index_br = 0; + int prach_freq_offset_br = 0; + int prach_StartingSubframe_r13 = 0; const char* maxNumPreambleAttemptCE_r13 = NULL; const char* numRepetitionPerPreambleAttempt_r13 = NULL; const char* mpdcch_NumRepetition_RA_r13 = NULL; const char* prach_HoppingConfig_r13 = NULL; - int maxavailablenarrowband = 0; - int pucch_info_value = 0; + int maxavailablenarrowband = 0; + int pucch_info_value = 0; - int paging_narrowbands_r13 = 0; + int paging_narrowbands_r13 = 0; const char* mpdcch_numrepetition_paging_r13 = NULL; const char* nb_v1310 = NULL; @@ -490,7 +507,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) const char* sib2_interval_ULHoppingConfigCommonModeA_r13_val = NULL; const char* sib2_interval_ULHoppingConfigCommonModeB_r13 = NULL; const char* sib2_interval_ULHoppingConfigCommonModeB_r13_val = NULL; - libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; const char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; const char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; @@ -499,9 +516,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) const char* pusch_maxNumRepetitionCEmodeB_r13 = 0; int pusch_HoppingOffset_v1310 = 0; - int hyperSFN_r13 = 0; - int eDRX_Allowed_r13 = 0; - int q_RxLevMinCE_r13 = 0; + int hyperSFN_r13 = 0; + int eDRX_Allowed_r13 = 0; + int q_RxLevMinCE_r13 = 0; int q_QualMinRSRQ_CE_r13 = 0; const char* si_WindowLength_BR_r13 = NULL; const char* si_RepetitionPattern_r13 = NULL; @@ -529,10 +546,52 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) char* prach_ConfigCommon_v1310 = NULL; char* mpdcch_startSF_CSS_RA_r13 = NULL; + + int srb1_timer_poll_retransmit = 0; + int srb1_timer_reordering = 0; + int srb1_timer_status_prohibit = 0; + int srb1_poll_pdu = 0; + int srb1_poll_byte = 0; + int srb1_max_retx_threshold = 0; + + int my_int; + + + const char* active_enb[MAX_ENB]; + char* enb_interface_name_for_S1U = NULL; + char* enb_ipv4_address_for_S1U = NULL; + int enb_port_for_S1U = 0; + char* enb_interface_name_for_S1_MME = NULL; + char* enb_ipv4_address_for_S1_MME = NULL; + char *address = NULL; + char *cidr = NULL; + char *astring = NULL; + char* flexran_agent_interface_name = NULL; + char* flexran_agent_ipv4_address = NULL; + int flexran_agent_port = 0; + char* flexran_agent_cache = NULL; + int otg_ue_id = 0; + char* otg_app_type = NULL; + char* otg_bg_traffic = NULL; + char* glog_level = NULL; + char* glog_verbosity = NULL; + char* hw_log_level = NULL; + char* hw_log_verbosity = NULL; + char* phy_log_level = NULL; + char* phy_log_verbosity = NULL; + char* mac_log_level = NULL; + char* mac_log_verbosity = NULL; + char* rlc_log_level = NULL; + char* rlc_log_verbosity = NULL; + char* pdcp_log_level = NULL; + char* pdcp_log_verbosity = NULL; + char* rrc_log_level = NULL; + char* rrc_log_verbosity = NULL; + char* udp_log_verbosity = NULL; + char* osa_log_level = NULL; + char* osa_log_verbosity = NULL; + printf("[KOGO][TESTING] Start of RCConfig_RCC"); - getchar(); - - // for no gcc warnings (void)my_int; @@ -673,11 +732,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) // Parse optional physical parameters - sprintf(enbpath,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k), - config_getlist( &CCsParamList,NULL,0,enbpath); + sprintf(enbpath,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k); + config_getlist( &CCsParamList, NULL, 0, enbpath); printf("[KOGO][TESTING]: CC List count: %d \n", CCsParamList.numelt); - getchar(); LOG_I(RRC,"num component carriers %d \n", num_component_carriers); if ( CCsParamList.numelt> 0) { @@ -699,553 +757,554 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) //printf("Component carrier %d\n",component_carrier); printf("[KOGO][TESTING]: tdd_config: %d \n",tdd_config); - getchar(); nb_cc++; - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } - #ifdef Rel14 - if (!pbch_repetition) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; - } - else if (strcmp(pbch_repetition, "FALSE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", - RC.config_file_name, i, pbch_repetition); - } - #endif - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; - - if (Nid_cell>503) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", - RC.config_file_name, i, Nid_cell); - } - - RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; - - if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", - RC.config_file_name, i, N_RB_DL); - } - - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; - } - else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, i, frame_type); - } - - - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - - - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; - } - else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } - - - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); - - - - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); - - - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - - if (enb_check_band_frequencies(RC.config_file_name, - j, - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], - RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { - AssertFatal(0, "error calling enb_check_band_frequencies\n"); - } - - if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", - RC.config_file_name, i, nb_antenna_ports); - - RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; - - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; - - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } +#ifdef Rel14 + if (!pbch_repetition) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); + else if (strcmp(pbch_repetition, "TRUE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 1; + } + else if (strcmp(pbch_repetition, "FALSE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).pbch_repetition[j] = 0; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", + RC.config_file_name, i, pbch_repetition); + } +#endif + + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; + + if (Nid_cell>503) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", + RC.config_file_name, i, Nid_cell); + } + + RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; + + if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", + RC.config_file_name, i, N_RB_DL); + } + + printf("[KOGO][DBUGGING] frame type = %s \n", frame_type); + + if (strcmp(frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = FDD; + } + else if (strcmp(frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ(msg_p).frame_type[j] = TDD; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + RC.config_file_name, i, frame_type); + } + + + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; + AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); + + + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; + AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", + RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + + + + if (!prefix_type) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); + else if (strcmp(prefix_type, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = NORMAL; + } + else if (strcmp(prefix_type, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).prefix_type[j] = EXTENDED; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", + RC.config_file_name, i, prefix_type); + } + + + + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; + // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); + + + + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; + //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); + + + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + + if (enb_check_band_frequencies(RC.config_file_name, + j, + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], + RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { + AssertFatal(0, "error calling enb_check_band_frequencies\n"); + } + + if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", + RC.config_file_name, i, nb_antenna_ports); - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; - - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; - - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; - - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; - - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); - - #if !defined(Rel10) && !defined(Rel14) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; - - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); - - #endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; - - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; - - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); - - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; - - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); - - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); - - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; - - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); - - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); - - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); - - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); - - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, - (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); - - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); + RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; + + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; + + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; + + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; + + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); + +#if !defined(Rel10) && !defined(Rel14) + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; + + if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN); + +#endif + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; + + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; + + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + if (!pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; + + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; + + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_resource, phich_resource, + (int)RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_enable = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable == TRUE) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig = srs_BandwidthConfig; - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); + if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig = srs_SubframeConfig; - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); + if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; - } - else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + if (strcmp(srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = TRUE; + } + else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_ackNackST = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; - } - else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); + if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = TRUE; + } + else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].srs_MaxUpPts = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts); } RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_p0_Nominal = pusch_p0_Nominal; - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); - #ifndef Rel14 - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; - } - #else - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; - } - #endif - 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", - RC.config_file_name, i, pusch_alpha); +#ifndef Rel14 + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = UplinkPowerControlCommon__alpha_al1; + } +#else + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al0; + } + else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al04; + } + else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al05; + } + else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al06; + } + else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al07; + } + else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al08; + } + else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al09; + } + else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pusch_alpha = Alpha_r12_al1; + } +#endif + 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", + RC.config_file_name, i, pusch_alpha); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_p0_Nominal = pucch_p0_Nominal; - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].msg3_delta_Preamble = msg3_delta_Preamble; - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); // 27 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n4 = 0, @@ -1266,522 +1325,522 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) // 42 RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64 = 15 - if (!strcmp(rach_numberOfRA_Preambles, "n4")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (4 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (8 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (12 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (16 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (20 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (24 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (28 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (32 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (36 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (40 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (44 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (48 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (52 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (56 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (60 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (64 / 4) - 1; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + if (!strcmp(rach_numberOfRA_Preambles, "n4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (4 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (8 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (12 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (16 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (20 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (24 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (28 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (32 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (36 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (40 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (44 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (48 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (52 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (56 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (60 / 4) - 1; + } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (64 / 4) - 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles); - } + } - printf("[DEBUGGIN][KOGO][TESTING]: number of RA Preambles: %s - %d\n", - rach_numberOfRA_Preambles, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles); + printf("[DEBUGGIN][KOGO][TESTING]: number of RA Preambles: %s - %d\n", + rach_numberOfRA_Preambles, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles); if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA / 4) - 1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA / 4) - 1; - switch (rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; + switch (rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; - case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; - case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); - break; - } + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA); + break; + } - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } + if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } + else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } - else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); + else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB); - } - else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); + } + else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep); - switch (rach_preambleTransMax) { - #ifndef Rel14 - _ case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; + switch (rach_preambleTransMax) { +#ifndef Rel14 + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; - #else +#else - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; - break; - #endif - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - if (!strcmp(pcch_defaultPagingCycle, "rf32")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; - } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; - } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; - } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - } - - printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle); - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", - RC.config_file_name, i, ue_TimersAndConstants_t300); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300); - - if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", - RC.config_file_name, i, ue_TimersAndConstants_t301); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301); - - if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", - RC.config_file_name, i, ue_TimersAndConstants_t310); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310); - - - if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", - RC.config_file_name, i, ue_TimersAndConstants_t311); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311); - - - if (!strcmp(ue_TimersAndConstants_n310, "n1")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; - } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; - } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; - } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; - } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; - } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; - } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; - } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", - RC.config_file_name, i, ue_TimersAndConstants_n310); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310); - - - if (!strcmp(ue_TimersAndConstants_n311, "n1")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; - } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; - } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; - } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; - } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; - } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; - } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; - } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", - RC.config_file_name, i, ue_TimersAndConstants_n311); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311); - - - if (!strcmp(ue_TransmissionMode, "tm1")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; - } else if (!strcmp(ue_TransmissionMode, "tm2")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; - } else if (!strcmp(ue_TransmissionMode, "tm3")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; - } else if (!strcmp(ue_TransmissionMode, "tm4")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; - } else if (!strcmp(ue_TransmissionMode, "tm5")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; - } else if (!strcmp(ue_TransmissionMode, "tm6")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; - } else if (!strcmp(ue_TransmissionMode, "tm7")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", - RC.config_file_name, i, ue_TransmissionMode); - } - - printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode); - - - -#ifdef Rel14 - char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; - sprintf(brparamspath,"%s.%s",ccspath,ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS); - config_get( brParams,sizeof(brParams)/sizeof(paramdef_t),brparamspath); - /*setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; + break; +#endif + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + if (!strcmp(pcch_defaultPagingCycle, "rf32")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; + } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; + } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + } + + printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle); + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", + RC.config_file_name, i, ue_TimersAndConstants_t300); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300); + + if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", + RC.config_file_name, i, ue_TimersAndConstants_t301); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301); + + if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", + RC.config_file_name, i, ue_TimersAndConstants_t310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310); + + + if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", + RC.config_file_name, i, ue_TimersAndConstants_t311); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311); + + + if (!strcmp(ue_TimersAndConstants_n310, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; + } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; + } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; + } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; + } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; + } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; + } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; + } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", + RC.config_file_name, i, ue_TimersAndConstants_n310); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310); + + + if (!strcmp(ue_TimersAndConstants_n311, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; + } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; + } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; + } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; + } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; + } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; + } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; + } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", + RC.config_file_name, i, ue_TimersAndConstants_n311); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311); + + + if (!strcmp(ue_TransmissionMode, "tm1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; + } else if (!strcmp(ue_TransmissionMode, "tm2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; + } else if (!strcmp(ue_TransmissionMode, "tm3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; + } else if (!strcmp(ue_TransmissionMode, "tm4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; + } else if (!strcmp(ue_TransmissionMode, "tm5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; + } else if (!strcmp(ue_TransmissionMode, "tm6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; + } else if (!strcmp(ue_TransmissionMode, "tm7")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", + RC.config_file_name, i, ue_TransmissionMode); + } + + printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode); + + + +//#ifdef Rel14 + char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(brparamspath,"%s.%s",ccspath,ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS); + config_get( brParams,sizeof(brParams)/sizeof(paramdef_t),brparamspath); + /*setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR); if (setting_br13 != NULL) {*/ - int cnt = 0; + int cnt = 0; - /*if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) { + /*if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13)) { AssertFatal(0, "Failed to parse eNB configuration file %s, enb %d schedulingInfoSIB1_BR_r13!\n", RC.config_file_name, i); } else {*/ - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; - //} + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; + //} - /*system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); + /*system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); int num_system_info; if (system_info_value_tag_SI_list != NULL) { @@ -3846,7 +3905,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) }*/ -#endif +//#endif //sprintf(brpath,"%s.%s.[%i].%s",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,ENB_CONFIG_STRING_BR_PARAMETERS,j); //config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index ee40c38731..0648ed5054 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -464,7 +464,7 @@ static int DEFENBS[] = {0}; {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, strptr:&rach_numberOfRA_Preambles, defstrval:"n64", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ @@ -475,16 +475,16 @@ static int DEFENBS[] = {0}; {ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ {ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, strptr:&pcch_defaultPagingCycle, defstrval:"rf128", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, strptr:&ue_TimersAndConstants_t300, defintval:"ms1000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, strptr:&ue_TimersAndConstants_t301, defintval:"ms1000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, strptr:&ue_TimersAndConstants_t310, defintval:"ms1000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, strptr:&ue_TimersAndConstants_t311, defintval:"ms10000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, strptr:&ue_TimersAndConstants_n310, defintval:"n20", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, strptr:&ue_TimersAndConstants_n311, defintval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, strptr:&ue_TransmissionMode, defintval:"tm1", TYPE_STRING, 0} \ } @@ -580,7 +580,7 @@ static int DEFENBS[] = {0}; {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defstrval:"n4", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ @@ -594,18 +594,18 @@ static int DEFENBS[] = {0}; {ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ {ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, strptr:&ue_TimersAndConstants_t300, defstrval:"ms1000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, strptr:&ue_TimersAndConstants_t301, defstrval:"ms1000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, strptr:&ue_TimersAndConstants_t310, defstrval:"ms1000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, strptr:&ue_TimersAndConstants_t311, defstrval:"ms10000", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, strptr:&ue_TimersAndConstants_n310, defstrval:"n20", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, strptr:&ue_TimersAndConstants_n311, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, strptr:&ue_TransmissionMode, defstrval:"tm1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ } #define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 1fccdfe026..351f5ba792 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -364,9 +364,9 @@ eNBs = NETWORK_INTERFACES : { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0:S1-C-eNB"; + ENB_INTERFACE_NAME_FOR_S1_MME = "enp0s31f6:S1-C"; ENB_IPV4_ADDRESS_FOR_S1_MME = "172.17.0.21/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0:S1-U-eNB"; + ENB_INTERFACE_NAME_FOR_S1U = "enp0s31f6:S1-U"; ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.21/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; From 78408cc69748a7c4dc1c100f945049af270fe172 Mon Sep 17 00:00:00 2001 From: "mohamed.said" Date: Sun, 15 Oct 2017 22:51:24 +0200 Subject: [PATCH 066/109] added missing definitions in enb_paramdef.h ,, assigned some br values in enb_config.c --- openair2/ENB_APP/enb_config.c | 1112 ++++++++++++----- openair2/ENB_APP/enb_paramdef.h | 59 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 2 +- 3 files changed, 873 insertions(+), 300 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 722e80e4b5..e665d9bc46 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -355,241 +355,236 @@ void RCconfig_macrlc() { int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int num_enbs = 0; - int num_component_carriers = 0; int k = 0; int32_t enb_id = 0; int nb_cc = 0; - - int parse_errors = 0; + int num_mme_address = 0; + int num_otg_elements = 0; - int num_mme_address = 0; - int num_otg_elements = 0; - - int j = 0; - int sched_info_idx = 0; - int sys_info_idx = 0; + int j = 0; + int sched_info_idx = 0; + int sys_info_idx = 0; - char* if_name_s = NULL; - char* ipv4_s = NULL; - char* ipv4_s_remote = NULL; + char* if_name_s = NULL; + char* ipv4_s = NULL; + char* ipv4_s_remote = NULL; - char* tr_s_preference = NULL; - int local_s_portc = 0; - int remote_s_portc = 0; - int local_s_portd = 0; - int remote_s_portd = 0; + char* tr_s_preference = NULL; + int local_s_portc = 0; + int remote_s_portc = 0; + int local_s_portd = 0; + int remote_s_portd = 0; - const char* cell_type = NULL; - const char* tac = 0; - const char* enb_name = NULL; - const char* mcc = 0; - const char* mnc = 0; - char* frame_type = NULL; - int tdd_config = 0; - int tdd_config_s = 0; - const char* prefix_type = NULL; - const char* pbch_repetition = NULL; - int eutra_band = 0; - long long int downlink_frequency = 0; - int uplink_frequency_offset = 0; - int Nid_cell = 0; - int Nid_cell_mbsfn = 0; - int N_RB_DL = 0; - int nb_antenna_ports = 0; - int nb_antennas_tx = 0; - int nb_antennas_rx = 0; - int tx_gain = 0; - int rx_gain = 0; - int prach_root = 0; - int prach_config_index = 0; - const char* prach_high_speed = NULL; - int prach_zero_correlation = 0; - int prach_freq_offset = 0; - int pucch_delta_shift = 0; - int pucch_nRB_CQI = 0; - int pucch_nCS_AN = 0; + const char* cell_type = NULL; + const char* tac = 0; + const char* enb_name = NULL; + const char* mcc = 0; + const char* mnc = 0; + char* frame_type = NULL; + int tdd_config = 0; + int tdd_config_s = 0; + const char* prefix_type = NULL; + const char* pbch_repetition = NULL; + int eutra_band = 0; + long long int downlink_frequency = 0; + int uplink_frequency_offset = 0; + int Nid_cell = 0; + int Nid_cell_mbsfn = 0; + int N_RB_DL = 0; + int nb_antenna_ports = 0; + int nb_antennas_tx = 0; + int nb_antennas_rx = 0; + int tx_gain = 0; + int rx_gain = 0; + int prach_root = 0; + int prach_config_index = 0; + const char* prach_high_speed = NULL; + int prach_zero_correlation = 0; + int prach_freq_offset = 0; + int pucch_delta_shift = 0; + int pucch_nRB_CQI = 0; + int pucch_nCS_AN = 0; + int pucch_n1_AN = 0; - int pucch_n1_AN = 0; + int pdsch_referenceSignalPower = 0; + int pdsch_p_b = 0; + int pusch_n_SB = 0; + const char * pusch_hoppingMode = NULL; + int pusch_hoppingOffset = 0; + const char* pusch_enable64QAM = NULL; + const char* pusch_groupHoppingEnabled = NULL; + int pusch_groupAssignment = 0; + const char* pusch_sequenceHoppingEnabled = NULL; + int pusch_nDMRS1 = 0; + const char* phich_duration = NULL; + const char* phich_resource = NULL; + const char* srs_enable = NULL; + int srs_BandwidthConfig = 0; + int srs_SubframeConfig = 0; + const char* srs_ackNackST = NULL; + const char* srs_MaxUpPts = NULL; + int pusch_p0_Nominal = 0; + const char* pusch_alpha = NULL; + int pucch_p0_Nominal = 0; + int msg3_delta_Preamble = 0; + //int ul_CyclicPrefixLength = 0; + const char* pucch_deltaF_Format1 = NULL; + //const char* pucch_deltaF_Format1a = NULL; + const char* pucch_deltaF_Format1b = NULL; + const char* pucch_deltaF_Format2 = NULL; + const char* pucch_deltaF_Format2a = NULL; + const char* pucch_deltaF_Format2b = NULL; + const char* rach_numberOfRA_Preambles = NULL; + const char* rach_preamblesGroupAConfig = NULL; + int rach_sizeOfRA_PreamblesGroupA = 0; + int rach_messageSizeGroupA = 0; + const char* rach_messagePowerOffsetGroupB = NULL; + int rach_powerRampingStep = 0; + int rach_preambleInitialReceivedTargetPower = 0; + int rach_preambleTransMax = 0; + int rach_raResponseWindowSize = 0; + int rach_macContentionResolutionTimer = 0; + int rach_maxHARQ_Msg3Tx = 0; + const char* pcch_defaultPagingCycle = NULL; - int pdsch_referenceSignalPower = 0; - int pdsch_p_b = 0; - int pusch_n_SB = 0; - const char * pusch_hoppingMode = NULL; - int pusch_hoppingOffset = 0; - const char* pusch_enable64QAM = NULL; - const char* pusch_groupHoppingEnabled = NULL; - int pusch_groupAssignment = 0; - const char* pusch_sequenceHoppingEnabled = NULL; - int pusch_nDMRS1 = 0; - const char* phich_duration = NULL; - const char* phich_resource = NULL; - const char* srs_enable = NULL; - int srs_BandwidthConfig = 0; - int srs_SubframeConfig = 0; - const char* srs_ackNackST = NULL; - const char* srs_MaxUpPts = NULL; - int pusch_p0_Nominal = 0; - const char* pusch_alpha = NULL; - int pucch_p0_Nominal = 0; - int msg3_delta_Preamble = 0; - //int ul_CyclicPrefixLength = 0; - const char* pucch_deltaF_Format1 = NULL; - //const char* pucch_deltaF_Format1a = NULL; - const char* pucch_deltaF_Format1b = NULL; - const char* pucch_deltaF_Format2 = NULL; - const char* pucch_deltaF_Format2a = NULL; - const char* pucch_deltaF_Format2b = NULL; - const char* rach_numberOfRA_Preambles = NULL; - const char* rach_preamblesGroupAConfig = NULL; - int rach_sizeOfRA_PreamblesGroupA = 0; - int rach_messageSizeGroupA = 0; - const char* rach_messagePowerOffsetGroupB = NULL; - int rach_powerRampingStep = 0; - int rach_preambleInitialReceivedTargetPower = 0; - int rach_preambleTransMax = 0; - int rach_raResponseWindowSize = 0; - int rach_macContentionResolutionTimer = 0; - int rach_maxHARQ_Msg3Tx = 0; - const char* pcch_defaultPagingCycle = 0; + const char* pcch_nB = NULL; + int bcch_modificationPeriodCoeff = 0; - const char* pcch_nB = NULL; - int bcch_modificationPeriodCoeff = 0; + const char* ue_TimersAndConstants_t300 = NULL; + const char* ue_TimersAndConstants_t301 = NULL; + const char* ue_TimersAndConstants_t310 = NULL; + const char* ue_TimersAndConstants_t311 = NULL; + const char* ue_TimersAndConstants_n310 = NULL; + const char* ue_TimersAndConstants_n311 = NULL; + const char* ue_TransmissionMode = NULL; - const char* ue_TimersAndConstants_t300 = NULL; - const char* ue_TimersAndConstants_t301 = NULL; - const char* ue_TimersAndConstants_t310 = NULL; - const char* ue_TimersAndConstants_t311 = NULL; - const char* ue_TimersAndConstants_n310 = NULL; - const char* ue_TimersAndConstants_n311 = NULL; - const char* ue_TransmissionMode = NULL; + int si_Narrowband_r13 = 0; + int si_TBS_r13 = 0; - int si_Narrowband_r13 = 0; - int si_TBS_r13 = 0; + int systemInfoValueTagSi_r13 = 0; - int systemInfoValueTagSi_r13 = 0; + int firstPreamble_r13 = 0; + int lastPreamble_r13 = 0; + const char* ra_ResponseWindowSize_r13 = NULL; + const char* mac_ContentionResolutionTimer_r13 = NULL; + const char* rar_HoppingConfig_r13 = NULL; + int rsrp_range_br = 0; + int prach_config_index_br = 0; + int prach_freq_offset_br = 0; + int prach_StartingSubframe_r13 = 0; + const char* maxNumPreambleAttemptCE_r13 = NULL; + const char* numRepetitionPerPreambleAttempt_r13 = NULL; + const char* mpdcch_NumRepetition_RA_r13 = NULL; + const char* prach_HoppingConfig_r13 = NULL; + int maxavailablenarrowband = 0; + int pucch_info_value = 0; - int firstPreamble_r13 = 0; - int lastPreamble_r13 = 0; - const char* ra_ResponseWindowSize_r13 = NULL; - const char* mac_ContentionResolutionTimer_r13 = NULL; - const char* rar_HoppingConfig_r13 = NULL; - int rsrp_range_br = 0; - int prach_config_index_br = 0; - int prach_freq_offset_br = 0; - int prach_StartingSubframe_r13 = 0; - const char* maxNumPreambleAttemptCE_r13 = NULL; - const char* numRepetitionPerPreambleAttempt_r13 = NULL; - const char* mpdcch_NumRepetition_RA_r13 = NULL; - const char* prach_HoppingConfig_r13 = NULL; - int maxavailablenarrowband = 0; - int pucch_info_value = 0; - - int paging_narrowbands_r13 = 0; - const char* mpdcch_numrepetition_paging_r13 = NULL; - const char* nb_v1310 = NULL; + int paging_narrowbands_r13 = 0; + const char* mpdcch_numrepetition_paging_r13 = NULL; + const char* nb_v1310 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + const char* pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; - const char* sib2_mpdcch_pdsch_hoppingNB_r13 = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeA_r13 = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeA_r13_val = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeB_r13 = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeB_r13_val = NULL; + const char* sib2_mpdcch_pdsch_hoppingNB_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeA_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeA_r13_val = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeB_r13 = NULL; + const char* sib2_interval_DLHoppingConfigCommonModeB_r13_val = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeA_r13 = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeA_r13_val = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeB_r13 = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeB_r13_val = NULL; - int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + const char* sib2_interval_ULHoppingConfigCommonModeA_r13 = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeA_r13_val = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeB_r13 = NULL; + const char* sib2_interval_ULHoppingConfigCommonModeB_r13_val = NULL; + int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; - const char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; - const char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + const char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + const char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; - const char* pusch_maxNumRepetitionCEmodeA_r13 = 0; - const char* pusch_maxNumRepetitionCEmodeB_r13 = 0; - int pusch_HoppingOffset_v1310 = 0; + const char* pusch_maxNumRepetitionCEmodeA_r13 = 0; + const char* pusch_maxNumRepetitionCEmodeB_r13 = 0; + int pusch_HoppingOffset_v1310 = 0; - int hyperSFN_r13 = 0; - int eDRX_Allowed_r13 = 0; - int q_RxLevMinCE_r13 = 0; - int q_QualMinRSRQ_CE_r13 = 0; - const char* si_WindowLength_BR_r13 = NULL; - const char* si_RepetitionPattern_r13 = NULL; - int startSymbolBR_r13 = 0; - const char* si_HoppingConfigCommon_r13 = NULL; - const char* si_ValidityTime_r13 = NULL; - const char* mpdcch_pdsch_HoppingNB_r13 = NULL; - int interval_DLHoppingConfigCommonModeA_r13_val = 0; - int interval_DLHoppingConfigCommonModeB_r13_val = 0; - int mpdcch_pdsch_HoppingOffset_r13 = 0; - const char* preambleTransMax_CE_r13 = NULL; - const char* rach_numberOfRA_Preambles_br = NULL; - const char* mpdcch_startSF_CSS_RA_r13_val = NULL; - int prach_HoppingOffset_r13 = 0; - int schedulingInfoSIB1_BR_r13 = 0; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; + int hyperSFN_r13 = 0; + int eDRX_Allowed_r13 = 0; + int q_RxLevMinCE_r13 = 0; + int q_QualMinRSRQ_CE_r13 = 0; + const char* si_WindowLength_BR_r13 = NULL; + const char* si_RepetitionPattern_r13 = NULL; + int startSymbolBR_r13 = 0; + const char* si_HoppingConfigCommon_r13 = NULL; + const char* si_ValidityTime_r13 = NULL; + const char* mpdcch_pdsch_HoppingNB_r13 = NULL; + int interval_DLHoppingConfigCommonModeA_r13_val = 0; + int interval_DLHoppingConfigCommonModeB_r13_val = 0; + int mpdcch_pdsch_HoppingOffset_r13 = 0; + const char* preambleTransMax_CE_r13 = NULL; + const char* rach_numberOfRA_Preambles_br = NULL; + const char* mpdcch_startSF_CSS_RA_r13_val = NULL; + int prach_HoppingOffset_r13 = 0; + int schedulingInfoSIB1_BR_r13 = 0; + uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13 = NULL; + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13 = NULL; - int srb1_timer_poll_retransmit = 0; - int srb1_timer_reordering = 0; - int srb1_timer_status_prohibit = 0; - int srb1_poll_pdu = 0; - int srb1_poll_byte = 0; - int srb1_max_retx_threshold = 0; + int srb1_timer_poll_retransmit = 0; + int srb1_timer_reordering = 0; + int srb1_timer_status_prohibit = 0; + int srb1_poll_pdu = 0; + int srb1_poll_byte = 0; + int srb1_max_retx_threshold = 0; - int my_int; + int my_int; - const char* active_enb[MAX_ENB]; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - int enb_port_for_S1U = 0; - char* enb_interface_name_for_S1_MME = NULL; - char* enb_ipv4_address_for_S1_MME = NULL; - char *address = NULL; - char *cidr = NULL; - char *astring = NULL; - char* flexran_agent_interface_name = NULL; - char* flexran_agent_ipv4_address = NULL; - int flexran_agent_port = 0; - char* flexran_agent_cache = NULL; - int otg_ue_id = 0; - char* otg_app_type = NULL; - char* otg_bg_traffic = NULL; - char* glog_level = NULL; - char* glog_verbosity = NULL; - char* hw_log_level = NULL; - char* hw_log_verbosity = NULL; - char* phy_log_level = NULL; - char* phy_log_verbosity = NULL; - char* mac_log_level = NULL; - char* mac_log_verbosity = NULL; - char* rlc_log_level = NULL; - char* rlc_log_verbosity = NULL; - char* pdcp_log_level = NULL; - char* pdcp_log_verbosity = NULL; - char* rrc_log_level = NULL; - char* rrc_log_verbosity = NULL; - char* udp_log_verbosity = NULL; - char* osa_log_level = NULL; - char* osa_log_verbosity = NULL; + const char* active_enb[MAX_ENB]; + char* enb_interface_name_for_S1U = NULL; + char* enb_ipv4_address_for_S1U = NULL; + int enb_port_for_S1U = 0; + char* enb_interface_name_for_S1_MME = NULL; + char* enb_ipv4_address_for_S1_MME = NULL; + char *address = NULL; + char *cidr = NULL; + char *astring = NULL; + char* flexran_agent_interface_name = NULL; + char* flexran_agent_ipv4_address = NULL; + int flexran_agent_port = 0; + char* flexran_agent_cache = NULL; + int otg_ue_id = 0; + char* otg_app_type = NULL; + char* otg_bg_traffic = NULL; + char* glog_level = NULL; + char* glog_verbosity = NULL; + char* hw_log_level = NULL; + char* hw_log_verbosity = NULL; + char* phy_log_level = NULL; + char* phy_log_verbosity = NULL; + char* mac_log_level = NULL; + char* mac_log_verbosity = NULL; + char* rlc_log_level = NULL; + char* rlc_log_verbosity = NULL; + char* pdcp_log_level = NULL; + char* pdcp_log_verbosity = NULL; + char* rrc_log_level = NULL; + char* rrc_log_verbosity = NULL; + char* udp_log_verbosity = NULL; + char* osa_log_level = NULL; + char* osa_log_verbosity = NULL; printf("[KOGO][TESTING] Start of RCConfig_RCC"); @@ -604,9 +599,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; paramdef_t brParams[] = BRPARAMS_DESC; - //paramdef_t siInfoBRParams[] = SI_INFO_BR_DESC; + + + paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC; + paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; + //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; - //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + + paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; + //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; @@ -699,9 +701,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) - for (k=0; k -90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + + + switch (rach_preambleTransMax) { + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n3; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n4; + break; + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n5; + break; + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n6; + break; + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n7; + break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n8; + break; + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n10; + break; + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n20; + break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n50; + break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n100; + break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n200; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax); + break; + } + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + + if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + + if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_preambleTransMax); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + + if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_preambleTransMax); + + + + char rachCELevelInfoListPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&rachcelevellist, NULL, 0, brparamspath); + + int rachCEInfoIndex; + for (rachCEInfoIndex = 0; rachCEInfoIndex < rachcelevellist.numelt; rachCEInfoIndex++) { + sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); + config_get(rachcelevelParams, sizeof(rachcelevelParams) / sizeof(paramdef_t), rachCELevelInfoListPath); + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rachCEInfoIndex] = firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rachCEInfoIndex] = lastPreamble_r13; + + printf("DEBUGGING][KOGO]: firstPreamble_r13: %d\n", firstPreamble_r13); + printf("DEBUGGING][KOGO]: lastPreamble_r13: %d\n", lastPreamble_r13); + + + + if (!strcmp(ra_ResponseWindowSize_r13, "sf20")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 0; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf50")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 1; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf80")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 2; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf120")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 3; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf180")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 4; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf240")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 5; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf320")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 6; + } else if (!strcmp(ra_ResponseWindowSize_r13, "sf400")) { + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, ra_ResponseWindowSize_r13 unknown value!\n", + RC.config_file_name); + } + + if (!strcmp(mac_ContentionResolutionTimer_r13, "sf80")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 0; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf100")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 1; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf120")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 2; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf160")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 3; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf200")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 4; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf240")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 5; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf480")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 6; + } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf960")) { + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, mac_ContentionResolutionTimer_r13 unknown value!\n", + RC.config_file_name); + } + + if (!strcmp(rar_HoppingConfig_r13, "on")) { + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = 0; + } else if (!strcmp(rar_HoppingConfig_r13, "off")) { + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, rar_HoppingConfig_r13 unknown value!\n", + RC.config_file_name); + } + + } // end for loop (rach ce level info) + + printf("DEBUGGING][KOGO]: ra_ResponseWindowSize_r13: %s\n", ra_ResponseWindowSize_r13); + printf("DEBUGGING][KOGO]: mac_ContentionResolutionTimer_r13: %s\n", mac_ContentionResolutionTimer_r13); + printf("DEBUGGING][KOGO]: rar_HoppingConfig_r13: %s\n", rar_HoppingConfig_r13); + + + + /** BCCH CONFIG */ + switch (bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; + break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; + break; + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; + break; + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + + break; + } + + /** PCCH CONFIG */ + if (!strcmp(pcch_defaultPagingCycle, "rf32")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; + } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; + } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; + } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + } + + printf("[DEBUGGING][KOGO]: pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle); + + if (strcmp(pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + } + else if (strcmp(pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + } + else if (strcmp(pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + } + else if (strcmp(pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + } + else if (strcmp(pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + } + else if (strcmp(pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + } + else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + } + else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_defaultPagingCycle); + + + /** PRACH CONFIG */ + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; + if ((prach_root <0) || (prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root); + + printf("DEBUGGING][KOGO]: prach_root: %d\n", prach_root); + + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; + if ((prach_config_index <0) || (prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + printf("DEBUGGING][KOGO]: prach_config_index: %d\n", prach_config_index); + + + + if (!prach_high_speed) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + } + else if (strcmp(prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed); + + + printf("DEBUGGING][KOGO]: prach_high_speed: %s\n", prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation = prach_zero_correlation; + if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation); + + printf("DEBUGGING][KOGO]: prach_zero_correlation: %d\n", prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; + if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + printf("DEBUGGING][KOGO]: prach_freq_offset: %d\n", prach_freq_offset); + + + /** PDSCH Config Common */ + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + printf("DEBUGGING][KOGO]: pdsch_referenceSignalPower: %d\n", pdsch_referenceSignalPower); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; + if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b); + + printf("DEBUGGING][KOGO]: pdsch_p_b: %d\n", pdsch_p_b); + + + + + /** PUSCH Config Common */ + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; + if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB); + + printf("DEBUGGING][KOGO]: pusch_n_SB: %d\n", pusch_n_SB); + + + + if (!pusch_hoppingMode) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } + else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode); + + printf("DEBUGGING][KOGO]: pusch_hoppingMode: %s\n", pusch_hoppingMode); + + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; + if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode); + + printf("DEBUGGING][KOGO]: pusch_hoppingOffset: %d\n", pusch_hoppingOffset); + + + if (!pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + } + else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM); + + printf("DEBUGGING][KOGO]: pusch_enable64QAM: %s\n", pusch_enable64QAM); + + + if (!pusch_groupHoppingEnabled) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + } + else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled); + + printf("DEBUGGING][KOGO]: pusch_groupHoppingEnabled: %s\n", pusch_groupHoppingEnabled); + + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; + if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment); + + printf("DEBUGGING][KOGO]: pusch_groupAssignment: %d\n", pusch_groupAssignment); + + + if (!pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + } + else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled); + + printf("DEBUGGING][KOGO]: pusch_sequenceHoppingEnabled: %s\n", pusch_sequenceHoppingEnabled); + + + /** PUCCH Config Common */ + /** TO BE CONTINUED */ + + /*system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); int num_system_info; @@ -1862,30 +2472,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_CELLSELECTIONINFOCE, &cellSelectionInfoCE_r13) && !strcmp(cellSelectionInfoCE_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; - if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_RXLEVMINCE, &q_RxLevMinCE_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d q_RxLevMinCE_r13!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_Q_QUALMINRSRQ_CE, &q_QualMinRSRQ_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - - } - else - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= NULL; - - } - else - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { @@ -1904,36 +2490,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) - if (!strcmp(si_WindowLength_BR_r13, "ms20")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; - } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; - } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; - } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; - } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; - } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; - } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; - } else if (!strcmp(si_WindowLength_BR_r13, "spare")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; - } - - - if (!strcmp(si_RepetitionPattern_r13, "everyRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; - } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; - } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; - } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; - } - - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; if (!strcmp(si_HoppingConfigCommon_r13, "off")) { @@ -3403,7 +3959,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep = rach_powerRampingStep / 2; if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) AssertFatal (0, @@ -4791,7 +5347,7 @@ void RCConfig(void) { if (RC.nb_inst > 0) { RC.nb_CC = (int *)malloc((1+RC.nb_inst)*sizeof(int)); for (int i=0;i Date: Mon, 16 Oct 2017 19:44:29 +0200 Subject: [PATCH 067/109] Stable version of configuration --- common/config/config_cmdline.c | 0 common/config/config_load_configmodule.c | 0 common/config/config_load_configmodule.h | 0 common/config/config_paramdesc.h | 0 common/config/config_userapi.c | 0 common/config/config_userapi.h | 0 common/config/libconfig/config_libconfig.c | 0 common/config/libconfig/config_libconfig.h | 0 .../libconfig/config_libconfig_private.h | 0 .../utils/T/tracer/extract_input_subframe.c | 0 common/utils/load_module_shlib.c | 0 common/utils/load_module_shlib.h | 0 common/utils/telnetsrv/CMakeLists.txt | 0 common/utils/telnetsrv/telnetsrv.c | 0 common/utils/telnetsrv/telnetsrv.h | 0 common/utils/telnetsrv/telnetsrv_phycmd.c | 0 common/utils/telnetsrv/telnetsrv_phycmd.h | 0 common/utils/telnetsrv/telnetsrv_proccmd.c | 0 common/utils/telnetsrv/telnetsrv_proccmd.h | 0 open-nfapi.oai.patch | 0 openair1/SCHED/fapi_l1.c | 0 openair1/SCHED/fapi_l1.h | 0 openair2/COMMON/rrc_messages_types.h | 1 - openair2/ENB_APP/enb_config.c | 1758 ++++++++--------- openair2/ENB_APP/enb_paramdef.h | 66 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 0 openair2/RRC/LITE/MESSAGES/asn1_msg.c | 114 +- targets/ARCH/mobipass/interface.c | 0 targets/ARCH/mobipass/mobipass.c | 0 targets/ARCH/mobipass/mobipass.h | 0 targets/ARCH/mobipass/queues.c | 0 targets/ARCH/mobipass/queues.h | 0 .../CONF/enb.band13.tm1.50PRB.emtc.conf | 29 +- ...nb.band40.tm1.TDD3SS5.100PRB.usrpb210.conf | 0 ...enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf | 0 ...enb.band40.tm1.TDD3SS5.50PRB.usrpb210.conf | 0 .../CONF/mobipass-standalone.conf | 0 .../CONF/oaiL1.nfapi.usrpb210.conf | 0 .../CONF/rcc.band7.tm1.50PRB.nfapi.conf | 0 39 files changed, 912 insertions(+), 1056 deletions(-) mode change 100644 => 100755 common/config/config_cmdline.c mode change 100644 => 100755 common/config/config_load_configmodule.c mode change 100644 => 100755 common/config/config_load_configmodule.h mode change 100644 => 100755 common/config/config_paramdesc.h mode change 100644 => 100755 common/config/config_userapi.c mode change 100644 => 100755 common/config/config_userapi.h mode change 100644 => 100755 common/config/libconfig/config_libconfig.c mode change 100644 => 100755 common/config/libconfig/config_libconfig.h mode change 100644 => 100755 common/config/libconfig/config_libconfig_private.h mode change 100644 => 100755 common/utils/T/tracer/extract_input_subframe.c mode change 100644 => 100755 common/utils/load_module_shlib.c mode change 100644 => 100755 common/utils/load_module_shlib.h mode change 100644 => 100755 common/utils/telnetsrv/CMakeLists.txt mode change 100644 => 100755 common/utils/telnetsrv/telnetsrv.c mode change 100644 => 100755 common/utils/telnetsrv/telnetsrv.h mode change 100644 => 100755 common/utils/telnetsrv/telnetsrv_phycmd.c mode change 100644 => 100755 common/utils/telnetsrv/telnetsrv_phycmd.h mode change 100644 => 100755 common/utils/telnetsrv/telnetsrv_proccmd.c mode change 100644 => 100755 common/utils/telnetsrv/telnetsrv_proccmd.h mode change 100644 => 100755 open-nfapi.oai.patch mode change 100644 => 100755 openair1/SCHED/fapi_l1.c mode change 100644 => 100755 openair1/SCHED/fapi_l1.h mode change 100644 => 100755 openair2/LAYER2/MAC/eNB_scheduler_dlsch.c mode change 100644 => 100755 targets/ARCH/mobipass/interface.c mode change 100644 => 100755 targets/ARCH/mobipass/mobipass.c mode change 100644 => 100755 targets/ARCH/mobipass/mobipass.h mode change 100644 => 100755 targets/ARCH/mobipass/queues.c mode change 100644 => 100755 targets/ARCH/mobipass/queues.h mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.100PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.50PRB.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/mobipass-standalone.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf mode change 100644 => 100755 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf diff --git a/common/config/config_cmdline.c b/common/config/config_cmdline.c old mode 100644 new mode 100755 diff --git a/common/config/config_load_configmodule.c b/common/config/config_load_configmodule.c old mode 100644 new mode 100755 diff --git a/common/config/config_load_configmodule.h b/common/config/config_load_configmodule.h old mode 100644 new mode 100755 diff --git a/common/config/config_paramdesc.h b/common/config/config_paramdesc.h old mode 100644 new mode 100755 diff --git a/common/config/config_userapi.c b/common/config/config_userapi.c old mode 100644 new mode 100755 diff --git a/common/config/config_userapi.h b/common/config/config_userapi.h old mode 100644 new mode 100755 diff --git a/common/config/libconfig/config_libconfig.c b/common/config/libconfig/config_libconfig.c old mode 100644 new mode 100755 diff --git a/common/config/libconfig/config_libconfig.h b/common/config/libconfig/config_libconfig.h old mode 100644 new mode 100755 diff --git a/common/config/libconfig/config_libconfig_private.h b/common/config/libconfig/config_libconfig_private.h old mode 100644 new mode 100755 diff --git a/common/utils/T/tracer/extract_input_subframe.c b/common/utils/T/tracer/extract_input_subframe.c old mode 100644 new mode 100755 diff --git a/common/utils/load_module_shlib.c b/common/utils/load_module_shlib.c old mode 100644 new mode 100755 diff --git a/common/utils/load_module_shlib.h b/common/utils/load_module_shlib.h old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/CMakeLists.txt b/common/utils/telnetsrv/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/telnetsrv.c b/common/utils/telnetsrv/telnetsrv.c old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/telnetsrv.h b/common/utils/telnetsrv/telnetsrv.h old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/telnetsrv_phycmd.c b/common/utils/telnetsrv/telnetsrv_phycmd.c old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/telnetsrv_phycmd.h b/common/utils/telnetsrv/telnetsrv_phycmd.h old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.c b/common/utils/telnetsrv/telnetsrv_proccmd.c old mode 100644 new mode 100755 diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.h b/common/utils/telnetsrv/telnetsrv_proccmd.h old mode 100644 new mode 100755 diff --git a/open-nfapi.oai.patch b/open-nfapi.oai.patch old mode 100644 new mode 100755 diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c old mode 100644 new mode 100755 diff --git a/openair1/SCHED/fapi_l1.h b/openair1/SCHED/fapi_l1.h old mode 100644 new mode 100755 diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index 77a701d11b..3c97598369 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -197,7 +197,6 @@ typedef struct RrcConfigurationReq_s { long* q_QualMinRSRQ_CE_r13 [MAX_NUM_CCs]; BOOLEAN_t bandwidthReducedAccessRelatedInfo_r13 [MAX_NUM_CCs]; -// +kogo -- FIXME -- size 10 is temporary long si_Narrowband_r13 [MAX_NUM_CCs][32]; long si_TBS_r13 [MAX_NUM_CCs][32]; int scheduling_info_br_size [MAX_NUM_CCs]; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index e665d9bc46..5d5af145b6 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -144,7 +144,7 @@ void RCconfig_RU(void) { RC.ru[j]->num_eNB = RUParamList.paramarray[j][RU_ENB_LIST_IDX].numelt; else RC.ru[j]->num_eNB = 0; - for (i=0;inum_eNB;i++) RC.ru[j]->eNB_list[i] = RC.eNB[RUParamList.paramarray[j][RU_ENB_LIST_IDX].iptr[i]][0]; + for (i=0;inum_eNB;i++) RC.ru[j]->eNB_list[i] = RC.eNB[RUParamList.paramarray[j][RU_ENB_LIST_IDX].iptr[i]] [0]; if (strcmp(*(RUParamList.paramarray[j][RU_LOCAL_RF_IDX].strptr), "yes") == 0) { @@ -479,7 +479,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) const char* numRepetitionPerPreambleAttempt_r13 = NULL; const char* mpdcch_NumRepetition_RA_r13 = NULL; const char* prach_HoppingConfig_r13 = NULL; - int maxavailablenarrowband = 0; + int *maxavailablenarrowband = NULL; int pucch_info_value = 0; int paging_narrowbands_r13 = 0; @@ -526,7 +526,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) int mpdcch_pdsch_HoppingOffset_r13 = 0; const char* preambleTransMax_CE_r13 = NULL; const char* rach_numberOfRA_Preambles_br = NULL; - const char* mpdcch_startSF_CSS_RA_r13_val = NULL; + int prach_HoppingOffset_r13 = 0; int schedulingInfoSIB1_BR_r13 = 0; uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; @@ -538,9 +538,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) char* freqHoppingParametersDL_r13 = NULL; char* interval_DLHoppingConfigCommonModeA_r13 = NULL; char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13 = NULL; - + const char* prach_ConfigCommon_v1310 = NULL; + const char* mpdcch_startSF_CSS_RA_r13 = NULL; + const char* mpdcch_startSF_CSS_RA_r13_val = NULL; int srb1_timer_poll_retransmit = 0; int srb1_timer_reordering = 0; @@ -604,15 +604,23 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC; paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; - //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; - //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; - //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; - //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; - //paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; + paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; + paramlist_def_t rsrprangelist = {ENB_CONFIG_STRING_RSRP_RANGE_LIST, NULL, 0}; + + + paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; + paramlist_def_t prachParamslist = {ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, NULL, 0}; + + paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; + paramlist_def_t n1PUCCHInfoList = {ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, NULL, 0}; + + paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; + + paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; paramdef_t SRB1Params[] = SRB1PARAMS_DESC; @@ -1839,17 +1847,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) if (!strcmp(cellSelectionInfoCE_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; +// RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); +// *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; } else { RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; } + printf("[DEBUGGING][KOGO]: bandwidthReducedAccessRelatedInfo_r13 = %s\n", bandwidthReducedAccessRelatedInfo_r13); if (!strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + + printf("[DEBUGGING][KOGO][TANY]: bandwidthReducedAccessRelatedInfo_r13 = %s\n", bandwidthReducedAccessRelatedInfo_r13); + if (!strcmp(si_WindowLength_BR_r13, "ms20")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { @@ -1883,10 +1895,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; } - char schedulingInfoBrPath[MAX_OPTNAME_SIZE * 2]; config_getlist(&schedulingInfoBrParamList, NULL, 0, brparamspath); - + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = schedulingInfoBrParamList.numelt; int siInfoindex; for (siInfoindex = 0; siInfoindex < schedulingInfoBrParamList.numelt; siInfoindex++) { sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST, siInfoindex); @@ -1898,14 +1909,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) } + +// RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = 0; + // kogo -- recheck RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } else { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } + printf("[DEBUGGING][KOGO] fdd_DownlinkOrTddSubframeBitmapBR_r13 = %s\n", fdd_DownlinkOrTddSubframeBitmapBR_r13); printf("[DEBUGGING][KOGO] fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = %x\n", fdd_DownlinkOrTddSubframeBitmapBR_val_r13); RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; @@ -1968,6 +1984,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) /** ------------------------------SIB23------------------------------------------ */ + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); if (!strcmp(preambleTransMax_CE_r13, "n3")) { *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 0; @@ -2043,6 +2061,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep = rach_powerRampingStep / 2; + printf("[DEBUGGING][KOGO]: rach_powerRampingStep = %d\n", rach_powerRampingStep); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower = (rach_preambleInitialReceivedTargetPower + 120) / 2; @@ -2052,6 +2072,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + printf("[DEBUGGING][KOGO]: rach_preambleInitialReceivedTargetPower = %d\n", rach_preambleInitialReceivedTargetPower); + switch (rach_preambleTransMax) { case 3: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n3; @@ -2094,6 +2116,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) } + printf("[DEBUGGING][KOGO]: rach_preambleTransMax = %d\n", rach_preambleTransMax); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) @@ -2101,7 +2125,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", RC.config_file_name, i, rach_preambleTransMax); - + printf("[DEBUGGING][KOGO]: rach_raResponseWindowSize = %d\n", rach_raResponseWindowSize); RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; @@ -2110,6 +2134,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", RC.config_file_name, i, rach_preambleTransMax); + printf("[DEBUGGING][KOGO]: rach_macContentionResolutionTimer = %d\n", rach_macContentionResolutionTimer); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) @@ -2117,11 +2143,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", RC.config_file_name, i, rach_preambleTransMax); - + printf("[DEBUGGING][KOGO]: rach_maxHARQ_Msg3Tx = %d\n", rach_maxHARQ_Msg3Tx); char rachCELevelInfoListPath[MAX_OPTNAME_SIZE * 2]; config_getlist(&rachcelevellist, NULL, 0, brparamspath); - + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = rachcelevellist.numelt; int rachCEInfoIndex; for (rachCEInfoIndex = 0; rachCEInfoIndex < rachcelevellist.numelt; rachCEInfoIndex++) { sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); @@ -2445,9 +2471,748 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) printf("DEBUGGING][KOGO]: pusch_sequenceHoppingEnabled: %s\n", pusch_sequenceHoppingEnabled); + + /** PUCCH Config Common */ /** TO BE CONTINUED */ + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; + + if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift); + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; + + if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; + + if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN); + + + /** + check if pucch_n1_AN is in necessary the BR parameters + */ + + + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; + + if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + + if (strcmp(pusch_alpha, "AL0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; + } else if (strcmp(pusch_alpha, "AL04") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; + } else if (strcmp(pusch_alpha, "AL05") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; + } else if (strcmp(pusch_alpha, "AL06") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; + } else if (strcmp(pusch_alpha, "AL07") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; + } else if (strcmp(pusch_alpha, "AL08") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; + } else if (strcmp(pusch_alpha, "AL09") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; + } else if (strcmp(pusch_alpha, "AL1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; + if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal); + + if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } + else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1); + + if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } + else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b); + + + if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } + else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2); + + if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a); + + if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } + else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b); + + + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; + + if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble); + + + + + if (!strcmp(prach_ConfigCommon_v1310, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + + if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; + } else { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + } + + if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 0; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 1; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 2; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 3; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 4; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 5; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 6; + } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "10")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 7; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n", + RC.config_file_name, i); + } + printf("[DEBUGGING][KOGO] mpdcch_startSF_CSS_RA_r13_val %s\n", mpdcch_startSF_CSS_RA_r13_val); + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + } else { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; + } + + + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO]: pdsch_maxNumRepetitionCEmodeA_r13: %s\n", pdsch_maxNumRepetitionCEmodeA_r13); + + + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO]: pusch_maxNumRepetitionCEmodeA_r13: %s\n", pusch_maxNumRepetitionCEmodeA_r13); + + + char rsrpRangeListPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&rsrprangelist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = rsrprangelist.numelt; + + + int rsrprangeindex; + for (rsrprangeindex = 0; rsrprangeindex < rsrprangelist.numelt; rsrprangeindex++) { + sprintf(rsrpRangeListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RSRP_RANGE_LIST, rsrprangeindex); + config_get(rsrprangeParams, sizeof(rsrprangeParams) / sizeof(paramdef_t), rsrpRangeListPath); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrprangeindex] = rsrp_range_br; + printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br); + } + + + char prachparameterscePath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&prachParamslist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = prachParamslist.numelt; + + int prachparamsindex; + for (prachparamsindex = 0; prachparamsindex < prachParamslist.numelt; prachparamsindex++) { + sprintf(prachparameterscePath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, prachparamsindex); + config_get(prachParams, sizeof(prachParams) / sizeof(paramdef_t), prachparameterscePath); + + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prachparamsindex] = prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prachparamsindex] = prach_freq_offset_br; + + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = prach_StartingSubframe_r13; + + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = calloc(1, sizeof(long)); + if (!strcmp(maxNumPreambleAttemptCE_r13, "n3")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 0; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 1; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n5")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 2; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n6")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 3; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n7")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 4; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 5; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n10")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 6; + } else if (!strcmp(maxNumPreambleAttemptCE_r13, "spare1")) { + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, maxNumPreambleAttemptCE_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + printf("[DEBUGGING][KOGO]: maxNumPreambleAttemptCE_r13: %s\n", maxNumPreambleAttemptCE_r13); + + + if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 0; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 1; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 2; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 3; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n16")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 4; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n32")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 5; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n64")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 6; + } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n128")) { + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, numRepetitionPerPreambleAttempt_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO]: numRepetitionPerPreambleAttempt_r13: %s\n", numRepetitionPerPreambleAttempt_r13); + + + if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 0; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 1; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r4")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 2; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r8")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 3; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r16")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 4; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r32")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 5; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r64")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 6; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r128")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 7; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r256")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 8; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r512")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 9; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1024")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 10; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2048")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 11; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare4")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 12; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare3")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 13; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare2")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 14; + } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare1")) { + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 15; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, mpdcch_NumRepetition_RA_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO]: mpdcch_NumRepetition_RA_r13: %s\n", mpdcch_NumRepetition_RA_r13); + + if (!strcmp(prach_HoppingConfig_r13, "off")) { + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = 1; + } else if (!strcmp(prach_HoppingConfig_r13, "on")) { + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = 0; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, prach_HoppingConfig_r13 unknown value !! %d!\n", + RC.config_file_name, nb_cc++); + } + + printf("[DEBUGGING][KOGO]: prach_HoppingConfig_r13: %s\n", prach_HoppingConfig_r13); + + + + int maxavailablenarrowband_count = prachParams[7].numelt; + printf("[DEBUGGING][KOGO]: maxavailablenarrowband count = %d\n", prachParams[7].numelt); + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prachparamsindex] = maxavailablenarrowband_count; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < maxavailablenarrowband_count; narrow_band_index++) + { + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prachparamsindex][narrow_band_index] = prachParams[7].iptr[narrow_band_index]; + printf("[DEBUGGING][KOGO]: maxavailablenarrowband[index] = %d\n", prachParams[7].iptr[narrow_band_index]); + } + + + } + + char n1PUCCHInfoParamsPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&n1PUCCHInfoList, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = n1PUCCHInfoList.numelt; + + int n1PUCCHinfolistindex; + for (n1PUCCHinfolistindex = 0; n1PUCCHinfolistindex < n1PUCCHInfoList.numelt; n1PUCCHinfolistindex++) { + sprintf(n1PUCCHInfoParamsPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, n1PUCCHinfolistindex); + config_get(n1PUCCH_ANR13Params, sizeof(n1PUCCH_ANR13Params) / sizeof(paramdef_t), n1PUCCHInfoParamsPath); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][n1PUCCHinfolistindex] = pucch_info_value; + printf("[DEBUGGING][KOGO]: pucch_info_value: %d\n", pucch_info_value); + } + + /** UE Timers And Constants */ + + + if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", + RC.config_file_name, i, ue_TimersAndConstants_t300); + } + + printf("[DEBUGGING][KOGO]: ue_TimersAndConstants_t300 : %s\n", ue_TimersAndConstants_t300); + + if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; + } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", + RC.config_file_name, i, ue_TimersAndConstants_t301); + } + + printf("[DEBUGGING][KOGO]: ue_TimersAndConstants_t301 : %s\n", ue_TimersAndConstants_t301); + + if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", + RC.config_file_name, i, ue_TimersAndConstants_t310); + } + + printf("[DEBUGGING][KOGO]: ue_TimersAndConstants_t310 : %s\n", ue_TimersAndConstants_t310); + + if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; + } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", + RC.config_file_name, i, ue_TimersAndConstants_t311); + } + + printf("[DEBUGGING][KOGO]: ue_TimersAndConstants_t311 : %s\n", ue_TimersAndConstants_t311); + + if (!strcmp(ue_TimersAndConstants_n310, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; + } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; + } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; + } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; + } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; + } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; + } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; + } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", + RC.config_file_name, i, ue_TimersAndConstants_n310); + } + + printf("[DEBUGGING][KOGO]: ue_TimersAndConstants_n310 : %s\n", ue_TimersAndConstants_n310); + + if (!strcmp(ue_TimersAndConstants_n311, "n1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; + } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; + } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; + } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; + } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; + } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; + } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; + } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", + RC.config_file_name, i, ue_TimersAndConstants_n311); + } + + printf("[DEBUGGING][KOGO]: ue_TimersAndConstants_n311 : %s\n", ue_TimersAndConstants_n311); + + + if (!strcmp(ue_TransmissionMode, "tm1")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; + } else if (!strcmp(ue_TransmissionMode, "tm2")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; + } else if (!strcmp(ue_TransmissionMode, "tm3")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; + } else if (!strcmp(ue_TransmissionMode, "tm4")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; + } else if (!strcmp(ue_TransmissionMode, "tm5")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; + } else if (!strcmp(ue_TransmissionMode, "tm6")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; + } else if (!strcmp(ue_TransmissionMode, "tm7")) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", + RC.config_file_name, i, ue_TransmissionMode); + } + + printf("[DEBUGGING][KOGO]: ue_TransmissionMode : %s\n", ue_TransmissionMode); + + char PCCHConfigv1310Path[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(PCCHConfigv1310Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); + config_get(pcchv1310Params, sizeof(pcchv1310Params)/sizeof(paramdef_t), PCCHConfigv1310Path); + + + + /** PCCH CONFIG V1310 */ + + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; + printf("[DEBUGGING][KOGO]: paging_narrowbands_r13 = %d\n", paging_narrowbands_r13); + + if (!strcmp(mpdcch_numrepetition_paging_r13, "r1")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 0; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r2")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 1; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r4")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 2; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r8")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 3; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r16")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 4; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r32")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 5; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r64")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 6; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r128")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 7; + } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r256")) { + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 8; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + RC.config_file_name); + } + + printf("[DEBUGGING][KOGO] mpdcch_numrepetition_paging_r13: %s\n", mpdcch_numrepetition_paging_r13); + +// RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); +// if (!strcmp(nb_v1310, "one64thT")) { +// *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; +// } else if (!strcmp(nb_v1310, "one128thT")) { +// *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; +// } else if (!strcmp(nb_v1310, "one256thT")) { +// *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; +// } else { +// AssertFatal(0, +// "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", +// RC.config_file_name); +// } +// printf("[DEBUGGING][KOGO][CHAR*] nb_v1310: %s - %d\n", nb_v1310, *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j]); + + + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); + // ++cnt; // check this ,, the conter is up above + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", + RC.config_file_name); + } + printf("DEBUGGING][KOGO]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s\n", pucch_NumRepetitionCE_Msg4_Level0_r13); + + + + /** SIB2 FREQ HOPPING PARAMETERS R13 */ + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; + + char sib2FreqHoppingParametersR13Path[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(sib2FreqHoppingParametersR13Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13); + config_get(sib2freqhoppingParams, sizeof(sib2freqhoppingParams)/sizeof(paramdef_t), sib2FreqHoppingParametersR13Path); + + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int2")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int4")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int8")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int5")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int10")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int20")) { + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + RC.config_file_name); + } + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + + printf("[DEBUGGING][KOGO]: sib2_interval_ULHoppingConfigCommonModeA_r13: %s\n", sib2_interval_ULHoppingConfigCommonModeA_r13); + printf("[DEBUGGING][KOGO]: sib2_interval_ULHoppingConfigCommonModeA_r13_val: %s\n", sib2_interval_ULHoppingConfigCommonModeA_r13_val); + + + + if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! + + printf("[DEBUGGING][KOGO]: pusch_nDMRS1 = %d\n", pusch_nDMRS1); + + if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1); + + + if (strcmp(phich_duration, "NORMAL") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; + } + else if (strcmp(phich_duration, "EXTENDED") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; + } + else + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration); + + + printf("[DEBUGGING][KOGO]: phich_duration = %s\n", phich_duration); + + if (strcmp(phich_resource, "ONESIXTH") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; + } + else if (strcmp(phich_resource, "HALF") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; + } + else if (strcmp(phich_resource, "ONE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; + } + else if (strcmp(phich_resource, "TWO") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource); + } + + printf("[DEBUGGING][KOGO]: phich_resource = %s\n", phich_resource); + + + printf("phich.resource %d (%s), phich.duration %d (%s)\n", + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); + + if (strcmp(srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; + } + else if (strcmp(srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; + } + else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable); + } + + printf("[DEBUGGING][KOGO]: srs_enable = %s\n", srs_enable); + + + + /*system_info_value_tag_SI_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST); @@ -2472,90 +3237,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = num_system_info; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_BRAccessRelatedInfo, &bandwidthReducedAccessRelatedInfo_r13) && !strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) - { - printf("Enabling BR access SI scheduling parameters\n"); - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) || - !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) || - !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n", - RC.config_file_name, i); - - } - - - - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - - if (!strcmp(si_HoppingConfigCommon_r13, "off")) { - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; - } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) { - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; - } - - - printf("DEBUGGING][KOGO][CHAR*]: window length: %s - %d\n", si_WindowLength_BR_r13, RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j]); - printf("DEBUGGING][KOGO][CHAR*]: repetition pattern: %s - %d\n", si_RepetitionPattern_r13, RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j]); - printf("DEBUGGING][KOGO][CHAR*]: hopping config common: %s - %d\n", si_HoppingConfigCommon_r13, RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j]); - - scheduling_info_br_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST); - int num_scheduling_info = config_setting_length(scheduling_info_br_list); - RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info; - - for (sched_info_idx = 0; sched_info_idx < num_scheduling_info; ++sched_info_idx) - { - scheduling_info_br = config_setting_get_elem(scheduling_info_br_list, sched_info_idx); - if (!( - config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_NARROWBAND_R13, &si_Narrowband_r13) - && config_setting_lookup_int(scheduling_info_br, ENB_CONFIG_STRING_SI_TBS_R13, &si_TBS_r13) - ) - ){ - AssertFatal (0, "Failed to parse eNB configuration file %s, scheduking info br %d!\n", RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][sched_info_idx] = si_Narrowband_r13; - RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][sched_info_idx] = si_TBS_r13; - } - - bool fdd_downlink_exist = config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDD_SFB_BR, &fdd_DownlinkOrTddSubframeBitmapBR_r13); - if (fdd_downlink_exist) - { - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - else - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - - config_setting_lookup_int64(setting_br13, ENB_CONFIG_STRING_FDD_DLORTDDSFB_BR_VAL, &fdd_DownlinkOrTddSubframeBitmapBR_val_r13); - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - } - else - { - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL; - } - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(si_ValidityTime_r13, "true")) { - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", - RC.config_file_name, i); - } - printf("DEBUGGING][KOGO][CHAR*]: si_ValidityTime_r13: %s - %d\n", si_ValidityTime_r13, *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j]); - } - else - { - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL; - } - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; @@ -2571,187 +3252,14 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) } - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; - - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) { - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; - } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) { - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", - RC.config_file_name, i); - } - } - else { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL; - } - - if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - } - else - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = NULL; - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; - } - // SIB23 parameters --------------------------------------------------------------------------------------------------------------------------- - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13)) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - if (!strcmp(preambleTransMax_CE_r13, "n3")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 0; - } else if (!strcmp(preambleTransMax_CE_r13, "n4")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 1; - } else if (!strcmp(preambleTransMax_CE_r13, "n5")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 2; - } else if (!strcmp(preambleTransMax_CE_r13, "n6")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 3; - } else if (!strcmp(preambleTransMax_CE_r13, "n7")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 4; - } else if (!strcmp(preambleTransMax_CE_r13, "n8")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 5; - } else if (!strcmp(preambleTransMax_CE_r13, "n10")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 6; - } else if (!strcmp(preambleTransMax_CE_r13, "n20")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 7; - } else if (!strcmp(preambleTransMax_CE_r13, "n50")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 8; - } else if (!strcmp(preambleTransMax_CE_r13, "n100")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 9; - } else if (!strcmp(preambleTransMax_CE_r13, "n200")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 10; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d preambleTransMax_CE_r13 unknown value!\n", - RC.config_file_name, i); - } - } - else - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL; - } - printf("DEBUGGING][KOGO][CHAR*]: preambleTransMax_CE_r13: %s - %d\n", preambleTransMax_CE_r13, *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13); - rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST); - int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list); - RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = num_rach_ce_level_info_list; - int rach_info_level_idx; - for (rach_info_level_idx = 0; rach_info_level_idx < num_rach_ce_level_info_list; ++rach_info_level_idx) - { - rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx); - if (! (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE, &firstPreamble_r13) - && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE, &lastPreamble_r13) - && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, &ra_ResponseWindowSize_r13) - && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13) - && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, &rar_HoppingConfig_r13) ) - ) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rach_ce_level_info_r13 %d!\n", - RC.config_file_name, nb_cc++); - } - - RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx] = firstPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx] = lastPreamble_r13; - - if (!strcmp(ra_ResponseWindowSize_r13, "sf20")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 0; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf50")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 1; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf80")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 2; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf120")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 3; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf180")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 4; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf240")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 5; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf320")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 6; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf400")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, ra_ResponseWindowSize_r13 unknown value!\n", - RC.config_file_name); - } - - if (!strcmp(mac_ContentionResolutionTimer_r13, "sf80")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 0; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf100")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 1; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf120")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 2; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf160")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 3; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf200")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 4; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf240")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 5; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf480")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 6; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf960")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, mac_ContentionResolutionTimer_r13 unknown value!\n", - RC.config_file_name); - } - - if (!strcmp(rar_HoppingConfig_r13, "on")) { - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 0; - } else if (!strcmp(rar_HoppingConfig_r13, "off")) { - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 1; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rar_HoppingConfig_r13 unknown value!\n", - RC.config_file_name); - } - - } // for - - printf("DEBUGGING][KOGO][CHAR*]: ra_ResponseWindowSize_r13: %s - %d\n", preambleTransMax_CE_r13, RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][0]); - printf("DEBUGGING][KOGO][CHAR*]: mac_ContentionResolutionTimer_r13: %s - %d\n", mac_ContentionResolutionTimer_r13, RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][0]); - printf("DEBUGGING][KOGO][CHAR*]: rar_HoppingConfig_r13: %s - %d\n", rar_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][0]); - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13)) { - RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { - *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { - *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", - RC.config_file_name); - } - printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j]); - } if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13)) { @@ -2781,25 +3289,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) } - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13)) { - RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", - RC.config_file_name); - } - printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j]); - } - - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13)) { RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long)); if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r192")) { @@ -2833,30 +3322,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) printf("DEBUGGING][KOGO][CHAR*]: pusch_HoppingOffset_v1310 %d\n", *RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j]); } - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); - ++cnt; - if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", - RC.config_file_name); - } - printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level0_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j]); - } - else - { - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;; - } - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13)) { @@ -2934,23 +3399,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) } - rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST); - int num_rsrp_list = config_setting_length(rsrp_range_list); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list; - int rsrp_range_idx; - for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx) - { - rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx); - if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br))) - { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rsrp_range %d!\n", - RC.config_file_name, nb_cc++); - } - RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br; - printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br); - } - prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13); int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list); RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13; @@ -2972,128 +3420,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13); - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index] = prach_config_index_br; - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index] = prach_freq_offset_br; - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - - if (config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - if (!strcmp(maxNumPreambleAttemptCE_r13, "n3")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 0; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n4")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 1; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n5")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 2; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n6")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 3; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n7")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 4; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n8")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 5; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n10")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 6; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "spare1")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, maxNumPreambleAttemptCE_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); - } - printf("[DEBUGGING][KOGO][CHAR*]: maxNumPreambleAttemptCE_r13: %s - %d\n", maxNumPreambleAttemptCE_r13, *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index]); - } - else - { - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL; - } - - - - if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n1")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 0; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n2")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 1; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n4")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 2; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n8")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 3; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n16")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 4; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n32")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 5; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n64")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 6; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n128")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, numRepetitionPerPreambleAttempt_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); - } - printf("[DEBUGGING][KOGO][CHAR*]: numRepetitionPerPreambleAttempt_r13: %s - %d\n", numRepetitionPerPreambleAttempt_r13, RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index]); - - - if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 0; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 1; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r4")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 2; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r8")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 3; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r16")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 4; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r32")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 5; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r64")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 6; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r128")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 7; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r256")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 8; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r512")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 9; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1024")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 10; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2048")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 11; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare4")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 12; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare3")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 13; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare2")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 14; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare1")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 15; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, mpdcch_NumRepetition_RA_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); - } - - printf("[DEBUGGING][KOGO][CHAR*]: mpdcch_NumRepetition_RA_r13: %s - %d\n", mpdcch_NumRepetition_RA_r13, RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index]); - - if (!strcmp(prach_HoppingConfig_r13, "off")) { - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 1; - } else if (!strcmp(prach_HoppingConfig_r13, "on")) { - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 0; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, prach_HoppingConfig_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); - } - - printf("[DEBUGGING][KOGO][CHAR*]: prach_HoppingConfig_r13: %s - %d\n", prach_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index]); - - if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13)) - { - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13; - } - else - { - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL; - } max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND); @@ -3255,54 +3581,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) - if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13)) - { - - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); - config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val); - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int2")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int4")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int8")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", - RC.config_file_name); - } - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int5")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int10")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int20")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", - RC.config_file_name); - } - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", - RC.config_file_name); - } - - printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j]); - } - else - { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = NULL; - } - printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j]); @@ -3434,217 +3712,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) continue; // FIXME this prevents segfaults below, not sure what happens after function exit } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; - - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; - - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); - - if (!prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation; - - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; - - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; - - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; - - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; - - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; - - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); - - if (!pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; - - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); - - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); - - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; - - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); - - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); - - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); - - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); - - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); - - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); - if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) { if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig) && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig) @@ -3691,130 +3758,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) RC.config_file_name, i, srs_MaxUpPts); } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; - - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); - - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; - } - else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; - } - else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; - } - else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; - } - else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; - } - else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; - } - else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; - } - else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", - RC.config_file_name, i, pusch_alpha); - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; - - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; - - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); - - - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); - - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); - - - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); - - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); - - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); @@ -4282,74 +4225,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode); - setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); - if (setting_pcch_config_v1310 != NULL) - { - RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; - if (!config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, &paging_narrowbands_r13) - || !config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13) - ) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n", - RC.config_file_name, i); - RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; - - - if (!strcmp(mpdcch_numrepetition_paging_r13, "r1")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 0; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r2")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 1; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r4")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 2; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r8")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 3; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r16")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 4; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r32")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 5; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r64")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 6; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r128")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 7; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r256")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 8; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", - RC.config_file_name); - } - - printf("[DEBUGGING][KOGO][CHAR*] mpdcch_numrepetition_paging_r13: %s - %d\n", mpdcch_numrepetition_paging_r13, RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j]); - - if (config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310)) - { - RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); - if (!strcmp(nb_v1310, "one64thT")) { - *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; - } else if (!strcmp(nb_v1310, "one128thT")) { - *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; - } else if (!strcmp(nb_v1310, "one256thT")) { - *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", - RC.config_file_name); - } - printf("[DEBUGGING][KOGO][CHAR*] nb_v1310: %s - %d\n", nb_v1310, *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j]); - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = NULL; - } - - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = FALSE; - } if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13)) { @@ -4388,72 +4264,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) /////SIB2 Parameters - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - - if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13)) - { - if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val)) - { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n", - RC.config_file_name, i); - - } - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); - - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; - } else { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; - } - - if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 0; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 1; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 2; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 3; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v4")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 4; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v5")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 5; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v8")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 6; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "10")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 7; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n", - RC.config_file_name, i); - } - printf("[DEBUGGING][KOGO][CHAR*] mpdcch_startSF_CSS_RA_r13_val %s - %d\n", mpdcch_startSF_CSS_RA_r13_val, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val); - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL; - } - - //if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13)) - //{ - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; - - //} - //else - //{ - // RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL; - //} - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; - } } else { diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index e01db7aa5a..019b9a750e 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -383,6 +383,12 @@ static int DEFENBS[] = {0}; #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2 "pucch_deltaF_Format2" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A "pucch_deltaF_Format2a" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B "pucch_deltaF_Format2b" + +#define ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310 "prach_ConfigCommon_v1310" +#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13 "mpdcch_startSF_CSS_RA_r13" +#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL "mpdcch_startSF_CSS_RA_r13_val" +#define ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13 "prach_HoppingOffset_r13" + #define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES "rach_numberOfRA_Preambles" #define ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG "rach_preamblesGroupAConfig" #define ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA "rach_sizeOfRA_PreamblesGroupA" @@ -460,12 +466,18 @@ static int DEFENBS[] = {0}; {ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ {ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, strptr:&rach_numberOfRA_Preambles, defstrval:"n64", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, strptr:&rach_numberOfRA_Preambles, defstrval:"n64", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ @@ -513,6 +525,10 @@ static int DEFENBS[] = {0}; #define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13" +#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" +#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" + + #define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" #define BRPARAMS_DESC { \ @@ -654,40 +670,42 @@ static int DEFENBS[] = {0}; #define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" #define PRACH_PARAMS_CE_R13_DESC { \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, iptr:&maxNumPreambleAttemptCE_r13, defintval:"n10", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, iptr:&numRepetitionPerPreambleAttempt_r13, defintval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, iptr:&mpdcch_NumRepetition_RA_r13, defintval:"r1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, iptr:&prach_HoppingConfig_r13, defintval:"off", TYPE_STRING, 0}, \ -{ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, iptr:&maxavailablenarrowband, defintval:2, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, strptr:&maxNumPreambleAttemptCE_r13, defstrval:"n10", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, strptr:&numRepetitionPerPreambleAttempt_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, strptr:&mpdcch_NumRepetition_RA_r13, defstrval:"r1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, strptr:&prach_HoppingConfig_r13, defstrval:"off", TYPE_STRING, 0}, \ +{ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, uptr:NULL, defintarrayval:NULL, TYPE_INTARRAY, 0} \ } +#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" + #define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" #define N1PUCCH_AN_INFOLIST_R13_DESC { \ -"pucch_info_value", NULL, 0, iptr:&pucch_info_value, defintval:0, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&pucch_info_value, defintval:0, TYPE_UINT, 0} \ } #define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" #define PCCH_CONFIG_V1310_DESC { \ -"paging_narrowbands_r13", NULL, 0, iptr:&paging_narrowbands_r13, defintval:1, TYPE_UINT, 0} \ -"mpdcch_numrepetition_paging_r13", NULL, 0, iptr:&mpdcch_numrepetition_paging_r13, defintval:"r1", TYPE_STRING, 0} \ -"nb_v1310", NULL, 0, iptr:&nb_v1310, defintval:"one256thT", TYPE_STRING, 0} \ - } +{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&mpdcch_numrepetition_paging_r13, defintval:"r1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&nb_v1310, defintval:"one256thT", TYPE_STRING, 0} \ +} #define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" #define SIB2_FREQ_HOPPING_R13_DESC { \ -"sib2_mpdcch_pdsch_hoppingNB_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingNB_r13, defintval:"", TYPE_STRING, 0} \ -"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13, defintval:"", TYPE_STRING, 0} \ -"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:"", TYPE_STRING, 0} \ -"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0} \ -"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0} \ -"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeA_r13, defintval:"FDD", TYPE_STRING, 0} \ -"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:"int4", TYPE_STRING, 0} \ -"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0} \ -"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_UHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0} \ -"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&sib2_mpdcch_pdsch_hoppingNB_r13, defstrval:"", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13, defintval:"", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:"", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeA_r13_val, defstrval:"int4", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0}, \ +{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ } /*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c old mode 100644 new mode 100755 diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index e935c7f1fd..1b2391cfcb 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -558,6 +558,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) { + printf("[DEBUGGING][KOGO][TANY2]: bandwidthReducedAccessRelatedInfo_r13 = %d\n", configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]); sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); @@ -572,6 +573,8 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 = configuration->si_RepetitionPattern_r13[CC_id]; // 0 + printf("[DEBUGGING][KOGO][ASN1]: si_RepetitionPattern_r13 = %d\n", configuration->si_RepetitionPattern_r13[CC_id]); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); SchedulingInfo_BR_r13_t *schedulinginfo_br_13 = calloc(1, sizeof(SchedulingInfo_BR_r13_t)); @@ -584,6 +587,8 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; + printf("[DEBUGGING][ASN1]: si_NarrowBand_r13: %d\n", configuration->si_Narrowband_r13[CC_id][index]); + printf("[DEBUGGING][ASN1]: si_TBS_r13: %d\n", configuration->si_TBS_r13[CC_id][index]); LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13); ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); } @@ -1276,14 +1281,18 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]) { + puts("[DEBUGGING][KOGO][ASN]: SIB2 Interval UL HOPPING CONFIG COMMON MODE A\n"); (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13)); if (*configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id] == 0) { + printf("[DEBUGGING][KOGO][ASN]: FDD UL HOPPING CONFIG COMMON MODE A\n"); + printf("[DEBUGGING][KOGO][ASN]: interval UL hopping config common: %d\n", configuration->sib2_interval_ULHoppingConfigCommonModeA_r13_val[CC_id]); (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->present = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 = configuration->sib2_interval_ULHoppingConfigCommonModeA_r13_val[CC_id]; + } else { @@ -1296,6 +1305,7 @@ uint8_t do_SIB23(uint8_t Mod_id, } else { + printf("[DEBUGGING][KOGO][ALLOC ERROR] interval ul hopping: %d\n", configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]); (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = NULL; } @@ -1419,7 +1429,6 @@ uint8_t do_SIB23(uint8_t Mod_id, ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, rsrp_range); } - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; if (rrconfig->mpdcch_startSF_CSS_RA_r13) @@ -1437,6 +1446,8 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; } + printf("[DEBUGGING][KOGO][SIB23]: mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = %d\n", + (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13); } if (rrconfig->prach_HoppingOffset_r13) @@ -1448,6 +1459,8 @@ uint8_t do_SIB23(uint8_t Mod_id, { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; } + printf("[DEBUGGING][KOGO][SIB23]: prach_HoppingOffset_r13 = %d\n", + *(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13); PRACH_ParametersCE_r13_t *prach_parametersce_r13; @@ -1457,53 +1470,68 @@ uint8_t do_SIB23(uint8_t Mod_id, for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce; ++prach_parameters_index) { - prach_parametersce_r13 = CALLOC(1, sizeof(PRACH_ParametersCE_r13_t)); - - prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; - prach_parametersce_r13->prach_FreqOffset_r13 = configuration->prach_freq_offset[CC_id][prach_parameters_index]; - - AssertFatal(configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]!=NULL, - "configuration->prach_StartingSubframe_r13[%d][%d] is null", - (int)CC_id,(int)prach_parameters_index); - if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) - { - prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); - *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; - } - else - { - prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; - } + prach_parametersce_r13 = CALLOC(1, sizeof(PRACH_ParametersCE_r13_t)); + prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_FreqOffset_r13 = configuration->prach_freq_offset[CC_id][prach_parameters_index]; - if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); - *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; - } - else - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; - } + AssertFatal(configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]!=NULL, + "configuration->prach_StartingSubframe_r13[%d][%d] is null", + (int)CC_id,(int)prach_parameters_index); + if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) + { + prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); + *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + } - prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; - prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; - printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); + if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); + *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; + } + else + { + prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; + } + + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; + prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; - long *maxavailablenarrowband; - int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; - int narrow_band_index; - for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) - { - maxavailablenarrowband = CALLOC(1, sizeof(long)); - *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); - } + printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_ConfigIndex_r13 = %d\n", prach_parametersce_r13->prach_ConfigIndex_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_FreqOffset_r13 = %d\n", prach_parametersce_r13->prach_FreqOffset_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_StartingSubframe_r13 = %d\n", *prach_parametersce_r13->prach_StartingSubframe_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : maxNumPreambleAttemptCE_r13 = %d\n", *prach_parametersce_r13->maxNumPreambleAttemptCE_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : numRepetitionPerPreambleAttempt_r13 = %d\n", prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : mpdcch_NumRepetition_RA_r13 = %d\n", prach_parametersce_r13->mpdcch_NumRepetition_RA_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_HoppingConfig_r13 = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; - prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + long *maxavailablenarrowband; + int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) + { + maxavailablenarrowband = CALLOC(1, sizeof(long)); + *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; + ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); + } + + + printf("[DEBUGGING][KOGO][SIB23][WTF] : maxavailablenarrowband = %d\n", *maxavailablenarrowband); + + + prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; + + printf("[DEBUGGING][KOGO][SIB23][WTF] : mpdcch_NumRepetition_RA_r13 = %d\n", prach_parametersce_r13->mpdcch_NumRepetition_RA_r13); + printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_HoppingConfig_r13 = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); + + + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); } } else diff --git a/targets/ARCH/mobipass/interface.c b/targets/ARCH/mobipass/interface.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/mobipass/mobipass.c b/targets/ARCH/mobipass/mobipass.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/mobipass/mobipass.h b/targets/ARCH/mobipass/mobipass.h old mode 100644 new mode 100755 diff --git a/targets/ARCH/mobipass/queues.c b/targets/ARCH/mobipass/queues.c old mode 100644 new mode 100755 diff --git a/targets/ARCH/mobipass/queues.h b/targets/ARCH/mobipass/queues.h old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 9af3fd412e..25fbfc78e5 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -133,14 +133,14 @@ eNBs = scheduling_info_br = ( { - si_Narrowband_r13 = 5; + si_Narrowband_r13 = 8; si_TBS_r13 = 5; } ); fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13"; fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF; - startSymbolBR_r13 = 3; + startSymbolBR_r13 = 2; si_HoppingConfigCommon_r13 = "off"; #1; # Note: 1==OFF ! si_ValidityTime_r13 = "true"; #0 @@ -159,10 +159,10 @@ eNBs = rach_numberOfRA_Preambles = "n60"; #14 rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; + rach_preambleInitialReceivedTargetPower = -110; rach_preambleTransMax = 10; rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; + rach_macContentionResolutionTimer = 64; rach_maxHARQ_Msg3Tx = 4; # max size for this array is 4 @@ -188,11 +188,11 @@ eNBs = prach_root = 89; prach_config_index = 3; prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 1; + prach_zero_correlation = 12; + prach_freq_offset = 2; #PDSCH Config Common - pdsch_referenceSignalPower = -27; + pdsch_referenceSignalPower = 12; # was -27 pdsch_p_b = 0; @@ -214,7 +214,7 @@ eNBs = pusch_p0_Nominal = -96; pusch_alpha = "AL1"; pucch_p0_Nominal = -104; - pucch_deltaF_Format1 = "deltaF2"; + pucch_deltaF_Format1 = "deltaF0"; pucch_deltaF_Format1b = "deltaF3"; pucch_deltaF_Format2 = "deltaF0"; pucch_deltaF_Format2a = "deltaF0"; @@ -224,7 +224,12 @@ eNBs = prach_ConfigCommon_v1310 = "ENABLE"; - + + mpdcch_startSF_CSS_RA_r13 = "fdd-r13"; + mpdcch_startSF_CSS_RA_r13_val = "v1"; #0 + prach_HoppingOffset_r13 = 0; + + pdsch_maxNumRepetitionCEmodeA_r13 = "r16"; #0 #pdsch_maxNumRepetitionCEmodeB_r13 = "r384"; # NULL - 2 @@ -240,16 +245,12 @@ eNBs = } ); - mpdcch_startSF_CSS_RA_r13 = "fdd-r13"; - mpdcch_startSF_CSS_RA_r13_val = "v1"; #0 - prach_HoppingOffset_r13 = 0; - # max size for this array is 4 prach_parameters_ce_r13 = ( { prach_config_index_br = 3; - prach_freq_offset_br = 1; + prach_freq_offset_br = 2; prach_StartingSubframe_r13 = 0; maxNumPreambleAttemptCE_r13 = "n10"; #6 numRepetitionPerPreambleAttempt_r13 = "n1"; #0 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.100PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.100PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.50PRB.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/mobipass-standalone.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/mobipass-standalone.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf old mode 100644 new mode 100755 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf old mode 100644 new mode 100755 From e42505648ce012a66e05654b8e1a42d174c889aa Mon Sep 17 00:00:00 2001 From: Ahmed Elias Date: Tue, 17 Oct 2017 13:05:04 +0200 Subject: [PATCH 068/109] Solving minor issue in configuration --- openair2/ENB_APP/enb_config.c | 8 ++++---- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 15 --------------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 5d5af145b6..6604166b8b 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -1833,7 +1833,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) -//#ifdef Rel14 +#ifdef Rel14 char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; sprintf(brparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS); config_get( brParams, sizeof(brParams)/sizeof(paramdef_t), brparamspath); @@ -1915,10 +1915,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) // kogo -- recheck RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } else { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } printf("[DEBUGGING][KOGO] fdd_DownlinkOrTddSubframeBitmapBR_r13 = %s\n", fdd_DownlinkOrTddSubframeBitmapBR_r13); @@ -4271,7 +4271,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) }*/ -//#endif +#endif //sprintf(brpath,"%s.%s.[%i].%s",enbpath,ENB_CONFIG_STRING_COMPONENT_CARRIERS,ENB_CONFIG_STRING_BR_PARAMETERS,j); //config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 1b2391cfcb..c765a62bb8 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -1501,15 +1501,6 @@ uint8_t do_SIB23(uint8_t Mod_id, prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; - - printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_ConfigIndex_r13 = %d\n", prach_parametersce_r13->prach_ConfigIndex_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_FreqOffset_r13 = %d\n", prach_parametersce_r13->prach_FreqOffset_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_StartingSubframe_r13 = %d\n", *prach_parametersce_r13->prach_StartingSubframe_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : maxNumPreambleAttemptCE_r13 = %d\n", *prach_parametersce_r13->maxNumPreambleAttemptCE_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : numRepetitionPerPreambleAttempt_r13 = %d\n", prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : mpdcch_NumRepetition_RA_r13 = %d\n", prach_parametersce_r13->mpdcch_NumRepetition_RA_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_HoppingConfig_r13 = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); - long *maxavailablenarrowband; int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index]; int narrow_band_index; @@ -1521,15 +1512,9 @@ uint8_t do_SIB23(uint8_t Mod_id, } - printf("[DEBUGGING][KOGO][SIB23][WTF] : maxavailablenarrowband = %d\n", *maxavailablenarrowband); - - prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - printf("[DEBUGGING][KOGO][SIB23][WTF] : mpdcch_NumRepetition_RA_r13 = %d\n", prach_parametersce_r13->mpdcch_NumRepetition_RA_r13); - printf("[DEBUGGING][KOGO][SIB23][WTF] : prach_HoppingConfig_r13 = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); } From 56e74b7886a0e84e6aedf64016b6dd6e07041044 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 23 Oct 2017 19:24:53 +0200 Subject: [PATCH 069/109] noise measurements used for PUCCH/PUSCH --- openair1/PHY/LTE_TRANSPORT/pucch.c | 5 +++-- openair1/SCHED/phy_procedures_lte_eNb.c | 17 ++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c index 05355c9992..c36959b1c4 100644 --- a/openair1/PHY/LTE_TRANSPORT/pucch.c +++ b/openair1/PHY/LTE_TRANSPORT/pucch.c @@ -1802,7 +1802,8 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, LTE_DL_FRAME_PARMS *frame_parms = &eNB->frame_parms; // PUCCH_CONFIG_DEDICATED *pucch_config_dedicated = &eNB->pucch_config_dedicated[UE_id]; - int8_t sigma2_dB = 20;//eNB->measurements.n0_subband_power_tot_dB[0]-10; + int8_t sigma2_dB = max(eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); uint32_t u,v,n,aa; uint32_t z[12*14]; @@ -2153,7 +2154,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, // stat_max *= nsymb; // normalize to energy per symbol // stat_max /= (frame_parms->N_RB_UL*12); // - stat_max /= (nsymb*12); + stat_max /= 12; #ifdef DEBUG_PUCCH_RX printf("[eNB] PUCCH: stat %d, stat_max %d, phase_max %d\n", stat,stat_max,phase_max); #endif diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 05a6dca09b..4ae2164344 100644 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -634,7 +634,7 @@ void prach_procedures(PHY_VARS_eNB *eNB, */ if (eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0]==1){ if ((eNB->prach_energy_counter == 100) && - (max_preamble_energy[0] > eNB->measurements.prach_I0 + 100)) { + (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { eNB->UL_INFO.rach_ind_br.number_of_preambles++; eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind];// @@ -663,7 +663,7 @@ void prach_procedures(PHY_VARS_eNB *eNB, { if ((eNB->prach_energy_counter == 100) && - (max_preamble_energy[0] > eNB->measurements.prach_I0+100)) { + (max_preamble_energy[0] > eNB->measurements.prach_I0+200)) { LOG_D(PHY,"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", eNB->Mod_id, @@ -748,8 +748,8 @@ void fill_sr_indication(PHY_VARS_eNB *eNB,uint16_t rnti,int frame,int subframe,u // pdu->rx_ue_information.handle = handle; pdu->rx_ue_information.rnti = rnti; - int SNRtimes10 = dB_fixed_times10(stat) - 200;//(10*eNB->measurements.n0_power_dB[0]); - + int SNRtimes10 = dB_fixed_times10(stat) - 10*max(eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); if (SNRtimes10 < -640) pdu->ul_cqi_information.ul_cqi=0; else if (SNRtimes10 > 635) pdu->ul_cqi_information.ul_cqi=255; @@ -1544,7 +1544,9 @@ void fill_rx_indication(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe) pdu->rx_indication_rel8.timing_advance = timing_advance_update; // estimate UL_CQI for MAC (from antenna port 0 only) - int SNRtimes10 = dB_fixed_times10(eNB->pusch_vars[UE_id]->ulsch_power[0]) - 200;//(10*eNB->measurements.n0_power_dB[0]); + int SNRtimes10 = dB_fixed_times10(eNB->pusch_vars[UE_id]->ulsch_power[0]) - + 10*max(eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); if (SNRtimes10 < -640) pdu->rx_indication_rel8.ul_cqi=0; else if (SNRtimes10 > 635) pdu->rx_indication_rel8.ul_cqi=255; @@ -1755,7 +1757,8 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB, pdu->rx_ue_information.rnti = uci->rnti; // estimate UL_CQI for MAC (from antenna port 0 only) - int SNRtimes10 = dB_fixed_times10(uci->stat) - 200;//(10*eNB->measurements.n0_power_dB[0]); + int SNRtimes10 = dB_fixed_times10(uci->stat) - 10*max(eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); if (SNRtimes10 < -100) LOG_I(PHY,"uci->stat %d \n",uci->stat); @@ -1957,7 +1960,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const eNB->first_run_I0_measurements); int min_I0=1000,max_I0=0; - if ((frame==0) && (subframe==6)) { + if ((frame==0) && (subframe==2)) { for (int i=0;iframe_parms.N_RB_UL;i++) { if (i==(eNB->frame_parms.N_RB_UL>>1) - 1) i+=2; From 5d5efb7b745fe4cb3f1d7846b34183cb9d48f2c8 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 23 Oct 2017 19:48:13 +0200 Subject: [PATCH 070/109] IF4p5 optimizations for RRU and more inline performance statistics for RRU --- openair1/PHY/LTE_TRANSPORT/if4_tools.c | 52 +++++++++++++++++++------- openair1/PHY/defs.h | 4 ++ targets/RT/USER/lte-ru.c | 11 +++++- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c index 4528766676..c671d78aba 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c @@ -58,7 +58,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) { uint16_t db_fulllength, db_halflength; int slotoffsetF=0, blockoffsetF=0; - uint16_t *data_block=NULL, *i=NULL; + uint16_t *data_block=NULL, *i=NULL, *d=NULL; IF4p5_header_t *packet_header=NULL; eth_state_t *eth = (eth_state_t*) (ru->ifdevice.priv); @@ -138,23 +138,48 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) { if (packet_type == IF4p5_PULFFT) { + uint16_t *rx0 = (uint16_t*) &rxdataF[0][blockoffsetF]; + uint16_t *rx1 = (uint16_t*) &rxdataF[0][slotoffsetF]; + + for (symbol_id=fp->symbols_per_tti-nsym; symbol_idsymbols_per_tti; symbol_id++) { VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_SEND_IF4_SYMBOL, symbol_id ); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_COMPR_IF, 1 ); - for (element_id=0; element_idframe_status &= ~(0x000f<<26); - packet_header->frame_status |= (symbol_id&0x000f)<<26; + + start_meas(&ru->compression); + + for (element_id=0; element_idcompression); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_COMPR_IF, 0 ); + packet_header->frame_status &= ~(0x000f<<26); + packet_header->frame_status |= (symbol_id&0x000f)<<26; VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF, 1 ); + start_meas(&ru->transport); if ((ru->ifdevice.trx_write_func(&ru->ifdevice, symbol_id, &tx_buffer, @@ -163,6 +188,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) { IF4p5_PULFFT)) < 0) { perror("ETHERNET write for IF4p5_PULFFT\n"); } + stop_meas(&ru->transport); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF, 0 ); slotoffsetF += fp->ofdm_symbol_size; blockoffsetF += fp->ofdm_symbol_size; diff --git a/openair1/PHY/defs.h b/openair1/PHY/defs.h index 24ea961b0e..0e44a7f8bd 100644 --- a/openair1/PHY/defs.h +++ b/openair1/PHY/defs.h @@ -756,6 +756,10 @@ typedef struct RU_t_s{ time_stats_t rx_fhaul; /// Timing statistics (TX Fronthaul + Compression) time_stats_t tx_fhaul; + /// Timong statistics (Compression) + time_stats_t compression; + /// Timing statistics (Fronthaul transport) + time_stats_t transport; /// RX and TX buffers for precoder output RU_COMMON common; /// beamforming weight vectors per eNB diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 45f69ca414..752e221ac5 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -1322,8 +1322,11 @@ static void* ru_stats_thread(void* param) { if (ru->feprx) print_meas(&ru->ofdm_demod_stats,"feprx",NULL,NULL); if (ru->feptx_ofdm) print_meas(&ru->ofdm_mod_stats,"feptx_ofdm",NULL,NULL); if (ru->fh_north_asynch_in) print_meas(&ru->rx_fhaul,"rx_fhaul",NULL,NULL); - if (ru->fh_north_out) print_meas(&ru->tx_fhaul,"tx_fhaul",NULL,NULL); - + if (ru->fh_north_out) { + print_meas(&ru->tx_fhaul,"tx_fhaul",NULL,NULL); + print_meas(&ru->compression,"compression",NULL,NULL); + print_meas(&ru->transport,"transport",NULL,NULL); + } } } return(NULL); @@ -1911,6 +1914,8 @@ void init_RU(char *rf_config_file) { ru->ifdevice.eth_params = &ru->eth_params; reset_meas(&ru->rx_fhaul); reset_meas(&ru->tx_fhaul); + reset_meas(&ru->compression); + reset_meas(&ru->transport); ret = openair0_transport_load(&ru->ifdevice,&ru->openair0_cfg,&ru->eth_params); printf("openair0_transport_init returns %d for ru_id %d\n",ret,ru_id); @@ -1934,6 +1939,8 @@ void init_RU(char *rf_config_file) { ru->ifdevice.eth_params = &ru->eth_params; reset_meas(&ru->rx_fhaul); reset_meas(&ru->tx_fhaul); + reset_meas(&ru->compression); + reset_meas(&ru->transport); ret = openair0_transport_load(&ru->ifdevice,&ru->openair0_cfg,&ru->eth_params); printf("openair0_transport_init returns %d for ru_id %d\n",ret,ru_id); From ab058059ac388e7f8858ea7d8fe999df406f5b5e Mon Sep 17 00:00:00 2001 From: Eurecom Date: Tue, 24 Oct 2017 00:54:45 +0200 Subject: [PATCH 071/109] minor changes for IF4p5 in RAU. --- openair1/PHY/LTE_TRANSPORT/if4_tools.c | 7 +++---- openair1/PHY/LTE_TRANSPORT/if4_tools.h | 10 +++++----- targets/RT/USER/lte-enb.c | 4 ++-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c index c671d78aba..a2b72371b4 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c @@ -309,7 +309,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint *subframe = ((packet_header->frame_status)>>22)&0x000f; *packet_type = packet_header->sub_type; - + LOG_D(PHY,"recv_IF4p5: Frame %d, Subframe %d: packet_type %x\n",*frame,*subframe,*packet_type); if (*packet_type == IF4p5_PDLFFT) { *symbol_number = ((packet_header->frame_status)>>26)&0x000f; VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_RECV_IF4_SYMBOL, *symbol_number ); @@ -339,7 +339,6 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint slotoffsetF = (*symbol_number)*(fp->ofdm_symbol_size); blockoffsetF = slotoffsetF + fp->ofdm_symbol_size - db_halflength; VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_DECOMPR_IF, 1 ); - if (ru->idx==0) LOG_D(PHY,"UL_IF4p5: CC_id %d : frame %d, subframe %d, symbol %d\n",ru->idx,*frame,*subframe,*symbol_number); for (element_id=0; element_id %d dB\n",ru->idx,*frame,*subframe, - // dB_fixed(signal_energy((int*)&prach_rxsigF[0][0],839))); + LOG_D(PHY,"PRACH_IF4p5: CC_id %d : frame %d, subframe %d => %d dB\n",ru->idx,*frame,*subframe, + dB_fixed(signal_energy((int*)&prach_rxsigF[0][0],839))); for (idx=0;idxnum_eNB;idx++) ru->wakeup_prach_eNB(ru->eNB_list[idx],ru,*frame,*subframe); } else if (*packet_type == IF4p5_PULTICK) { diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.h b/openair1/PHY/LTE_TRANSPORT/if4_tools.h index a251c62d0d..0a95e60ead 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.h +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.h @@ -39,11 +39,11 @@ #define IF4p5_PULFFT 0x0019 #define IF4p5_PDLFFT 0x0020 #define IF4p5_PRACH 0x0021 -#define IF4p5_PRACH_BR_CE0 0x0021 -#define IF4p5_PRACH_BR_CE1 0x0022 -#define IF4p5_PRACH_BR_CE2 0x0023 -#define IF4p5_PRACH_BR_CE3 0x0024 -#define IF4p5_PULTICK 0x0025 +#define IF4p5_PRACH_BR_CE0 0x0022 +#define IF4p5_PRACH_BR_CE1 0x0023 +#define IF4p5_PRACH_BR_CE2 0x0024 +#define IF4p5_PRACH_BR_CE3 0x0025 +#define IF4p5_PULTICK 0x0026 struct IF4p5_header { /// Type diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c index 33e6b0684b..fe532d8c62 100644 --- a/targets/RT/USER/lte-enb.c +++ b/targets/RT/USER/lte-enb.c @@ -386,7 +386,7 @@ void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) { pthread_mutex_lock(&proc->mutex_RU_PRACH); for (i=0;inum_RU;i++) { if (ru == eNB->RU_list[i]) { - LOG_D(PHY,"frame %d, subframe %d: RU %d for eNB %d signals PRACH (mask %x, num_RU %d)\n",frame,subframe,i,eNB->Mod_id,proc->RU_mask_prach,eNB->num_RU); + LOG_I(PHY,"frame %d, subframe %d (%d): RU %d for eNB %d signals PRACH (mask %x, num_RU %d)\n",frame,subframe,is_prach_subframe(fp,frame,subframe),i,eNB->Mod_id,proc->RU_mask_prach,eNB->num_RU); if ((proc->RU_mask_prach&(1< 0) LOG_E(PHY,"eNB %d frame %d, subframe %d : previous information (PRACH) from RU %d (num_RU %d, mask %x) has not been served yet!\n", eNB->Mod_id,frame,subframe,ru->idx,eNB->num_RU,proc->RU_mask_prach); @@ -405,7 +405,7 @@ void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) { // check if we have to detect PRACH first if (is_prach_subframe(fp,frame,subframe)>0) { - LOG_D(PHY,"Triggering prach processing, frame %d, subframe %d\n",frame,subframe); + LOG_I(PHY,"Triggering prach processing, frame %d, subframe %d\n",frame,subframe); if (proc->instance_cnt_prach == 0) { LOG_W(PHY,"[eNB] Frame %d Subframe %d, dropping PRACH\n", frame,subframe); return; From b18f9d6a76ffc49584b3fd4e1be50f5d095109fe Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 24 Oct 2017 00:55:24 +0200 Subject: [PATCH 072/109] minor chanels for IF4p5 in RRU --- openair1/PHY/LTE_TRANSPORT/if4_tools.c | 3 ++- openair1/PHY/LTE_TRANSPORT/if4_tools.h | 10 +++++----- openair1/PHY/LTE_TRANSPORT/prach.c | 2 +- targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c | 4 ++-- targets/RT/USER/lte-ru.c | 10 +++++++--- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c index c671d78aba..a906b6df31 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c @@ -207,7 +207,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) { } else if (packet_type >= IF4p5_PRACH && packet_type <= IF4p5_PRACH+4) { // FIX: hard coded prach samples length - LOG_D(PHY,"IF4p5_PRACH: frame %d, subframe %d\n",frame,subframe); + LOG_D(PHY,"IF4p5_PRACH: frame %d, subframe %d,packet type %x\n",frame,subframe,packet_type); db_fulllength = PRACH_NUM_SAMPLES; if (eth->flags == ETH_RAW_IF4p5_MODE) { @@ -248,6 +248,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) { packet_type)) < 0) { perror("ETHERNET write for IF4p5_PRACH\n"); } + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF, 0 ); } else { AssertFatal(1==0, "send_IF4p5 - Unknown packet_type %x", packet_type); diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.h b/openair1/PHY/LTE_TRANSPORT/if4_tools.h index a251c62d0d..0a95e60ead 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.h +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.h @@ -39,11 +39,11 @@ #define IF4p5_PULFFT 0x0019 #define IF4p5_PDLFFT 0x0020 #define IF4p5_PRACH 0x0021 -#define IF4p5_PRACH_BR_CE0 0x0021 -#define IF4p5_PRACH_BR_CE1 0x0022 -#define IF4p5_PRACH_BR_CE2 0x0023 -#define IF4p5_PRACH_BR_CE3 0x0024 -#define IF4p5_PULTICK 0x0025 +#define IF4p5_PRACH_BR_CE0 0x0022 +#define IF4p5_PRACH_BR_CE1 0x0023 +#define IF4p5_PRACH_BR_CE2 0x0024 +#define IF4p5_PRACH_BR_CE3 0x0025 +#define IF4p5_PULTICK 0x0026 struct IF4p5_header { /// Type diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index 606900677e..c4e4461a58 100644 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -640,7 +640,7 @@ int32_t generate_prach( PHY_VARS_UE *ue, uint8_t eNB_id, uint8_t subframe, uint1 #if defined(EXMIMO) || defined(OAI_USRP) prach_start = (ue->rx_offset+subframe*ue->frame_parms.samples_per_tti-ue->hw_timing_advance-ue->N_TA_offset); #ifdef PRACH_DEBUG - LOG_I(PHY,"[UE %d] prach_start %d, rx_offset %d, hw_timing_advance %d, N_TA_offset %d\n", ue->Mod_id, + LOG_D(PHY,"[UE %d] prach_start %d, rx_offset %d, hw_timing_advance %d, N_TA_offset %d\n", ue->Mod_id, prach_start, ue->rx_offset, ue->hw_timing_advance, diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c index e323a9d5bc..9dbd29afdb 100644 --- a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c +++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c @@ -235,7 +235,8 @@ int trx_eth_write_udp_IF4p5(openair0_device *device, openair0_timestamp timestam packet_size = UDP_IF4p5_PULFFT_SIZE_BYTES(nblocks); } else if (flags == IF4p5_PULTICK) { packet_size = UDP_IF4p5_PULTICK_SIZE_BYTES; - } else if (flags == IF4p5_PRACH) { + } else if ((flags >= IF4p5_PRACH)&& + (flags <= (IF4p5_PRACH+4))) { packet_size = UDP_IF4p5_PRACH_SIZE_BYTES; } else { printf("trx_eth_write_udp_IF4p5: unknown flags %d\n",flags); @@ -243,7 +244,6 @@ int trx_eth_write_udp_IF4p5(openair0_device *device, openair0_timestamp timestam } eth->tx_nsamps = nblocks; - // printf("Sending %d bytes to %s:%d\n",packet_size,str,ntohs(eth->local_addrd.sin_port)); bytes_sent = sendto(eth->sockfdd, buff[0], diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 752e221ac5..54693f43c8 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -596,13 +596,14 @@ void fh_if4p5_north_asynch_in(RU_t *ru,int *frame,int *subframe) { symbol_mask_full = ((subframe_select(fp,*subframe) == SF_S) ? (1<dl_symbols_in_S_subframe) : (1<symbols_per_tti))-1; do { recv_IF4p5(ru, &frame_tx, &subframe_tx, &packet_type, &symbol_number); - if ((subframe_select(fp,*subframe) == SF_DL) && (symbol_number == 0)) start_meas(&ru->rx_fhaul); + if ((subframe_select(fp,subframe_tx) == SF_DL) && (symbol_number == 0)) start_meas(&ru->rx_fhaul); LOG_D(PHY,"subframe %d (%d): frame %d, subframe %d, symbol %d\n", *subframe,subframe_select(fp,*subframe),frame_tx,subframe_tx,symbol_number); if (proc->first_tx != 0) { *frame = frame_tx; *subframe = subframe_tx; proc->first_tx = 0; + symbol_mask_full = ((subframe_select(fp,*subframe) == SF_S) ? (1<dl_symbols_in_S_subframe) : (1<symbols_per_tti))-1; } else { AssertFatal(frame_tx == *frame, @@ -616,7 +617,7 @@ void fh_if4p5_north_asynch_in(RU_t *ru,int *frame,int *subframe) { else AssertFatal(1==0,"Illegal IF4p5 packet type (should only be IF4p5_PDLFFT%d\n",packet_type); } while (symbol_mask != symbol_mask_full); - if (subframe_select(fp,*subframe) == SF_DL) stop_meas(&ru->rx_fhaul); + if (subframe_select(fp,subframe_tx) == SF_DL) stop_meas(&ru->rx_fhaul); proc->subframe_tx = subframe_tx; proc->frame_tx = frame_tx; @@ -871,7 +872,10 @@ static void* ru_thread_asynch_rxtx( void* param ) { // asynchronous receive from south (Mobipass) if (ru->fh_south_asynch_in) ru->fh_south_asynch_in(ru,&frame,&subframe); // asynchronous receive from north (RRU IF4/IF5) - else if (ru->fh_north_asynch_in) ru->fh_north_asynch_in(ru,&frame,&subframe); + else if (ru->fh_north_asynch_in) { + if (subframe_select(&ru->frame_parms,subframe)!=SF_UL) + ru->fh_north_asynch_in(ru,&frame,&subframe); + } else AssertFatal(1==0,"Unknown function in ru_thread_asynch_rxtx\n"); } From 1c33d18df1eb63b4c7ab958c4409fa8f266ec999 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 24 Oct 2017 19:26:25 +0200 Subject: [PATCH 073/109] logging --- openair1/PHY/LTE_TRANSPORT/print_stats.c | 4 +-- openair1/SCHED/fapi_l1.c | 2 ++ openair1/SCHED/phy_procedures_lte_eNb.c | 2 +- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 5 ++-- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 29 +++++++++++++++---- 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c index d4ed922274..5add20af13 100755 --- a/openair1/PHY/LTE_TRANSPORT/print_stats.c +++ b/openair1/PHY/LTE_TRANSPORT/print_stats.c @@ -37,8 +37,8 @@ #include "SCHED/extern.h" #ifdef OPENAIR2 -#include "../openair2/LAYER2/MAC/proto.h" -#include "../openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h" +#include "openair2/LAYER2/MAC/proto.h" +#include "openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h" #endif extern int mac_get_rrc_status(uint8_t Mod_id,uint8_t eNB_flag,uint8_t index); diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index ed0ccf3480..1b68b9268b 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -189,6 +189,8 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0->sib1_br_flag=0; if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR + LOG_I(PHY,"NFAPI: frame %d, subframe %d: Programming SI-BR \n",proc->frame_tx,proc->subframe_tx); + dlsch0->rnti = 0xFFFF; dlsch0->Kmimo = 1; dlsch0->Mdlharq = 4; diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index eea1aca581..2d86bfb16e 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -272,7 +272,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, if (frame < 200) { - LOG_D(PHY, + LOG_I(PHY, "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", pdsch_start %d, G %d, nb_rb %"PRIu16", rb0 %x, rb1 %x, TBS %"PRIu16", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", eNB->Mod_id, dlsch->rnti,harq_pid, frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 3aa2ce38fe..16c25b17b1 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -196,7 +196,7 @@ schedule_SIB1_BR( AssertFatal(bcch_sdu_length <= TBS, "length returned by RRC %d is not compatible with the TBS %d from MIB\n",bcch_sdu_length,TBS); - if ((frameP&1023) < 200) LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n",module_idP,frameP,subframeP,CC_id,bcch_sdu_length,n_NB,i,m,N_S_NB,rvidx); + if ((frameP&1023) < 200) LOG_I(MAC,"[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n",module_idP,frameP,subframeP,CC_id,bcch_sdu_length,n_NB,i,m,N_S_NB,rvidx); // allocate all 6 PRBs in narrowband for SIB1_BR @@ -315,6 +315,7 @@ schedule_SI_BR( int rvidx; int absSF = (frameP*10)+subframeP; + return; for (CC_id=0; CC_idDLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", + if ((frameP&1023) < 200) LOG_I(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", module_idP,frameP,subframeP,CC_id,(int)si_Narrowband_r13-1,rvidx, sf_mod_period,(int)si_WindowLength_BR_r13,(int)si_RepetitionPattern_r13, bcch_sdu_length); diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 25fbfc78e5..475ad3af6d 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -355,7 +355,7 @@ eNBs = ////////// MME parameters: - mme_ip_address = ( { ipv4 = "172.17.0.10"; + mme_ip_address = ( { ipv4 = "192.168.12.26"; ipv6 = "192:168:30::17"; active = "yes"; preference = "ipv4"; @@ -365,10 +365,10 @@ eNBs = NETWORK_INTERFACES : { - ENB_INTERFACE_NAME_FOR_S1_MME = "enp0s31f6:S1-C"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "172.17.0.21/24"; - ENB_INTERFACE_NAME_FOR_S1U = "enp0s31f6:S1-U"; - ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.21/24"; + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.150/24"; + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.150/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; @@ -420,3 +420,22 @@ RUs = ( eNB_instances = [0]; } ); + +log_config : + { + global_log_level ="info"; + global_log_verbosity ="medium"; + hw_log_level ="info"; + hw_log_verbosity ="medium"; + phy_log_level ="info"; + phy_log_verbosity ="medium"; + mac_log_level ="info"; + mac_log_verbosity ="high"; + rlc_log_level ="info"; + rlc_log_verbosity ="medium"; + pdcp_log_level ="info"; + pdcp_log_verbosity ="medium"; + rrc_log_level ="info"; + rrc_log_verbosity ="medium"; + }; + From c8070607a9a3d46186299d2f399b1088c7b9755f Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sat, 28 Oct 2017 21:17:30 -0700 Subject: [PATCH 074/109] small fix on MPDCCH repetition handling and logging --- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index dda56b513e..a876dfe3eb 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -323,7 +323,12 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t AssertFatal(1==0,"TDD case not done yet\n"); } }// mpdcch_repetition_count == reps - RA_template->msg2_mpdcch_repetition_cnt++; + else { + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", + module_idP,frameP,subframeP,RA_template->msg2_mpdcch_repetition_cnt); + RA_template->msg2_mpdcch_repetition_cnt++; + } + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { // Program PDSCH From 3a4343708b74e0f2d9691990e49830f2ca12b812 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 5 Nov 2017 14:18:19 +0100 Subject: [PATCH 075/109] modifications for MPDCCH --- openair1/PHY/INIT/lte_init.c | 1796 ++-- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 10828 +++++++++++----------- openair1/PHY/LTE_TRANSPORT/edci.c | 169 +- openair1/PHY/LTE_TRANSPORT/proto.h | 4 + openair1/SCHED/fapi_l1.c | 6 +- openair1/SCHED/phy_procedures_lte_eNb.c | 2563 +++-- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 1960 ++-- 7 files changed, 8250 insertions(+), 9076 deletions(-) diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c index 7bb653c30d..1108bdc1ff 100755 --- a/openair1/PHY/INIT/lte_init.c +++ b/openair1/PHY/INIT/lte_init.c @@ -34,286 +34,273 @@ extern uint16_t prach_root_sequence_map0_3[838]; extern uint16_t prach_root_sequence_map4[138]; -uint8_t dmrs1_tab[8] = {0,2,3,4,6,8,9,10}; +uint8_t dmrs1_tab[8] = { 0, 2, 3, 4, 6, 8, 9, 10 }; -int N_RB_DL_array[6] = {6,15,25,50,75,100}; +int N_RB_DL_array[6] = { 6, 15, 25, 50, 75, 100 }; -int l1_north_init_eNB() { +int +l1_north_init_eNB () +{ - int i,j; - AssertFatal(RC.nb_L1_inst>0,"nb_L1_inst=%d\n",RC.nb_L1_inst); - AssertFatal(RC.nb_L1_CC!=NULL,"nb_L1_CC is null\n"); - AssertFatal(RC.eNB!=NULL,"RC.eNB is null\n"); - for (i=0;i0,"RC.nb_L1_CC[%d]=%d\n",i,RC.nb_L1_CC[i]); - for (j=0;jif_inst = IF_Module_init(i))<0) return(-1); + int i, j; + AssertFatal (RC.nb_L1_inst > 0, "nb_L1_inst=%d\n", RC.nb_L1_inst); + AssertFatal (RC.nb_L1_CC != NULL, "nb_L1_CC is null\n"); + AssertFatal (RC.eNB != NULL, "RC.eNB is null\n"); + for (i = 0; i < RC.nb_L1_inst; i++) { + AssertFatal (RC.eNB[i] != NULL, "RC.eNB[%d] is null\n", i); + AssertFatal (RC.nb_L1_CC[i] > 0, "RC.nb_L1_CC[%d]=%d\n", i, RC.nb_L1_CC[i]); + for (j = 0; j < RC.nb_L1_CC[i]; j++) { + AssertFatal (RC.eNB[i][j] != NULL, "RC.eNB[%d][%d] is null\n", i, j); + if ((RC.eNB[i][j]->if_inst = IF_Module_init (i)) < 0) + return (-1); RC.eNB[i][j]->if_inst->PHY_config_req = phy_config_request; RC.eNB[i][j]->if_inst->schedule_response = schedule_response; } } - return(0); + return (0); } -void phy_config_request(PHY_Config_t *phy_config) { +void +phy_config_request (PHY_Config_t * phy_config) +{ - uint8_t Mod_id = phy_config->Mod_id; - int CC_id = phy_config->CC_id; + uint8_t Mod_id = phy_config->Mod_id; + int CC_id = phy_config->CC_id; nfapi_config_request_t *cfg = phy_config->cfg; LTE_DL_FRAME_PARMS *fp; - PHICH_RESOURCE_t phich_resource_table[4]={oneSixth,half,one,two}; - int eutra_band = cfg->nfapi_config.rf_bands.rf_band[0]; - int dl_Bandwidth = cfg->rf_config.dl_channel_bandwidth.value; - int Nid_cell = cfg->sch_config.physical_cell_id.value; - int Ncp = cfg->subframe_config.dl_cyclic_prefix_type.value; - int p_eNB = cfg->rf_config.tx_antenna_ports.value; - uint32_t dl_CarrierFreq = cfg->nfapi_config.earfcn.value; + PHICH_RESOURCE_t phich_resource_table[4] = { oneSixth, half, one, two }; + int eutra_band = cfg->nfapi_config.rf_bands.rf_band[0]; + int dl_Bandwidth = cfg->rf_config.dl_channel_bandwidth.value; + int Nid_cell = cfg->sch_config.physical_cell_id.value; + int Ncp = cfg->subframe_config.dl_cyclic_prefix_type.value; + int p_eNB = cfg->rf_config.tx_antenna_ports.value; + uint32_t dl_CarrierFreq = cfg->nfapi_config.earfcn.value; - LOG_I(PHY,"Configuring MIB for instance %d, CCid %d : (band %d,N_RB_DL %d,Nid_cell %d,p %d,Ncp %d,DL freq %u,phich_config.resource %d, phich_config.duration %d)\n", - Mod_id, CC_id, eutra_band, N_RB_DL_array[dl_Bandwidth], Nid_cell, p_eNB,Ncp,dl_CarrierFreq, - cfg->phich_config.phich_resource.value, - cfg->phich_config.phich_duration.value); + LOG_I (PHY, "Configuring MIB for instance %d, CCid %d : (band %d,N_RB_DL %d,Nid_cell %d,p %d,Ncp %d,DL freq %u,phich_config.resource %d, phich_config.duration %d)\n", + Mod_id, CC_id, eutra_band, N_RB_DL_array[dl_Bandwidth], Nid_cell, p_eNB, Ncp, dl_CarrierFreq, cfg->phich_config.phich_resource.value, cfg->phich_config.phich_duration.value); - AssertFatal(RC.eNB != NULL, "PHY instance pointer doesn't exist\n"); - AssertFatal(RC.eNB[Mod_id] != NULL, "PHY instance %d doesn't exist\n",Mod_id); - AssertFatal(RC.eNB[Mod_id][CC_id] != NULL, "PHY instance %d, CCid %d doesn't exist\n",Mod_id,CC_id); + AssertFatal (RC.eNB != NULL, "PHY instance pointer doesn't exist\n"); + AssertFatal (RC.eNB[Mod_id] != NULL, "PHY instance %d doesn't exist\n", Mod_id); + AssertFatal (RC.eNB[Mod_id][CC_id] != NULL, "PHY instance %d, CCid %d doesn't exist\n", Mod_id, CC_id); - RC.eNB[Mod_id][CC_id]->mac_enabled = 1; + RC.eNB[Mod_id][CC_id]->mac_enabled = 1; fp = &RC.eNB[Mod_id][CC_id]->frame_parms; - fp->N_RB_DL = N_RB_DL_array[dl_Bandwidth]; - fp->N_RB_UL = N_RB_DL_array[dl_Bandwidth]; - fp->Nid_cell = Nid_cell; - fp->nushift = fp->Nid_cell%6; - fp->eutra_band = eutra_band; - fp->Ncp = Ncp; - fp->Ncp_UL = Ncp; - fp->nb_antenna_ports_eNB = p_eNB; + fp->N_RB_DL = N_RB_DL_array[dl_Bandwidth]; + fp->N_RB_UL = N_RB_DL_array[dl_Bandwidth]; + fp->Nid_cell = Nid_cell; + fp->nushift = fp->Nid_cell % 6; + fp->eutra_band = eutra_band; + fp->Ncp = Ncp; + fp->Ncp_UL = Ncp; + fp->nb_antenna_ports_eNB = p_eNB; - fp->threequarter_fs = 0; + fp->threequarter_fs = 0; - AssertFatal(cfg->phich_config.phich_resource.value<4, "Illegal phich_Resource\n"); + AssertFatal (cfg->phich_config.phich_resource.value < 4, "Illegal phich_Resource\n"); fp->phich_config_common.phich_resource = phich_resource_table[cfg->phich_config.phich_resource.value]; fp->phich_config_common.phich_duration = cfg->phich_config.phich_duration.value; // Note: "from_earfcn" has to be in a common library with MACRLC - fp->dl_CarrierFreq = from_earfcn(eutra_band,dl_CarrierFreq); - fp->ul_CarrierFreq = fp->dl_CarrierFreq - (get_uldl_offset(eutra_band)*100000); + fp->dl_CarrierFreq = from_earfcn (eutra_band, dl_CarrierFreq); + fp->ul_CarrierFreq = fp->dl_CarrierFreq - (get_uldl_offset (eutra_band) * 100000); - fp->tdd_config = 0; - fp->tdd_config_S = 0; + fp->tdd_config = 0; + fp->tdd_config_S = 0; - if (fp->dl_CarrierFreq==fp->ul_CarrierFreq) + if (fp->dl_CarrierFreq == fp->ul_CarrierFreq) fp->frame_type = TDD; else fp->frame_type = FDD; - init_frame_parms(fp,1); - init_lte_top(fp); + init_frame_parms (fp, 1); + init_lte_top (fp); if (cfg->subframe_config.duplex_mode.value == 0) { - fp->tdd_config = cfg->tdd_frame_structure_config.subframe_assignment.value; - fp->tdd_config_S = cfg->tdd_frame_structure_config.special_subframe_patterns.value; - fp->frame_type = TDD; - } - else { - fp->frame_type = FDD; + fp->tdd_config = cfg->tdd_frame_structure_config.subframe_assignment.value; + fp->tdd_config_S = cfg->tdd_frame_structure_config.special_subframe_patterns.value; + fp->frame_type = TDD; + } else { + fp->frame_type = FDD; } - fp->prach_config_common.rootSequenceIndex = cfg->prach_config.root_sequence_index.value; - LOG_I(PHY,"prach_config_common.rootSequenceIndex = %d\n",cfg->prach_config.root_sequence_index.value); + fp->prach_config_common.rootSequenceIndex = cfg->prach_config.root_sequence_index.value; + LOG_I (PHY, "prach_config_common.rootSequenceIndex = %d\n", cfg->prach_config.root_sequence_index.value); - fp->prach_config_common.prach_Config_enabled=1; + fp->prach_config_common.prach_Config_enabled = 1; - fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex =cfg->prach_config.configuration_index.value; - LOG_I(PHY,"prach_config_common.prach_ConfigInfo.prach_ConfigIndex = %d\n",cfg->prach_config.configuration_index.value); + fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex = cfg->prach_config.configuration_index.value; + LOG_I (PHY, "prach_config_common.prach_ConfigInfo.prach_ConfigIndex = %d\n", cfg->prach_config.configuration_index.value); - fp->prach_config_common.prach_ConfigInfo.highSpeedFlag =cfg->prach_config.high_speed_flag.value; - LOG_I(PHY,"prach_config_common.prach_ConfigInfo.highSpeedFlag = %d\n",cfg->prach_config.high_speed_flag.value); - fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig =cfg->prach_config.zero_correlation_zone_configuration.value; - LOG_I(PHY,"prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = %d\n",cfg->prach_config.zero_correlation_zone_configuration.value); - fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset =cfg->prach_config.frequency_offset.value; - LOG_I(PHY,"prach_config_common.prach_ConfigInfo.prach_FreqOffset = %d\n",cfg->prach_config.frequency_offset.value); + fp->prach_config_common.prach_ConfigInfo.highSpeedFlag = cfg->prach_config.high_speed_flag.value; + LOG_I (PHY, "prach_config_common.prach_ConfigInfo.highSpeedFlag = %d\n", cfg->prach_config.high_speed_flag.value); + fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = cfg->prach_config.zero_correlation_zone_configuration.value; + LOG_I (PHY, "prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = %d\n", cfg->prach_config.zero_correlation_zone_configuration.value); + fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset = cfg->prach_config.frequency_offset.value; + LOG_I (PHY, "prach_config_common.prach_ConfigInfo.prach_FreqOffset = %d\n", cfg->prach_config.frequency_offset.value); - init_prach_tables(839); - compute_prach_seq(fp->prach_config_common.rootSequenceIndex, - fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex, - fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - fp->prach_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type, - RC.eNB[Mod_id][CC_id]->X_u); + init_prach_tables (839); + compute_prach_seq (fp->prach_config_common.rootSequenceIndex, + fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex, + fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, fp->prach_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, RC.eNB[Mod_id][CC_id]->X_u); #ifdef Rel14 if (cfg->emtc_config.prach_ce_level_0_enable.value == 1) { - fp->prach_emtc_config_common.prach_Config_enabled=1; + fp->prach_emtc_config_common.prach_Config_enabled = 1; - fp->prach_emtc_config_common.rootSequenceIndex = cfg->emtc_config.prach_catm_root_sequence_index.value; + fp->prach_emtc_config_common.rootSequenceIndex = cfg->emtc_config.prach_catm_root_sequence_index.value; - fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag = cfg->emtc_config.prach_catm_high_speed_flag.value; - fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = cfg->emtc_config.prach_catm_zero_correlation_zone_configuration.value; + fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag = cfg->emtc_config.prach_catm_high_speed_flag.value; + fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = cfg->emtc_config.prach_catm_zero_correlation_zone_configuration.value; // CE Level 3 parameters - fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[3] = cfg->emtc_config.prach_ce_level_3_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[3] = cfg->emtc_config.prach_ce_level_3_starting_subframe_periodicity.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[3] = cfg->emtc_config.prach_ce_level_3_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[3] = cfg->emtc_config.prach_ce_level_3_starting_subframe_periodicity.value; fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[3] = cfg->emtc_config.prach_ce_level_3_number_of_repetitions_per_attempt.value; - AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[3]>=fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[3], - "prach_starting_subframe_periodicity[3] < prach_numPetitionPerPreambleAttempt[3]\n"); + AssertFatal (fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[3] >= fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[3], + "prach_starting_subframe_periodicity[3] < prach_numPetitionPerPreambleAttempt[3]\n"); - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3] = cfg->emtc_config.prach_ce_level_3_configuration_index.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[3] = cfg->emtc_config.prach_ce_level_3_frequency_offset.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[3] = cfg->emtc_config.prach_ce_level_3_hopping_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[3] = cfg->emtc_config.prach_ce_level_3_hopping_offset.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3] = cfg->emtc_config.prach_ce_level_3_configuration_index.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[3] = cfg->emtc_config.prach_ce_level_3_frequency_offset.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[3] = cfg->emtc_config.prach_ce_level_3_hopping_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[3] = cfg->emtc_config.prach_ce_level_3_hopping_offset.value; if (fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[3] == 1) - compute_prach_seq(fp->prach_emtc_config_common.rootSequenceIndex, - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], - fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type, - RC.eNB[Mod_id][CC_id]->X_u_br[3]); + compute_prach_seq (fp->prach_emtc_config_common.rootSequenceIndex, + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], + fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, + fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, RC.eNB[Mod_id][CC_id]->X_u_br[3]); // CE Level 2 parameters - fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[2] = cfg->emtc_config.prach_ce_level_2_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[2] = cfg->emtc_config.prach_ce_level_2_starting_subframe_periodicity.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[2] = cfg->emtc_config.prach_ce_level_2_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[2] = cfg->emtc_config.prach_ce_level_2_starting_subframe_periodicity.value; fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[2] = cfg->emtc_config.prach_ce_level_2_number_of_repetitions_per_attempt.value; - AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[2]>=fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[2], - "prach_starting_subframe_periodicity[2] < prach_numPetitionPerPreambleAttempt[2]\n"); - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[2] = cfg->emtc_config.prach_ce_level_2_configuration_index.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[2] = cfg->emtc_config.prach_ce_level_2_frequency_offset.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[2] = cfg->emtc_config.prach_ce_level_2_hopping_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[2] = cfg->emtc_config.prach_ce_level_2_hopping_offset.value; + AssertFatal (fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[2] >= fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[2], + "prach_starting_subframe_periodicity[2] < prach_numPetitionPerPreambleAttempt[2]\n"); + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[2] = cfg->emtc_config.prach_ce_level_2_configuration_index.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[2] = cfg->emtc_config.prach_ce_level_2_frequency_offset.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[2] = cfg->emtc_config.prach_ce_level_2_hopping_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[2] = cfg->emtc_config.prach_ce_level_2_hopping_offset.value; if (fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[2] == 1) - compute_prach_seq(fp->prach_emtc_config_common.rootSequenceIndex, - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], - fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type, - RC.eNB[Mod_id][CC_id]->X_u_br[2]); + compute_prach_seq (fp->prach_emtc_config_common.rootSequenceIndex, + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], + fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, + fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, RC.eNB[Mod_id][CC_id]->X_u_br[2]); // CE Level 1 parameters - fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[1] = cfg->emtc_config.prach_ce_level_1_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[1] = cfg->emtc_config.prach_ce_level_1_starting_subframe_periodicity.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[1] = cfg->emtc_config.prach_ce_level_1_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[1] = cfg->emtc_config.prach_ce_level_1_starting_subframe_periodicity.value; fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[1] = cfg->emtc_config.prach_ce_level_1_number_of_repetitions_per_attempt.value; - AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[1]>=fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[1], - "prach_starting_subframe_periodicity[1] < prach_numPetitionPerPreambleAttempt[1]\n"); + AssertFatal (fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[1] >= fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[1], + "prach_starting_subframe_periodicity[1] < prach_numPetitionPerPreambleAttempt[1]\n"); - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[1] = cfg->emtc_config.prach_ce_level_1_configuration_index.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[1] = cfg->emtc_config.prach_ce_level_1_frequency_offset.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[1] = cfg->emtc_config.prach_ce_level_1_hopping_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[1] = cfg->emtc_config.prach_ce_level_1_hopping_offset.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[1] = cfg->emtc_config.prach_ce_level_1_configuration_index.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[1] = cfg->emtc_config.prach_ce_level_1_frequency_offset.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[1] = cfg->emtc_config.prach_ce_level_1_hopping_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[1] = cfg->emtc_config.prach_ce_level_1_hopping_offset.value; if (fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[1] == 1) - compute_prach_seq(fp->prach_emtc_config_common.rootSequenceIndex, - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], - fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type, - RC.eNB[Mod_id][CC_id]->X_u_br[1]); - - // CE Level 0 parameters - fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] = cfg->emtc_config.prach_ce_level_0_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0] = cfg->emtc_config.prach_ce_level_0_starting_subframe_periodicity.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0] = cfg->emtc_config.prach_ce_level_0_number_of_repetitions_per_attempt.value; - AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0]>=fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0], - "prach_starting_subframe_periodicity[0] %d < prach_numPetitionPerPreambleAttempt[0] %d\n", - fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0], - fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0]); - AssertFatal(fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0] > 0, - "prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0]==0\n"); - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[0] = cfg->emtc_config.prach_ce_level_0_configuration_index.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[0] = cfg->emtc_config.prach_ce_level_0_frequency_offset.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[0] = cfg->emtc_config.prach_ce_level_0_hopping_enable.value; - fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[0] = cfg->emtc_config.prach_ce_level_0_hopping_offset.value; - if (fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] == 1) - compute_prach_seq(fp->prach_emtc_config_common.rootSequenceIndex, - fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], - fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type, - RC.eNB[Mod_id][CC_id]->X_u_br[0]); - } + compute_prach_seq (fp->prach_emtc_config_common.rootSequenceIndex, + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], + fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, + fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, RC.eNB[Mod_id][CC_id]->X_u_br[1]); + // CE Level 0 parameters + fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] = cfg->emtc_config.prach_ce_level_0_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0] = cfg->emtc_config.prach_ce_level_0_starting_subframe_periodicity.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0] = cfg->emtc_config.prach_ce_level_0_number_of_repetitions_per_attempt.value; + AssertFatal (fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0] >= fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0], + "prach_starting_subframe_periodicity[0] %d < prach_numPetitionPerPreambleAttempt[0] %d\n", + fp->prach_emtc_config_common.prach_ConfigInfo.prach_starting_subframe_periodicity[0], fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0]); + AssertFatal (fp->prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0] > 0, "prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[0]==0\n"); + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[0] = cfg->emtc_config.prach_ce_level_0_configuration_index.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[0] = cfg->emtc_config.prach_ce_level_0_frequency_offset.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_enable[0] = cfg->emtc_config.prach_ce_level_0_hopping_enable.value; + fp->prach_emtc_config_common.prach_ConfigInfo.prach_hopping_offset[0] = cfg->emtc_config.prach_ce_level_0_hopping_offset.value; + if (fp->prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] == 1) { + compute_prach_seq (fp->prach_emtc_config_common.rootSequenceIndex, + fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], + fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, + fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, RC.eNB[Mod_id][CC_id]->X_u_br[0]); + init_mpdcch5tab_normal_regular_subframe_evenNRBDL (RC.eNB[Mod_id][CC_id],3); + } + } #endif - fp->pucch_config_common.deltaPUCCH_Shift = 1+cfg->pucch_config.delta_pucch_shift.value; - fp->pucch_config_common.nRB_CQI = cfg->pucch_config.n_cqi_rb.value; - fp->pucch_config_common.nCS_AN = cfg->pucch_config.n_an_cs.value; - fp->pucch_config_common.n1PUCCH_AN = cfg->pucch_config.n1_pucch_an.value; + fp->pucch_config_common.deltaPUCCH_Shift = 1 + cfg->pucch_config.delta_pucch_shift.value; + fp->pucch_config_common.nRB_CQI = cfg->pucch_config.n_cqi_rb.value; + fp->pucch_config_common.nCS_AN = cfg->pucch_config.n_an_cs.value; + fp->pucch_config_common.n1PUCCH_AN = cfg->pucch_config.n1_pucch_an.value; - fp->pdsch_config_common.referenceSignalPower = cfg->rf_config.reference_signal_power.value; - fp->pdsch_config_common.p_b = cfg->subframe_config.pb.value; + fp->pdsch_config_common.referenceSignalPower = cfg->rf_config.reference_signal_power.value; + fp->pdsch_config_common.p_b = cfg->subframe_config.pb.value; - fp->pusch_config_common.n_SB = cfg->pusch_config.number_of_subbands.value; - LOG_I(PHY,"pusch_config_common.n_SB = %d\n",fp->pusch_config_common.n_SB ); + fp->pusch_config_common.n_SB = cfg->pusch_config.number_of_subbands.value; + LOG_I (PHY, "pusch_config_common.n_SB = %d\n", fp->pusch_config_common.n_SB); - fp->pusch_config_common.hoppingMode = cfg->pusch_config.hopping_mode.value; - LOG_I(PHY,"pusch_config_common.hoppingMode = %d\n",fp->pusch_config_common.hoppingMode); + fp->pusch_config_common.hoppingMode = cfg->pusch_config.hopping_mode.value; + LOG_I (PHY, "pusch_config_common.hoppingMode = %d\n", fp->pusch_config_common.hoppingMode); - fp->pusch_config_common.pusch_HoppingOffset = cfg->pusch_config.hopping_offset.value; - LOG_I(PHY,"pusch_config_common.pusch_HoppingOffset = %d\n",fp->pusch_config_common.pusch_HoppingOffset); + fp->pusch_config_common.pusch_HoppingOffset = cfg->pusch_config.hopping_offset.value; + LOG_I (PHY, "pusch_config_common.pusch_HoppingOffset = %d\n", fp->pusch_config_common.pusch_HoppingOffset); - fp->pusch_config_common.enable64QAM = 0;//radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM; - LOG_I(PHY,"pusch_config_common.enable64QAM = %d\n",fp->pusch_config_common.enable64QAM ); - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = 0; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = 0; - if (cfg->uplink_reference_signal_config.uplink_rs_hopping.value == 1) + fp->pusch_config_common.enable64QAM = 0; //radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM; + LOG_I (PHY, "pusch_config_common.enable64QAM = %d\n", fp->pusch_config_common.enable64QAM); + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = 0; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = 0; + if (cfg->uplink_reference_signal_config.uplink_rs_hopping.value == 1) fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = 1; - if (cfg->uplink_reference_signal_config.uplink_rs_hopping.value == 2) + if (cfg->uplink_reference_signal_config.uplink_rs_hopping.value == 2) fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = 1; - LOG_I(PHY,"pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = %d\n",fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled); - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = cfg->uplink_reference_signal_config.group_assignment.value; - LOG_I(PHY,"pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = %d\n",fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH); + LOG_I (PHY, "pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = %d\n", fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled); + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = cfg->uplink_reference_signal_config.group_assignment.value; + LOG_I (PHY, "pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = %d\n", fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH); - LOG_I(PHY,"pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = %d\n",fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled); + LOG_I (PHY, "pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = %d\n", fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled); - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = dmrs1_tab[cfg->uplink_reference_signal_config.cyclic_shift_1_for_drms.value]; - LOG_I(PHY,"pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = %d\n",fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift); + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = dmrs1_tab[cfg->uplink_reference_signal_config.cyclic_shift_1_for_drms.value]; + LOG_I (PHY, "pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = %d\n", fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift); - init_ul_hopping(fp); + init_ul_hopping (fp); - fp->soundingrs_ul_config_common.enabled_flag = 0;// 1; Don't know how to turn this off in NFAPI - fp->soundingrs_ul_config_common.srs_BandwidthConfig = cfg->srs_config.bandwidth_configuration.value; - fp->soundingrs_ul_config_common.srs_SubframeConfig = cfg->srs_config.srs_subframe_configuration.value; + fp->soundingrs_ul_config_common.enabled_flag = 0; // 1; Don't know how to turn this off in NFAPI + fp->soundingrs_ul_config_common.srs_BandwidthConfig = cfg->srs_config.bandwidth_configuration.value; + fp->soundingrs_ul_config_common.srs_SubframeConfig = cfg->srs_config.srs_subframe_configuration.value; fp->soundingrs_ul_config_common.ackNackSRS_SimultaneousTransmission = cfg->srs_config.srs_acknack_srs_simultaneous_transmission.value; - fp->soundingrs_ul_config_common.srs_MaxUpPts = cfg->srs_config.max_up_pts.value; + fp->soundingrs_ul_config_common.srs_MaxUpPts = cfg->srs_config.max_up_pts.value; fp->num_MBSFN_config = 0; - init_ncs_cell(fp,RC.eNB[Mod_id][CC_id]->ncs_cell); + init_ncs_cell (fp, RC.eNB[Mod_id][CC_id]->ncs_cell); - init_ul_hopping(fp); - RC.eNB[Mod_id][CC_id]->configured = 1; - LOG_I(PHY,"eNB %d/%d configured\n",Mod_id,CC_id); + init_ul_hopping (fp); + RC.eNB[Mod_id][CC_id]->configured = 1; + LOG_I (PHY, "eNB %d/%d configured\n", Mod_id, CC_id); } -void phy_config_sib1_ue(uint8_t Mod_id,int CC_id, - uint8_t eNB_id, - TDD_Config_t *tdd_Config, - uint8_t SIwindowsize, - uint16_t SIperiod) +void +phy_config_sib1_ue (uint8_t Mod_id, int CC_id, uint8_t eNB_id, TDD_Config_t * tdd_Config, uint8_t SIwindowsize, uint16_t SIperiod) { LTE_DL_FRAME_PARMS *fp = &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms; if (tdd_Config) { - fp->tdd_config = tdd_Config->subframeAssignment; - fp->tdd_config_S = tdd_Config->specialSubframePatterns; + fp->tdd_config = tdd_Config->subframeAssignment; + fp->tdd_config_S = tdd_Config->specialSubframePatterns; } - fp->SIwindowsize = SIwindowsize; - fp->SIPeriod = SIperiod; + fp->SIwindowsize = SIwindowsize; + fp->SIPeriod = SIperiod; } /* @@ -459,192 +446,186 @@ void phy_config_sib1_ue(uint8_t Mod_id,int CC_id, } */ -void phy_config_sib2_ue(uint8_t Mod_id,int CC_id, - uint8_t eNB_id, - RadioResourceConfigCommonSIB_t *radioResourceConfigCommon, - ARFCN_ValueEUTRA_t *ul_CarrierFreq, - long *ul_Bandwidth, - AdditionalSpectrumEmission_t *additionalSpectrumEmission, - struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList) +void +phy_config_sib2_ue (uint8_t Mod_id, int CC_id, + uint8_t eNB_id, + RadioResourceConfigCommonSIB_t * radioResourceConfigCommon, + ARFCN_ValueEUTRA_t * ul_CarrierFreq, long *ul_Bandwidth, AdditionalSpectrumEmission_t * additionalSpectrumEmission, struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList) { - PHY_VARS_UE *ue = PHY_vars_UE_g[Mod_id][CC_id]; + PHY_VARS_UE *ue = PHY_vars_UE_g[Mod_id][CC_id]; LTE_DL_FRAME_PARMS *fp = &ue->frame_parms; - int i; + int i; - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2, VCD_FUNCTION_IN); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2, VCD_FUNCTION_IN); - LOG_I(PHY,"[UE%d] Applying radioResourceConfigCommon from eNB%d\n",Mod_id,eNB_id); + LOG_I (PHY, "[UE%d] Applying radioResourceConfigCommon from eNB%d\n", Mod_id, eNB_id); - fp->prach_config_common.rootSequenceIndex =radioResourceConfigCommon->prach_Config.rootSequenceIndex; + fp->prach_config_common.rootSequenceIndex = radioResourceConfigCommon->prach_Config.rootSequenceIndex; - fp->prach_config_common.prach_Config_enabled=1; - fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_ConfigIndex; - fp->prach_config_common.prach_ConfigInfo.highSpeedFlag =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.highSpeedFlag; - fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig; - fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_FreqOffset; + fp->prach_config_common.prach_Config_enabled = 1; + fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex = radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_ConfigIndex; + fp->prach_config_common.prach_ConfigInfo.highSpeedFlag = radioResourceConfigCommon->prach_Config.prach_ConfigInfo.highSpeedFlag; + fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = radioResourceConfigCommon->prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig; + fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset = radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_FreqOffset; - compute_prach_seq(fp->prach_config_common.rootSequenceIndex, - fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex, - fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - fp->prach_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type,ue->X_u); + compute_prach_seq (fp->prach_config_common.rootSequenceIndex, + fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex, + fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, fp->prach_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, ue->X_u); - fp->pucch_config_common.deltaPUCCH_Shift = 1+radioResourceConfigCommon->pucch_ConfigCommon.deltaPUCCH_Shift; - fp->pucch_config_common.nRB_CQI = radioResourceConfigCommon->pucch_ConfigCommon.nRB_CQI; - fp->pucch_config_common.nCS_AN = radioResourceConfigCommon->pucch_ConfigCommon.nCS_AN; - fp->pucch_config_common.n1PUCCH_AN = radioResourceConfigCommon->pucch_ConfigCommon.n1PUCCH_AN; + fp->pucch_config_common.deltaPUCCH_Shift = 1 + radioResourceConfigCommon->pucch_ConfigCommon.deltaPUCCH_Shift; + fp->pucch_config_common.nRB_CQI = radioResourceConfigCommon->pucch_ConfigCommon.nRB_CQI; + fp->pucch_config_common.nCS_AN = radioResourceConfigCommon->pucch_ConfigCommon.nCS_AN; + fp->pucch_config_common.n1PUCCH_AN = radioResourceConfigCommon->pucch_ConfigCommon.n1PUCCH_AN; fp->pdsch_config_common.referenceSignalPower = radioResourceConfigCommon->pdsch_ConfigCommon.referenceSignalPower; - fp->pdsch_config_common.p_b = radioResourceConfigCommon->pdsch_ConfigCommon.p_b; + fp->pdsch_config_common.p_b = radioResourceConfigCommon->pdsch_ConfigCommon.p_b; - fp->pusch_config_common.n_SB = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.n_SB; - fp->pusch_config_common.hoppingMode = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode; - fp->pusch_config_common.pusch_HoppingOffset = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset; - fp->pusch_config_common.enable64QAM = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH; + fp->pusch_config_common.n_SB = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.n_SB; + fp->pusch_config_common.hoppingMode = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode; + fp->pusch_config_common.pusch_HoppingOffset = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset; + fp->pusch_config_common.enable64QAM = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH; fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = dmrs1_tab[radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift]; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = dmrs1_tab[radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift]; - init_ul_hopping(fp); - fp->soundingrs_ul_config_common.enabled_flag = 0; + init_ul_hopping (fp); + fp->soundingrs_ul_config_common.enabled_flag = 0; - if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon.present==SoundingRS_UL_ConfigCommon_PR_setup) { - fp->soundingrs_ul_config_common.enabled_flag = 1; - fp->soundingrs_ul_config_common.srs_BandwidthConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig; - fp->soundingrs_ul_config_common.srs_SubframeConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig; + if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon.present == SoundingRS_UL_ConfigCommon_PR_setup) { + fp->soundingrs_ul_config_common.enabled_flag = 1; + fp->soundingrs_ul_config_common.srs_BandwidthConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig; + fp->soundingrs_ul_config_common.srs_SubframeConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig; fp->soundingrs_ul_config_common.ackNackSRS_SimultaneousTransmission = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission; if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts) - fp->soundingrs_ul_config_common.srs_MaxUpPts = 1; + fp->soundingrs_ul_config_common.srs_MaxUpPts = 1; else - fp->soundingrs_ul_config_common.srs_MaxUpPts = 0; + fp->soundingrs_ul_config_common.srs_MaxUpPts = 0; } - fp->ul_power_control_config_common.p0_NominalPUSCH = radioResourceConfigCommon->uplinkPowerControlCommon.p0_NominalPUSCH; - fp->ul_power_control_config_common.alpha = radioResourceConfigCommon->uplinkPowerControlCommon.alpha; - fp->ul_power_control_config_common.p0_NominalPUCCH = radioResourceConfigCommon->uplinkPowerControlCommon.p0_NominalPUCCH; + fp->ul_power_control_config_common.p0_NominalPUSCH = radioResourceConfigCommon->uplinkPowerControlCommon.p0_NominalPUSCH; + fp->ul_power_control_config_common.alpha = radioResourceConfigCommon->uplinkPowerControlCommon.alpha; + fp->ul_power_control_config_common.p0_NominalPUCCH = radioResourceConfigCommon->uplinkPowerControlCommon.p0_NominalPUCCH; fp->ul_power_control_config_common.deltaPreambleMsg3 = radioResourceConfigCommon->uplinkPowerControlCommon.deltaPreambleMsg3; - fp->ul_power_control_config_common.deltaF_PUCCH_Format1 = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1; - fp->ul_power_control_config_common.deltaF_PUCCH_Format1b = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b; - fp->ul_power_control_config_common.deltaF_PUCCH_Format2 = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2; - fp->ul_power_control_config_common.deltaF_PUCCH_Format2a = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a; - fp->ul_power_control_config_common.deltaF_PUCCH_Format2b = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b; + fp->ul_power_control_config_common.deltaF_PUCCH_Format1 = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1; + fp->ul_power_control_config_common.deltaF_PUCCH_Format1b = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b; + fp->ul_power_control_config_common.deltaF_PUCCH_Format2 = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2; + fp->ul_power_control_config_common.deltaF_PUCCH_Format2a = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a; + fp->ul_power_control_config_common.deltaF_PUCCH_Format2b = radioResourceConfigCommon->uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b; fp->maxHARQ_Msg3Tx = radioResourceConfigCommon->rach_ConfigCommon.maxHARQ_Msg3Tx; // Now configure some of the Physical Channels // PUCCH - init_ncs_cell(fp,ue->ncs_cell); + init_ncs_cell (fp, ue->ncs_cell); - init_ul_hopping(fp); + init_ul_hopping (fp); // PCH - init_ue_paging_info(ue,radioResourceConfigCommon->pcch_Config.defaultPagingCycle,radioResourceConfigCommon->pcch_Config.nB); + init_ue_paging_info (ue, radioResourceConfigCommon->pcch_Config.defaultPagingCycle, radioResourceConfigCommon->pcch_Config.nB); // MBSFN if (mbsfn_SubframeConfigList != NULL) { fp->num_MBSFN_config = mbsfn_SubframeConfigList->list.count; - for (i=0; ilist.count; i++) { + for (i = 0; i < mbsfn_SubframeConfigList->list.count; i++) { fp->MBSFN_config[i].radioframeAllocationPeriod = mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationPeriod; fp->MBSFN_config[i].radioframeAllocationOffset = mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset; if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) { fp->MBSFN_config[i].fourFrames_flag = 0; - fp->MBSFN_config[i].mbsfn_SubframeConfig = mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]; // 6-bit subframe configuration - LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i, - fp->MBSFN_config[i].mbsfn_SubframeConfig); - } else if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames) { // 24-bit subframe configuration + fp->MBSFN_config[i].mbsfn_SubframeConfig = mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]; // 6-bit subframe configuration + LOG_I (PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i, fp->MBSFN_config[i].mbsfn_SubframeConfig); + } else if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames) { // 24-bit subframe configuration fp->MBSFN_config[i].fourFrames_flag = 1; fp->MBSFN_config[i].mbsfn_SubframeConfig = - mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]| - (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[1]<<8)| - (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[2]<<16); + mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0] | + (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[1] << 8) | (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[2] << 16); - LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i, - fp->MBSFN_config[i].mbsfn_SubframeConfig); + LOG_I (PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i, fp->MBSFN_config[i].mbsfn_SubframeConfig); } } } - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2, VCD_FUNCTION_OUT); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2, VCD_FUNCTION_OUT); } -void phy_config_sib13_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,int mbsfn_Area_idx, - long mbsfn_AreaId_r9) +void +phy_config_sib13_ue (uint8_t Mod_id, int CC_id, uint8_t eNB_id, int mbsfn_Area_idx, long mbsfn_AreaId_r9) { LTE_DL_FRAME_PARMS *fp = &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms; - LOG_I(PHY,"[UE%d] Applying MBSFN_Area_id %ld for index %d\n",Mod_id,mbsfn_AreaId_r9,mbsfn_Area_idx); + LOG_I (PHY, "[UE%d] Applying MBSFN_Area_id %ld for index %d\n", Mod_id, mbsfn_AreaId_r9, mbsfn_Area_idx); if (mbsfn_Area_idx == 0) { - fp->Nid_cell_mbsfn = (uint16_t)mbsfn_AreaId_r9; - LOG_N(PHY,"Fix me: only called when mbsfn_Area_idx == 0)\n"); + fp->Nid_cell_mbsfn = (uint16_t) mbsfn_AreaId_r9; + LOG_N (PHY, "Fix me: only called when mbsfn_Area_idx == 0)\n"); } - lte_gold_mbsfn(fp,PHY_vars_UE_g[Mod_id][CC_id]->lte_gold_mbsfn_table,fp->Nid_cell_mbsfn); + lte_gold_mbsfn (fp, PHY_vars_UE_g[Mod_id][CC_id]->lte_gold_mbsfn_table, fp->Nid_cell_mbsfn); } -void phy_config_sib13_eNB(uint8_t Mod_id,int CC_id,int mbsfn_Area_idx, - long mbsfn_AreaId_r9) +void +phy_config_sib13_eNB (uint8_t Mod_id, int CC_id, int mbsfn_Area_idx, long mbsfn_AreaId_r9) { LTE_DL_FRAME_PARMS *fp = &RC.eNB[Mod_id][CC_id]->frame_parms; - LOG_I(PHY,"[eNB%d] Applying MBSFN_Area_id %ld for index %d\n",Mod_id,mbsfn_AreaId_r9,mbsfn_Area_idx); + LOG_I (PHY, "[eNB%d] Applying MBSFN_Area_id %ld for index %d\n", Mod_id, mbsfn_AreaId_r9, mbsfn_Area_idx); if (mbsfn_Area_idx == 0) { - fp->Nid_cell_mbsfn = (uint16_t)mbsfn_AreaId_r9; - LOG_N(PHY,"Fix me: only called when mbsfn_Area_idx == 0)\n"); + fp->Nid_cell_mbsfn = (uint16_t) mbsfn_AreaId_r9; + LOG_N (PHY, "Fix me: only called when mbsfn_Area_idx == 0)\n"); } - lte_gold_mbsfn(fp,RC.eNB[Mod_id][CC_id]->lte_gold_mbsfn_table,fp->Nid_cell_mbsfn); + lte_gold_mbsfn (fp, RC.eNB[Mod_id][CC_id]->lte_gold_mbsfn_table, fp->Nid_cell_mbsfn); } -void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB) +void +phy_config_dedicated_eNB_step2 (PHY_VARS_eNB * eNB) { - uint8_t UE_id; + uint8_t UE_id; struct PhysicalConfigDedicated *physicalConfigDedicated; - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - for (UE_id=0; UE_idphysicalConfigDedicated[UE_id]; if (physicalConfigDedicated != NULL) { - LOG_I(PHY,"[eNB %d] Sent physicalConfigDedicated=%p for UE %d\n",eNB->Mod_id,physicalConfigDedicated,UE_id); - LOG_D(PHY,"------------------------------------------------------------------------\n"); + LOG_I (PHY, "[eNB %d] Sent physicalConfigDedicated=%p for UE %d\n", eNB->Mod_id, physicalConfigDedicated, UE_id); + LOG_D (PHY, "------------------------------------------------------------------------\n"); if (physicalConfigDedicated->pdsch_ConfigDedicated) { - eNB->pdsch_config_dedicated[UE_id].p_a=physicalConfigDedicated->pdsch_ConfigDedicated->p_a; - LOG_D(PHY,"pdsch_config_dedicated.p_a %d\n",eNB->pdsch_config_dedicated[UE_id].p_a); - LOG_D(PHY,"\n"); + eNB->pdsch_config_dedicated[UE_id].p_a = physicalConfigDedicated->pdsch_ConfigDedicated->p_a; + LOG_D (PHY, "pdsch_config_dedicated.p_a %d\n", eNB->pdsch_config_dedicated[UE_id].p_a); + LOG_D (PHY, "\n"); } if (physicalConfigDedicated->pucch_ConfigDedicated) { - if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present==PUCCH_ConfigDedicated__ackNackRepetition_PR_release) - eNB->pucch_config_dedicated[UE_id].ackNackRepetition=0; + if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present == PUCCH_ConfigDedicated__ackNackRepetition_PR_release) + eNB->pucch_config_dedicated[UE_id].ackNackRepetition = 0; else { - eNB->pucch_config_dedicated[UE_id].ackNackRepetition=1; + eNB->pucch_config_dedicated[UE_id].ackNackRepetition = 1; } if (fp->frame_type == FDD) { @@ -656,10 +637,10 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB) eNB->pucch_config_dedicated[UE_id].tdd_AckNackFeedbackMode = bundling; } - if ( eNB->pucch_config_dedicated[UE_id].tdd_AckNackFeedbackMode == multiplexing) - LOG_D(PHY,"pucch_config_dedicated.tdd_AckNackFeedbackMode = multiplexing\n"); + if (eNB->pucch_config_dedicated[UE_id].tdd_AckNackFeedbackMode == multiplexing) + LOG_D (PHY, "pucch_config_dedicated.tdd_AckNackFeedbackMode = multiplexing\n"); else - LOG_D(PHY,"pucch_config_dedicated.tdd_AckNackFeedbackMode = bundling\n"); + LOG_D (PHY, "pucch_config_dedicated.tdd_AckNackFeedbackMode = bundling\n"); } @@ -668,10 +649,10 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB) eNB->pusch_config_dedicated[UE_id].betaOffset_RI_Index = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_RI_Index; eNB->pusch_config_dedicated[UE_id].betaOffset_CQI_Index = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_CQI_Index; - LOG_D(PHY,"pusch_config_dedicated.betaOffset_ACK_Index %d\n",eNB->pusch_config_dedicated[UE_id].betaOffset_ACK_Index); - LOG_D(PHY,"pusch_config_dedicated.betaOffset_RI_Index %d\n",eNB->pusch_config_dedicated[UE_id].betaOffset_RI_Index); - LOG_D(PHY,"pusch_config_dedicated.betaOffset_CQI_Index %d\n",eNB->pusch_config_dedicated[UE_id].betaOffset_CQI_Index); - LOG_D(PHY,"\n"); + LOG_D (PHY, "pusch_config_dedicated.betaOffset_ACK_Index %d\n", eNB->pusch_config_dedicated[UE_id].betaOffset_ACK_Index); + LOG_D (PHY, "pusch_config_dedicated.betaOffset_RI_Index %d\n", eNB->pusch_config_dedicated[UE_id].betaOffset_RI_Index); + LOG_D (PHY, "pusch_config_dedicated.betaOffset_CQI_Index %d\n", eNB->pusch_config_dedicated[UE_id].betaOffset_CQI_Index); + LOG_D (PHY, "\n"); } @@ -679,59 +660,59 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB) if (physicalConfigDedicated->uplinkPowerControlDedicated) { eNB->ul_power_control_dedicated[UE_id].p0_UE_PUSCH = physicalConfigDedicated->uplinkPowerControlDedicated->p0_UE_PUSCH; - eNB->ul_power_control_dedicated[UE_id].deltaMCS_Enabled= physicalConfigDedicated->uplinkPowerControlDedicated->deltaMCS_Enabled; - eNB->ul_power_control_dedicated[UE_id].accumulationEnabled= physicalConfigDedicated->uplinkPowerControlDedicated->accumulationEnabled; - eNB->ul_power_control_dedicated[UE_id].p0_UE_PUCCH= physicalConfigDedicated->uplinkPowerControlDedicated->p0_UE_PUCCH; - eNB->ul_power_control_dedicated[UE_id].pSRS_Offset= physicalConfigDedicated->uplinkPowerControlDedicated->pSRS_Offset; - eNB->ul_power_control_dedicated[UE_id].filterCoefficient= *physicalConfigDedicated->uplinkPowerControlDedicated->filterCoefficient; - LOG_D(PHY,"ul_power_control_dedicated.p0_UE_PUSCH %d\n",eNB->ul_power_control_dedicated[UE_id].p0_UE_PUSCH); - LOG_D(PHY,"ul_power_control_dedicated.deltaMCS_Enabled %d\n",eNB->ul_power_control_dedicated[UE_id].deltaMCS_Enabled); - LOG_D(PHY,"ul_power_control_dedicated.accumulationEnabled %d\n",eNB->ul_power_control_dedicated[UE_id].accumulationEnabled); - LOG_D(PHY,"ul_power_control_dedicated.p0_UE_PUCCH %d\n",eNB->ul_power_control_dedicated[UE_id].p0_UE_PUCCH); - LOG_D(PHY,"ul_power_control_dedicated.pSRS_Offset %d\n",eNB->ul_power_control_dedicated[UE_id].pSRS_Offset); - LOG_D(PHY,"ul_power_control_dedicated.filterCoefficient %d\n",eNB->ul_power_control_dedicated[UE_id].filterCoefficient); - LOG_D(PHY,"\n"); + eNB->ul_power_control_dedicated[UE_id].deltaMCS_Enabled = physicalConfigDedicated->uplinkPowerControlDedicated->deltaMCS_Enabled; + eNB->ul_power_control_dedicated[UE_id].accumulationEnabled = physicalConfigDedicated->uplinkPowerControlDedicated->accumulationEnabled; + eNB->ul_power_control_dedicated[UE_id].p0_UE_PUCCH = physicalConfigDedicated->uplinkPowerControlDedicated->p0_UE_PUCCH; + eNB->ul_power_control_dedicated[UE_id].pSRS_Offset = physicalConfigDedicated->uplinkPowerControlDedicated->pSRS_Offset; + eNB->ul_power_control_dedicated[UE_id].filterCoefficient = *physicalConfigDedicated->uplinkPowerControlDedicated->filterCoefficient; + LOG_D (PHY, "ul_power_control_dedicated.p0_UE_PUSCH %d\n", eNB->ul_power_control_dedicated[UE_id].p0_UE_PUSCH); + LOG_D (PHY, "ul_power_control_dedicated.deltaMCS_Enabled %d\n", eNB->ul_power_control_dedicated[UE_id].deltaMCS_Enabled); + LOG_D (PHY, "ul_power_control_dedicated.accumulationEnabled %d\n", eNB->ul_power_control_dedicated[UE_id].accumulationEnabled); + LOG_D (PHY, "ul_power_control_dedicated.p0_UE_PUCCH %d\n", eNB->ul_power_control_dedicated[UE_id].p0_UE_PUCCH); + LOG_D (PHY, "ul_power_control_dedicated.pSRS_Offset %d\n", eNB->ul_power_control_dedicated[UE_id].pSRS_Offset); + LOG_D (PHY, "ul_power_control_dedicated.filterCoefficient %d\n", eNB->ul_power_control_dedicated[UE_id].filterCoefficient); + LOG_D (PHY, "\n"); } if (physicalConfigDedicated->antennaInfo) { - eNB->transmission_mode[UE_id] = 1+(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode); - LOG_D(PHY,"Transmission Mode (phy_config_dedicated_eNB_step2) %d\n",eNB->transmission_mode[UE_id]); - LOG_D(PHY,"\n"); + eNB->transmission_mode[UE_id] = 1 + (physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode); + LOG_D (PHY, "Transmission Mode (phy_config_dedicated_eNB_step2) %d\n", eNB->transmission_mode[UE_id]); + LOG_D (PHY, "\n"); } if (physicalConfigDedicated->schedulingRequestConfig) { if (physicalConfigDedicated->schedulingRequestConfig->present == SchedulingRequestConfig_PR_setup) { eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex = physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex; - eNB->scheduling_request_config[UE_id].sr_ConfigIndex=physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_ConfigIndex; - eNB->scheduling_request_config[UE_id].dsr_TransMax=physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax; + eNB->scheduling_request_config[UE_id].sr_ConfigIndex = physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_ConfigIndex; + eNB->scheduling_request_config[UE_id].dsr_TransMax = physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax; - LOG_D(PHY,"scheduling_request_config.sr_PUCCH_ResourceIndex %d\n",eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex); - LOG_D(PHY,"scheduling_request_config.sr_ConfigIndex %d\n",eNB->scheduling_request_config[UE_id].sr_ConfigIndex); - LOG_D(PHY,"scheduling_request_config.dsr_TransMax %d\n",eNB->scheduling_request_config[UE_id].dsr_TransMax); + LOG_D (PHY, "scheduling_request_config.sr_PUCCH_ResourceIndex %d\n", eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex); + LOG_D (PHY, "scheduling_request_config.sr_ConfigIndex %d\n", eNB->scheduling_request_config[UE_id].sr_ConfigIndex); + LOG_D (PHY, "scheduling_request_config.dsr_TransMax %d\n", eNB->scheduling_request_config[UE_id].dsr_TransMax); } - LOG_D(PHY,"------------------------------------------------------------\n"); + LOG_D (PHY, "------------------------------------------------------------\n"); } if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated) { if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == SoundingRS_UL_ConfigDedicated_PR_setup) { - - eNB->soundingrs_ul_config_dedicated[UE_id].srsConfigDedicatedSetup = 1; - eNB->soundingrs_ul_config_dedicated[UE_id].duration = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration; - eNB->soundingrs_ul_config_dedicated[UE_id].cyclicShift = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift; - eNB->soundingrs_ul_config_dedicated[UE_id].freqDomainPosition = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition; - eNB->soundingrs_ul_config_dedicated[UE_id].srs_Bandwidth = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth; - eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex; + + eNB->soundingrs_ul_config_dedicated[UE_id].srsConfigDedicatedSetup = 1; + eNB->soundingrs_ul_config_dedicated[UE_id].duration = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration; + eNB->soundingrs_ul_config_dedicated[UE_id].cyclicShift = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift; + eNB->soundingrs_ul_config_dedicated[UE_id].freqDomainPosition = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition; + eNB->soundingrs_ul_config_dedicated[UE_id].srs_Bandwidth = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth; + eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex; eNB->soundingrs_ul_config_dedicated[UE_id].srs_HoppingBandwidth = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth; - eNB->soundingrs_ul_config_dedicated[UE_id].transmissionComb = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb; + eNB->soundingrs_ul_config_dedicated[UE_id].transmissionComb = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb; - LOG_D(PHY,"soundingrs_ul_config_dedicated.srs_ConfigIndex %d\n",eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex); + LOG_D (PHY, "soundingrs_ul_config_dedicated.srs_ConfigIndex %d\n", eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex); } - LOG_D(PHY,"------------------------------------------------------------\n"); + LOG_D (PHY, "------------------------------------------------------------\n"); } @@ -743,15 +724,14 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB) /* * Configures UE MAC and PHY with radioResourceCommon received in mobilityControlInfo IE during Handover */ -void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed) +void +phy_config_afterHO_ue (uint8_t Mod_id, uint8_t CC_id, uint8_t eNB_id, MobilityControlInfo_t * mobilityControlInfo, uint8_t ho_failed) { - if(mobilityControlInfo!=NULL) { + if (mobilityControlInfo != NULL) { RadioResourceConfigCommon_t *radioResourceConfigCommon = &mobilityControlInfo->radioResourceConfigCommon; - LOG_I(PHY,"radioResourceConfigCommon %p\n", radioResourceConfigCommon); - memcpy((void *)&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms_before_ho, - (void *)&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms, - sizeof(LTE_DL_FRAME_PARMS)); + LOG_I (PHY, "radioResourceConfigCommon %p\n", radioResourceConfigCommon); + memcpy ((void *) &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms_before_ho, (void *) &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms, sizeof (LTE_DL_FRAME_PARMS)); PHY_vars_UE_g[Mod_id][CC_id]->ho_triggered = 1; //PHY_vars_UE_g[UE_id]->UE_mode[0] = PRACH; @@ -760,15 +740,14 @@ void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, Mobility // uint8_t prach_fmt; // int u; - LOG_I(PHY,"[UE%d] Handover triggered: Applying radioResourceConfigCommon from eNB %d\n", - Mod_id,eNB_id); + LOG_I (PHY, "[UE%d] Handover triggered: Applying radioResourceConfigCommon from eNB %d\n", Mod_id, eNB_id); - fp->prach_config_common.rootSequenceIndex =radioResourceConfigCommon->prach_Config.rootSequenceIndex; - fp->prach_config_common.prach_Config_enabled=1; - fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex; - fp->prach_config_common.prach_ConfigInfo.highSpeedFlag =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->highSpeedFlag; - fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->zeroCorrelationZoneConfig; - fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_FreqOffset; + fp->prach_config_common.rootSequenceIndex = radioResourceConfigCommon->prach_Config.rootSequenceIndex; + fp->prach_config_common.prach_Config_enabled = 1; + fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex = radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex; + fp->prach_config_common.prach_ConfigInfo.highSpeedFlag = radioResourceConfigCommon->prach_Config.prach_ConfigInfo->highSpeedFlag; + fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig = radioResourceConfigCommon->prach_Config.prach_ConfigInfo->zeroCorrelationZoneConfig; + fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset = radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_FreqOffset; // prach_fmt = get_prach_fmt(radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex,fp->frame_type); // N_ZC = (prach_fmt <4)?839:139; @@ -776,111 +755,108 @@ void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, Mobility // prach_root_sequence_map4[fp->prach_config_common.rootSequenceIndex]; //compute_prach_seq(u,N_ZC, PHY_vars_UE_g[Mod_id]->X_u); - compute_prach_seq(PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.rootSequenceIndex, - PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex, - PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, - PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.highSpeedFlag, - fp->frame_type, - PHY_vars_UE_g[Mod_id][CC_id]->X_u); + compute_prach_seq (PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.rootSequenceIndex, + PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex, + PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, + PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, PHY_vars_UE_g[Mod_id][CC_id]->X_u); - fp->pucch_config_common.deltaPUCCH_Shift = 1+radioResourceConfigCommon->pucch_ConfigCommon->deltaPUCCH_Shift; - fp->pucch_config_common.nRB_CQI = radioResourceConfigCommon->pucch_ConfigCommon->nRB_CQI; - fp->pucch_config_common.nCS_AN = radioResourceConfigCommon->pucch_ConfigCommon->nCS_AN; - fp->pucch_config_common.n1PUCCH_AN = radioResourceConfigCommon->pucch_ConfigCommon->n1PUCCH_AN; + fp->pucch_config_common.deltaPUCCH_Shift = 1 + radioResourceConfigCommon->pucch_ConfigCommon->deltaPUCCH_Shift; + fp->pucch_config_common.nRB_CQI = radioResourceConfigCommon->pucch_ConfigCommon->nRB_CQI; + fp->pucch_config_common.nCS_AN = radioResourceConfigCommon->pucch_ConfigCommon->nCS_AN; + fp->pucch_config_common.n1PUCCH_AN = radioResourceConfigCommon->pucch_ConfigCommon->n1PUCCH_AN; fp->pdsch_config_common.referenceSignalPower = radioResourceConfigCommon->pdsch_ConfigCommon->referenceSignalPower; - fp->pdsch_config_common.p_b = radioResourceConfigCommon->pdsch_ConfigCommon->p_b; + fp->pdsch_config_common.p_b = radioResourceConfigCommon->pdsch_ConfigCommon->p_b; - fp->pusch_config_common.n_SB = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.n_SB; - fp->pusch_config_common.hoppingMode = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode; - fp->pusch_config_common.pusch_HoppingOffset = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset; - fp->pusch_config_common.enable64QAM = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH; + fp->pusch_config_common.n_SB = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.n_SB; + fp->pusch_config_common.hoppingMode = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode; + fp->pusch_config_common.pusch_HoppingOffset = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset; + fp->pusch_config_common.enable64QAM = radioResourceConfigCommon->pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH; fp->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled; - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift; + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = radioResourceConfigCommon->pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift; - init_ul_hopping(fp); - fp->soundingrs_ul_config_common.enabled_flag = 0; + init_ul_hopping (fp); + fp->soundingrs_ul_config_common.enabled_flag = 0; - if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon->present==SoundingRS_UL_ConfigCommon_PR_setup) { - fp->soundingrs_ul_config_common.enabled_flag = 1; - fp->soundingrs_ul_config_common.srs_BandwidthConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_BandwidthConfig; - fp->soundingrs_ul_config_common.srs_SubframeConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_SubframeConfig; + if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon->present == SoundingRS_UL_ConfigCommon_PR_setup) { + fp->soundingrs_ul_config_common.enabled_flag = 1; + fp->soundingrs_ul_config_common.srs_BandwidthConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_BandwidthConfig; + fp->soundingrs_ul_config_common.srs_SubframeConfig = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_SubframeConfig; fp->soundingrs_ul_config_common.ackNackSRS_SimultaneousTransmission = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.ackNackSRS_SimultaneousTransmission; if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_MaxUpPts) - fp->soundingrs_ul_config_common.srs_MaxUpPts = 1; + fp->soundingrs_ul_config_common.srs_MaxUpPts = 1; else - fp->soundingrs_ul_config_common.srs_MaxUpPts = 0; + fp->soundingrs_ul_config_common.srs_MaxUpPts = 0; } - fp->ul_power_control_config_common.p0_NominalPUSCH = radioResourceConfigCommon->uplinkPowerControlCommon->p0_NominalPUSCH; - fp->ul_power_control_config_common.alpha = radioResourceConfigCommon->uplinkPowerControlCommon->alpha; - fp->ul_power_control_config_common.p0_NominalPUCCH = radioResourceConfigCommon->uplinkPowerControlCommon->p0_NominalPUCCH; + fp->ul_power_control_config_common.p0_NominalPUSCH = radioResourceConfigCommon->uplinkPowerControlCommon->p0_NominalPUSCH; + fp->ul_power_control_config_common.alpha = radioResourceConfigCommon->uplinkPowerControlCommon->alpha; + fp->ul_power_control_config_common.p0_NominalPUCCH = radioResourceConfigCommon->uplinkPowerControlCommon->p0_NominalPUCCH; fp->ul_power_control_config_common.deltaPreambleMsg3 = radioResourceConfigCommon->uplinkPowerControlCommon->deltaPreambleMsg3; - fp->ul_power_control_config_common.deltaF_PUCCH_Format1 = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format1; - fp->ul_power_control_config_common.deltaF_PUCCH_Format1b = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format1b; - fp->ul_power_control_config_common.deltaF_PUCCH_Format2 = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format2; - fp->ul_power_control_config_common.deltaF_PUCCH_Format2a = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format2a; - fp->ul_power_control_config_common.deltaF_PUCCH_Format2b = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format2b; + fp->ul_power_control_config_common.deltaF_PUCCH_Format1 = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format1; + fp->ul_power_control_config_common.deltaF_PUCCH_Format1b = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format1b; + fp->ul_power_control_config_common.deltaF_PUCCH_Format2 = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format2; + fp->ul_power_control_config_common.deltaF_PUCCH_Format2a = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format2a; + fp->ul_power_control_config_common.deltaF_PUCCH_Format2b = radioResourceConfigCommon->uplinkPowerControlCommon->deltaFList_PUCCH.deltaF_PUCCH_Format2b; fp->maxHARQ_Msg3Tx = radioResourceConfigCommon->rach_ConfigCommon->maxHARQ_Msg3Tx; // Now configure some of the Physical Channels if (radioResourceConfigCommon->antennaInfoCommon) - fp->nb_antennas_tx = (1<antennaInfoCommon->antennaPortsCount); + fp->nb_antennas_tx = (1 << radioResourceConfigCommon->antennaInfoCommon->antennaPortsCount); else - fp->nb_antennas_tx = 1; + fp->nb_antennas_tx = 1; //PHICH if (radioResourceConfigCommon->antennaInfoCommon) { fp->phich_config_common.phich_resource = radioResourceConfigCommon->phich_Config->phich_Resource; fp->phich_config_common.phich_duration = radioResourceConfigCommon->phich_Config->phich_Duration; } - //Target CellId fp->Nid_cell = mobilityControlInfo->targetPhysCellId; - fp->nushift = fp->Nid_cell%6; + fp->nushift = fp->Nid_cell % 6; // PUCCH - init_ncs_cell(fp,PHY_vars_UE_g[Mod_id][CC_id]->ncs_cell); + init_ncs_cell (fp, PHY_vars_UE_g[Mod_id][CC_id]->ncs_cell); - init_ul_hopping(fp); + init_ul_hopping (fp); // RNTI - PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0]|(mobilityControlInfo->newUE_Identity.buf[1]<<8); - PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0]|(mobilityControlInfo->newUE_Identity.buf[1]<<8); + PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0] | (mobilityControlInfo->newUE_Identity.buf[1] << 8); + PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0] | (mobilityControlInfo->newUE_Identity.buf[1] << 8); - LOG_I(PHY,"SET C-RNTI %x %x\n",PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_id]->crnti, - PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_id]->crnti); + LOG_I (PHY, "SET C-RNTI %x %x\n", PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_id]->crnti, PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_id]->crnti); } - if(ho_failed) { - LOG_D(PHY,"[UE%d] Handover failed, triggering RACH procedure\n",Mod_id); - memcpy((void *)&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms,(void *)&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms_before_ho, sizeof(LTE_DL_FRAME_PARMS)); + if (ho_failed) { + LOG_D (PHY, "[UE%d] Handover failed, triggering RACH procedure\n", Mod_id); + memcpy ((void *) &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms, (void *) &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms_before_ho, sizeof (LTE_DL_FRAME_PARMS)); PHY_vars_UE_g[Mod_id][CC_id]->UE_mode[eNB_id] = PRACH; } } -void phy_config_meas_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index,uint8_t n_adj_cells,unsigned int *adj_cell_id) +void +phy_config_meas_ue (uint8_t Mod_id, uint8_t CC_id, uint8_t eNB_index, uint8_t n_adj_cells, unsigned int *adj_cell_id) { PHY_MEASUREMENTS *phy_meas = &PHY_vars_UE_g[Mod_id][CC_id]->measurements; - int i; + int i; - LOG_I(PHY,"Configuring inter-cell measurements for %d cells, ids: \n",n_adj_cells); + LOG_I (PHY, "Configuring inter-cell measurements for %d cells, ids: \n", n_adj_cells); - for (i=0; iframe_parms,PHY_vars_UE_g[Mod_id][CC_id]->lte_gold_table[i+1],adj_cell_id[i]); + for (i = 0; i < n_adj_cells; i++) { + LOG_I (PHY, "%d\n", adj_cell_id[i]); + lte_gold (&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms, PHY_vars_UE_g[Mod_id][CC_id]->lte_gold_table[i + 1], adj_cell_id[i]); } phy_meas->n_adj_cells = n_adj_cells; - memcpy((void*)phy_meas->adj_cell_id,(void *)adj_cell_id,n_adj_cells*sizeof(unsigned int)); + memcpy ((void *) phy_meas->adj_cell_id, (void *) adj_cell_id, n_adj_cells * sizeof (unsigned int)); } @@ -949,13 +925,12 @@ void phy_config_meas_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index,uint8_t n */ #if defined(Rel10) || defined(Rel14) -void phy_config_dedicated_scell_ue(uint8_t Mod_id, - uint8_t eNB_index, - SCellToAddMod_r10_t *sCellToAddMod_r10, - int CC_id) +void +phy_config_dedicated_scell_ue (uint8_t Mod_id, uint8_t eNB_index, SCellToAddMod_r10_t * sCellToAddMod_r10, int CC_id) { } + /* void phy_config_dedicated_scell_eNB(uint8_t Mod_id, uint16_t rnti, @@ -1008,51 +983,51 @@ void phy_config_dedicated_scell_ue(uint8_t Mod_id, #endif -void phy_config_harq_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, - uint16_t max_harq_tx ) +void +phy_config_harq_ue (uint8_t Mod_id, int CC_id, uint8_t eNB_id, uint16_t max_harq_tx) { - PHY_VARS_UE *phy_vars_ue = PHY_vars_UE_g[Mod_id][CC_id]; + PHY_VARS_UE *phy_vars_ue = PHY_vars_UE_g[Mod_id][CC_id]; phy_vars_ue->ulsch[eNB_id]->Mlimit = max_harq_tx; } extern uint16_t beta_cqi[16]; -void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, - struct PhysicalConfigDedicated *physicalConfigDedicated ) +void +phy_config_dedicated_ue (uint8_t Mod_id, int CC_id, uint8_t eNB_id, struct PhysicalConfigDedicated *physicalConfigDedicated) { - static uint8_t first_dedicated_configuration = 0; - PHY_VARS_UE *phy_vars_ue = PHY_vars_UE_g[Mod_id][CC_id]; + static uint8_t first_dedicated_configuration = 0; + PHY_VARS_UE *phy_vars_ue = PHY_vars_UE_g[Mod_id][CC_id]; - phy_vars_ue->total_TBS[eNB_id]=0; - phy_vars_ue->total_TBS_last[eNB_id]=0; - phy_vars_ue->bitrate[eNB_id]=0; - phy_vars_ue->total_received_bits[eNB_id]=0; - phy_vars_ue->dlsch_errors[eNB_id]=0; - phy_vars_ue->dlsch_errors_last[eNB_id]=0; - phy_vars_ue->dlsch_received[eNB_id]=0; - phy_vars_ue->dlsch_received_last[eNB_id]=0; - phy_vars_ue->dlsch_fer[eNB_id]=0; + phy_vars_ue->total_TBS[eNB_id] = 0; + phy_vars_ue->total_TBS_last[eNB_id] = 0; + phy_vars_ue->bitrate[eNB_id] = 0; + phy_vars_ue->total_received_bits[eNB_id] = 0; + phy_vars_ue->dlsch_errors[eNB_id] = 0; + phy_vars_ue->dlsch_errors_last[eNB_id] = 0; + phy_vars_ue->dlsch_received[eNB_id] = 0; + phy_vars_ue->dlsch_received_last[eNB_id] = 0; + phy_vars_ue->dlsch_fer[eNB_id] = 0; phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.ri_ConfigIndex = -1; phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex = -1; if (physicalConfigDedicated) { - LOG_D(PHY,"[UE %d] Received physicalConfigDedicated from eNB %d\n",Mod_id, eNB_id); - LOG_D(PHY,"------------------------------------------------------------------------\n"); + LOG_D (PHY, "[UE %d] Received physicalConfigDedicated from eNB %d\n", Mod_id, eNB_id); + LOG_D (PHY, "------------------------------------------------------------------------\n"); if (physicalConfigDedicated->pdsch_ConfigDedicated) { - phy_vars_ue->pdsch_config_dedicated[eNB_id].p_a=physicalConfigDedicated->pdsch_ConfigDedicated->p_a; - LOG_D(PHY,"pdsch_config_dedicated.p_a %d\n",phy_vars_ue->pdsch_config_dedicated[eNB_id].p_a); - LOG_D(PHY,"\n"); + phy_vars_ue->pdsch_config_dedicated[eNB_id].p_a = physicalConfigDedicated->pdsch_ConfigDedicated->p_a; + LOG_D (PHY, "pdsch_config_dedicated.p_a %d\n", phy_vars_ue->pdsch_config_dedicated[eNB_id].p_a); + LOG_D (PHY, "\n"); } if (physicalConfigDedicated->pucch_ConfigDedicated) { - if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present==PUCCH_ConfigDedicated__ackNackRepetition_PR_release) - phy_vars_ue->pucch_config_dedicated[eNB_id].ackNackRepetition=0; + if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present == PUCCH_ConfigDedicated__ackNackRepetition_PR_release) + phy_vars_ue->pucch_config_dedicated[eNB_id].ackNackRepetition = 0; else { - phy_vars_ue->pucch_config_dedicated[eNB_id].ackNackRepetition=1; + phy_vars_ue->pucch_config_dedicated[eNB_id].ackNackRepetition = 1; } if (physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode) @@ -1060,10 +1035,10 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, else phy_vars_ue->pucch_config_dedicated[eNB_id].tdd_AckNackFeedbackMode = bundling; - if ( phy_vars_ue->pucch_config_dedicated[eNB_id].tdd_AckNackFeedbackMode == multiplexing) - LOG_D(PHY,"pucch_config_dedicated.tdd_AckNackFeedbackMode = multiplexing\n"); + if (phy_vars_ue->pucch_config_dedicated[eNB_id].tdd_AckNackFeedbackMode == multiplexing) + LOG_D (PHY, "pucch_config_dedicated.tdd_AckNackFeedbackMode = multiplexing\n"); else - LOG_D(PHY,"pucch_config_dedicated.tdd_AckNackFeedbackMode = bundling\n"); + LOG_D (PHY, "pucch_config_dedicated.tdd_AckNackFeedbackMode = bundling\n"); } if (physicalConfigDedicated->pusch_ConfigDedicated) { @@ -1072,10 +1047,11 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index = physicalConfigDedicated->pusch_ConfigDedicated->betaOffset_CQI_Index; - LOG_D(PHY,"pusch_config_dedicated.betaOffset_ACK_Index %d\n",phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_ACK_Index); - LOG_D(PHY,"pusch_config_dedicated.betaOffset_RI_Index %d\n",phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_RI_Index); - LOG_D(PHY,"pusch_config_dedicated.betaOffset_CQI_Index %d => %d)\n",phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index,beta_cqi[phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index]); - LOG_D(PHY,"\n"); + LOG_D (PHY, "pusch_config_dedicated.betaOffset_ACK_Index %d\n", phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_ACK_Index); + LOG_D (PHY, "pusch_config_dedicated.betaOffset_RI_Index %d\n", phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_RI_Index); + LOG_D (PHY, "pusch_config_dedicated.betaOffset_CQI_Index %d => %d)\n", phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index, + beta_cqi[phy_vars_ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index]); + LOG_D (PHY, "\n"); } @@ -1083,24 +1059,24 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, if (physicalConfigDedicated->uplinkPowerControlDedicated) { phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUSCH = physicalConfigDedicated->uplinkPowerControlDedicated->p0_UE_PUSCH; - phy_vars_ue->ul_power_control_dedicated[eNB_id].deltaMCS_Enabled= physicalConfigDedicated->uplinkPowerControlDedicated->deltaMCS_Enabled; - phy_vars_ue->ul_power_control_dedicated[eNB_id].accumulationEnabled= physicalConfigDedicated->uplinkPowerControlDedicated->accumulationEnabled; - phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUCCH= physicalConfigDedicated->uplinkPowerControlDedicated->p0_UE_PUCCH; - phy_vars_ue->ul_power_control_dedicated[eNB_id].pSRS_Offset= physicalConfigDedicated->uplinkPowerControlDedicated->pSRS_Offset; - phy_vars_ue->ul_power_control_dedicated[eNB_id].filterCoefficient= *physicalConfigDedicated->uplinkPowerControlDedicated->filterCoefficient; - LOG_D(PHY,"ul_power_control_dedicated.p0_UE_PUSCH %d\n",phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUSCH); - LOG_D(PHY,"ul_power_control_dedicated.deltaMCS_Enabled %d\n",phy_vars_ue->ul_power_control_dedicated[eNB_id].deltaMCS_Enabled); - LOG_D(PHY,"ul_power_control_dedicated.accumulationEnabled %d\n",phy_vars_ue->ul_power_control_dedicated[eNB_id].accumulationEnabled); - LOG_D(PHY,"ul_power_control_dedicated.p0_UE_PUCCH %d\n",phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUCCH); - LOG_D(PHY,"ul_power_control_dedicated.pSRS_Offset %d\n",phy_vars_ue->ul_power_control_dedicated[eNB_id].pSRS_Offset); - LOG_D(PHY,"ul_power_control_dedicated.filterCoefficient %d\n",phy_vars_ue->ul_power_control_dedicated[eNB_id].filterCoefficient); - LOG_D(PHY,"\n"); + phy_vars_ue->ul_power_control_dedicated[eNB_id].deltaMCS_Enabled = physicalConfigDedicated->uplinkPowerControlDedicated->deltaMCS_Enabled; + phy_vars_ue->ul_power_control_dedicated[eNB_id].accumulationEnabled = physicalConfigDedicated->uplinkPowerControlDedicated->accumulationEnabled; + phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUCCH = physicalConfigDedicated->uplinkPowerControlDedicated->p0_UE_PUCCH; + phy_vars_ue->ul_power_control_dedicated[eNB_id].pSRS_Offset = physicalConfigDedicated->uplinkPowerControlDedicated->pSRS_Offset; + phy_vars_ue->ul_power_control_dedicated[eNB_id].filterCoefficient = *physicalConfigDedicated->uplinkPowerControlDedicated->filterCoefficient; + LOG_D (PHY, "ul_power_control_dedicated.p0_UE_PUSCH %d\n", phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUSCH); + LOG_D (PHY, "ul_power_control_dedicated.deltaMCS_Enabled %d\n", phy_vars_ue->ul_power_control_dedicated[eNB_id].deltaMCS_Enabled); + LOG_D (PHY, "ul_power_control_dedicated.accumulationEnabled %d\n", phy_vars_ue->ul_power_control_dedicated[eNB_id].accumulationEnabled); + LOG_D (PHY, "ul_power_control_dedicated.p0_UE_PUCCH %d\n", phy_vars_ue->ul_power_control_dedicated[eNB_id].p0_UE_PUCCH); + LOG_D (PHY, "ul_power_control_dedicated.pSRS_Offset %d\n", phy_vars_ue->ul_power_control_dedicated[eNB_id].pSRS_Offset); + LOG_D (PHY, "ul_power_control_dedicated.filterCoefficient %d\n", phy_vars_ue->ul_power_control_dedicated[eNB_id].filterCoefficient); + LOG_D (PHY, "\n"); } if (physicalConfigDedicated->antennaInfo) { - phy_vars_ue->transmission_mode[eNB_id] = 1+(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode); - LOG_I(PHY,"Transmission Mode %d\n",phy_vars_ue->transmission_mode[eNB_id]); - switch(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode) { + phy_vars_ue->transmission_mode[eNB_id] = 1 + (physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode); + LOG_I (PHY, "Transmission Mode %d\n", phy_vars_ue->transmission_mode[eNB_id]); + switch (physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode) { case AntennaInfoDedicated__transmissionMode_tm1: phy_vars_ue->transmission_mode[eNB_id] = 1; break; @@ -1120,29 +1096,29 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, phy_vars_ue->transmission_mode[eNB_id] = 6; break; case AntennaInfoDedicated__transmissionMode_tm7: - lte_gold_ue_spec_port5(phy_vars_ue->lte_gold_uespec_port5_table, phy_vars_ue->frame_parms.Nid_cell, phy_vars_ue->pdcch_vars[0][eNB_id]->crnti); + lte_gold_ue_spec_port5 (phy_vars_ue->lte_gold_uespec_port5_table, phy_vars_ue->frame_parms.Nid_cell, phy_vars_ue->pdcch_vars[0][eNB_id]->crnti); phy_vars_ue->transmission_mode[eNB_id] = 7; break; default: - LOG_E(PHY,"Unknown transmission mode!\n"); + LOG_E (PHY, "Unknown transmission mode!\n"); break; } } else { - LOG_D(PHY,"[UE %d] Received NULL physicalConfigDedicated->antennaInfo from eNB %d\n",Mod_id, eNB_id); + LOG_D (PHY, "[UE %d] Received NULL physicalConfigDedicated->antennaInfo from eNB %d\n", Mod_id, eNB_id); } if (physicalConfigDedicated->schedulingRequestConfig) { if (physicalConfigDedicated->schedulingRequestConfig->present == SchedulingRequestConfig_PR_setup) { phy_vars_ue->scheduling_request_config[eNB_id].sr_PUCCH_ResourceIndex = physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex; - phy_vars_ue->scheduling_request_config[eNB_id].sr_ConfigIndex=physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_ConfigIndex; - phy_vars_ue->scheduling_request_config[eNB_id].dsr_TransMax=physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax; + phy_vars_ue->scheduling_request_config[eNB_id].sr_ConfigIndex = physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_ConfigIndex; + phy_vars_ue->scheduling_request_config[eNB_id].dsr_TransMax = physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax; - LOG_D(PHY,"scheduling_request_config.sr_PUCCH_ResourceIndex %d\n",phy_vars_ue->scheduling_request_config[eNB_id].sr_PUCCH_ResourceIndex); - LOG_D(PHY,"scheduling_request_config.sr_ConfigIndex %d\n",phy_vars_ue->scheduling_request_config[eNB_id].sr_ConfigIndex); - LOG_D(PHY,"scheduling_request_config.dsr_TransMax %d\n",phy_vars_ue->scheduling_request_config[eNB_id].dsr_TransMax); + LOG_D (PHY, "scheduling_request_config.sr_PUCCH_ResourceIndex %d\n", phy_vars_ue->scheduling_request_config[eNB_id].sr_PUCCH_ResourceIndex); + LOG_D (PHY, "scheduling_request_config.sr_ConfigIndex %d\n", phy_vars_ue->scheduling_request_config[eNB_id].sr_ConfigIndex); + LOG_D (PHY, "scheduling_request_config.dsr_TransMax %d\n", phy_vars_ue->scheduling_request_config[eNB_id].dsr_TransMax); } - LOG_D(PHY,"------------------------------------------------------------\n"); + LOG_D (PHY, "------------------------------------------------------------\n"); } @@ -1151,19 +1127,19 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srsConfigDedicatedSetup = 0; if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == SoundingRS_UL_ConfigDedicated_PR_setup) { phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srsConfigDedicatedSetup = 1; - phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].duration = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration; - phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].cyclicShift = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift; - phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].freqDomainPosition = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition; - phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_Bandwidth = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth; - phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_ConfigIndex = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex; + phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].duration = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration; + phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].cyclicShift = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift; + phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].freqDomainPosition = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition; + phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_Bandwidth = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth; + phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_ConfigIndex = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex; phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_HoppingBandwidth = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth; - phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].transmissionComb = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb; + phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].transmissionComb = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb; - LOG_D(PHY,"soundingrs_ul_config_dedicated.srs_ConfigIndex %d\n",phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_ConfigIndex); + LOG_D (PHY, "soundingrs_ul_config_dedicated.srs_ConfigIndex %d\n", phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srs_ConfigIndex); } - LOG_D(PHY,"------------------------------------------------------------\n"); + LOG_D (PHY, "------------------------------------------------------------\n"); } @@ -1173,112 +1149,107 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, // configure PUSCH CQI reporting phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic = *physicalConfigDedicated->cqi_ReportConfig->cqi_ReportModeAperiodic; if ((phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic != rm12) && - (phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic != rm30) && - (phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic != rm31)) - LOG_E(PHY,"Unsupported Aperiodic CQI Feedback Mode : %d\n",phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic); + (phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic != rm30) && (phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic != rm31)) + LOG_E (PHY, "Unsupported Aperiodic CQI Feedback Mode : %d\n", phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic); } if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic) { if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_setup) { - // configure PUCCH CQI reporting + // configure PUCCH CQI reporting phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PUCCH_ResourceIndex = physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex; - phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex = physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex; + phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex = physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex; if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex) phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.ri_ConfigIndex = *physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex; - } - else if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_release) { + } else if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_release) { // handle release phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.ri_ConfigIndex = -1; phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex = -1; } } } - #ifdef CBA if (physicalConfigDedicated->pusch_CBAConfigDedicated_vlola) { - phy_vars_ue->pusch_ca_config_dedicated[eNB_id].betaOffset_CA_Index = (uint16_t) *physicalConfigDedicated->pusch_CBAConfigDedicated_vlola->betaOffset_CBA_Index; - phy_vars_ue->pusch_ca_config_dedicated[eNB_id].cShift = (uint16_t) *physicalConfigDedicated->pusch_CBAConfigDedicated_vlola->cShift_CBA; - LOG_D(PHY,"[UE %d ] physicalConfigDedicated pusch CBA config dedicated: beta offset %d cshift %d \n",Mod_id, - phy_vars_ue->pusch_ca_config_dedicated[eNB_id].betaOffset_CA_Index, - phy_vars_ue->pusch_ca_config_dedicated[eNB_id].cShift); + phy_vars_ue->pusch_ca_config_dedicated[eNB_id].betaOffset_CA_Index = (uint16_t) * physicalConfigDedicated->pusch_CBAConfigDedicated_vlola->betaOffset_CBA_Index; + phy_vars_ue->pusch_ca_config_dedicated[eNB_id].cShift = (uint16_t) * physicalConfigDedicated->pusch_CBAConfigDedicated_vlola->cShift_CBA; + LOG_D (PHY, "[UE %d ] physicalConfigDedicated pusch CBA config dedicated: beta offset %d cshift %d \n", Mod_id, + phy_vars_ue->pusch_ca_config_dedicated[eNB_id].betaOffset_CA_Index, phy_vars_ue->pusch_ca_config_dedicated[eNB_id].cShift); } - #endif } else { - LOG_D(PHY,"[PHY][UE %d] Received NULL radioResourceConfigDedicated from eNB %d\n",Mod_id,eNB_id); + LOG_D (PHY, "[PHY][UE %d] Received NULL radioResourceConfigDedicated from eNB %d\n", Mod_id, eNB_id); return; } // fill cqi parameters for periodic CQI reporting - get_cqipmiri_params(phy_vars_ue,eNB_id); + get_cqipmiri_params (phy_vars_ue, eNB_id); // disable MIB SIB decoding once we are on connected mode - first_dedicated_configuration ++; - if(first_dedicated_configuration > 1) - { - LOG_I(PHY,"Disable SIB MIB decoding \n"); - phy_vars_ue->decode_SIB = 0; - phy_vars_ue->decode_MIB = 0; + first_dedicated_configuration++; + if (first_dedicated_configuration > 1) { + LOG_I (PHY, "Disable SIB MIB decoding \n"); + phy_vars_ue->decode_SIB = 0; + phy_vars_ue->decode_MIB = 0; } //phy_vars_ue->pdcch_vars[1][eNB_id]->crnti = phy_vars_ue->pdcch_vars[0][eNB_id]->crnti; - if(phy_vars_ue->pdcch_vars[0][eNB_id]->crnti == 0x1234) + if (phy_vars_ue->pdcch_vars[0][eNB_id]->crnti == 0x1234) phy_vars_ue->pdcch_vars[0][eNB_id]->crnti = phy_vars_ue->pdcch_vars[1][eNB_id]->crnti; else phy_vars_ue->pdcch_vars[1][eNB_id]->crnti = phy_vars_ue->pdcch_vars[0][eNB_id]->crnti; - LOG_I(PHY,"C-RNTI %x %x \n", phy_vars_ue->pdcch_vars[0][eNB_id]->crnti, - phy_vars_ue->pdcch_vars[1][eNB_id]->crnti); + LOG_I (PHY, "C-RNTI %x %x \n", phy_vars_ue->pdcch_vars[0][eNB_id]->crnti, phy_vars_ue->pdcch_vars[1][eNB_id]->crnti); } -void phy_config_cba_rnti (module_id_t Mod_id,int CC_id,eNB_flag_t eNB_flag, uint8_t index, rnti_t cba_rnti, uint8_t cba_group_id, uint8_t num_active_cba_groups) +void +phy_config_cba_rnti (module_id_t Mod_id, int CC_id, eNB_flag_t eNB_flag, uint8_t index, rnti_t cba_rnti, uint8_t cba_group_id, uint8_t num_active_cba_groups) { // uint8_t i; - if (eNB_flag == 0 ) { + if (eNB_flag == 0) { //LOG_D(PHY,"[UE %d] configure cba group %d with rnti %x, num active cba grp %d\n", index, index, cba_rnti, num_active_cba_groups); - PHY_vars_UE_g[Mod_id][CC_id]->ulsch[index]->num_active_cba_groups=num_active_cba_groups; - PHY_vars_UE_g[Mod_id][CC_id]->ulsch[index]->cba_rnti[cba_group_id]=cba_rnti; + PHY_vars_UE_g[Mod_id][CC_id]->ulsch[index]->num_active_cba_groups = num_active_cba_groups; + PHY_vars_UE_g[Mod_id][CC_id]->ulsch[index]->cba_rnti[cba_group_id] = cba_rnti; } else { //for (i=index; i < NUMBER_OF_UE_MAX; i+=num_active_cba_groups){ // LOG_D(PHY,"[eNB %d] configure cba group %d with rnti %x for UE %d, num active cba grp %d\n",Mod_id, i%num_active_cba_groups, cba_rnti, i, num_active_cba_groups); - RC.eNB[Mod_id][CC_id]->ulsch[index]->num_active_cba_groups=num_active_cba_groups; + RC.eNB[Mod_id][CC_id]->ulsch[index]->num_active_cba_groups = num_active_cba_groups; RC.eNB[Mod_id][CC_id]->ulsch[index]->cba_rnti[cba_group_id] = cba_rnti; //} } } -void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) +void +init_lte_top (LTE_DL_FRAME_PARMS * frame_parms) { - crcTableInit(); + crcTableInit (); - ccodedot11_init(); - ccodedot11_init_inv(); + ccodedot11_init (); + ccodedot11_init_inv (); - ccodelte_init(); - ccodelte_init_inv(); + ccodelte_init (); + ccodelte_init_inv (); - treillis_table_init(); + treillis_table_init (); - phy_generate_viterbi_tables(); - phy_generate_viterbi_tables_lte(); - init_td8(); - init_td16(); + phy_generate_viterbi_tables (); + phy_generate_viterbi_tables_lte (); + init_td8 (); + init_td16 (); #ifdef __AVX2__ - init_td16avx2(); + init_td16avx2 (); #endif - lte_sync_time_init(frame_parms); + lte_sync_time_init (frame_parms); - generate_ul_ref_sigs(); - generate_ul_ref_sigs_rx(); + generate_ul_ref_sigs (); + generate_ul_ref_sigs_rx (); - generate_64qam_table(); - generate_16qam_table(); - generate_RIV_tables(); + generate_64qam_table (); + generate_16qam_table (); + generate_RIV_tables (); - init_unscrambling_lut(); - init_scrambling_lut(); + init_unscrambling_lut (); + init_scrambling_lut (); //set_taus_seed(1328); @@ -1289,92 +1260,92 @@ void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) * \param[in] frame_parms LTE_DL_FRAME_PARMS structure. * \note This function is optimistic in that it expects malloc() to succeed. */ -void phy_init_lte_ue__PDSCH( LTE_UE_PDSCH* const pdsch, const LTE_DL_FRAME_PARMS* const fp ) +void +phy_init_lte_ue__PDSCH (LTE_UE_PDSCH * const pdsch, const LTE_DL_FRAME_PARMS * const fp) { - AssertFatal( pdsch, "pdsch==0" ); + AssertFatal (pdsch, "pdsch==0"); - pdsch->pmi_ext = (uint8_t*)malloc16_clear( fp->N_RB_DL ); - pdsch->llr[0] = (int16_t*)malloc16_clear( (8*((3*8*6144)+12))*sizeof(int16_t) ); - pdsch->llr128 = (int16_t**)malloc16_clear( sizeof(int16_t*) ); + pdsch->pmi_ext = (uint8_t *) malloc16_clear (fp->N_RB_DL); + pdsch->llr[0] = (int16_t *) malloc16_clear ((8 * ((3 * 8 * 6144) + 12)) * sizeof (int16_t)); + pdsch->llr128 = (int16_t **) malloc16_clear (sizeof (int16_t *)); // FIXME! no further allocation for (int16_t*)pdsch->llr128 !!! expect SIGSEGV // FK, 11-3-2015: this is only as a temporary pointer, no memory is stored there - pdsch->rxdataF_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->rxdataF_uespec_pilots = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->rxdataF_comp0 = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->rho = (int32_t**)malloc16_clear( fp->nb_antennas_rx*sizeof(int32_t*) ); - pdsch->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->dl_bf_ch_estimates = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->dl_bf_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); + pdsch->rxdataF_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pdsch->rxdataF_uespec_pilots = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pdsch->rxdataF_comp0 = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pdsch->rho = (int32_t **) malloc16_clear (fp->nb_antennas_rx * sizeof (int32_t *)); + pdsch->dl_ch_estimates_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pdsch->dl_bf_ch_estimates = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pdsch->dl_bf_ch_estimates_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); //pdsch->dl_ch_rho_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); //pdsch->dl_ch_rho2_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->dl_ch_mag0 = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pdsch->dl_ch_magb0 = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); + pdsch->dl_ch_mag0 = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pdsch->dl_ch_magb0 = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); // the allocated memory size is fixed: - AssertFatal( fp->nb_antennas_rx <= 2, "nb_antennas_rx > 2" ); + AssertFatal (fp->nb_antennas_rx <= 2, "nb_antennas_rx > 2"); - for (int i=0; inb_antennas_rx; i++) { - pdsch->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(fp->N_RB_DL*12*7*2) ); + for (int i = 0; i < fp->nb_antennas_rx; i++) { + pdsch->rho[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * (fp->N_RB_DL * 12 * 7 * 2)); - for (int j=0; j<4; j++) { //fp->nb_antennas_tx; j++) - const int idx = (j<<1)+i; - const size_t num = 7*2*fp->N_RB_DL*12; - pdsch->rxdataF_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - pdsch->rxdataF_uespec_pilots[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * fp->N_RB_DL*12); - pdsch->rxdataF_comp0[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - pdsch->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - pdsch->dl_bf_ch_estimates[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * fp->ofdm_symbol_size*7*2); - pdsch->dl_bf_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); + for (int j = 0; j < 4; j++) { //fp->nb_antennas_tx; j++) + const int idx = (j << 1) + i; + const size_t num = 7 * 2 * fp->N_RB_DL * 12; + pdsch->rxdataF_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + pdsch->rxdataF_uespec_pilots[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->N_RB_DL * 12); + pdsch->rxdataF_comp0[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + pdsch->dl_ch_estimates_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + pdsch->dl_bf_ch_estimates[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->ofdm_symbol_size * 7 * 2); + pdsch->dl_bf_ch_estimates_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); //pdsch->dl_ch_rho_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); //pdsch->dl_ch_rho2_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - pdsch->dl_ch_mag0[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - pdsch->dl_ch_magb0[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); + pdsch->dl_ch_mag0[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + pdsch->dl_ch_magb0[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); } } } -int init_lte_ue_signal(PHY_VARS_UE *ue, - int nb_connected_eNB, - uint8_t abstraction_flag) +int +init_lte_ue_signal (PHY_VARS_UE * ue, int nb_connected_eNB, uint8_t abstraction_flag) { // create shortcuts - LTE_DL_FRAME_PARMS* const fp = &ue->frame_parms; - LTE_UE_COMMON* const common_vars = &ue->common_vars; - LTE_UE_PDSCH** const pdsch_vars_SI = ue->pdsch_vars_SI; - LTE_UE_PDSCH** const pdsch_vars_ra = ue->pdsch_vars_ra; - LTE_UE_PDSCH** const pdsch_vars_p = ue->pdsch_vars_p; - LTE_UE_PDSCH** const pdsch_vars_mch = ue->pdsch_vars_MCH; - LTE_UE_PDSCH* (*pdsch_vars_th)[][NUMBER_OF_CONNECTED_eNB_MAX+1] = &ue->pdsch_vars; - LTE_UE_PDCCH* (*pdcch_vars_th)[][NUMBER_OF_CONNECTED_eNB_MAX] = &ue->pdcch_vars; - LTE_UE_PBCH** const pbch_vars = ue->pbch_vars; - LTE_UE_PRACH** const prach_vars = ue->prach_vars; + LTE_DL_FRAME_PARMS *const fp = &ue->frame_parms; + LTE_UE_COMMON *const common_vars = &ue->common_vars; + LTE_UE_PDSCH **const pdsch_vars_SI = ue->pdsch_vars_SI; + LTE_UE_PDSCH **const pdsch_vars_ra = ue->pdsch_vars_ra; + LTE_UE_PDSCH **const pdsch_vars_p = ue->pdsch_vars_p; + LTE_UE_PDSCH **const pdsch_vars_mch = ue->pdsch_vars_MCH; + LTE_UE_PDSCH *(*pdsch_vars_th)[][NUMBER_OF_CONNECTED_eNB_MAX + 1] = &ue->pdsch_vars; + LTE_UE_PDCCH *(*pdcch_vars_th)[][NUMBER_OF_CONNECTED_eNB_MAX] = &ue->pdcch_vars; + LTE_UE_PBCH **const pbch_vars = ue->pbch_vars; + LTE_UE_PRACH **const prach_vars = ue->prach_vars; - int i,j,k,l; - int eNB_id; - int th_id; + int i, j, k, l; + int eNB_id; + int th_id; - LOG_D(PHY,"Initializing UE vars (abstraction %"PRIu8") for eNB TXant %"PRIu8", UE RXant %"PRIu8"\n",abstraction_flag,fp->nb_antennas_tx,fp->nb_antennas_rx); - LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]\n", ue->Mod_id+NB_eNB_INST); + LOG_D (PHY, "Initializing UE vars (abstraction %" PRIu8 ") for eNB TXant %" PRIu8 ", UE RXant %" PRIu8 "\n", abstraction_flag, fp->nb_antennas_tx, fp->nb_antennas_rx); + LOG_D (PHY, "[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]\n", ue->Mod_id + NB_eNB_INST); - init_frame_parms(&ue->frame_parms,1); - init_lte_top(&ue->frame_parms); - init_ul_hopping(&ue->frame_parms); + init_frame_parms (&ue->frame_parms, 1); + init_lte_top (&ue->frame_parms); + init_ul_hopping (&ue->frame_parms); // many memory allocation sizes are hard coded - AssertFatal( fp->nb_antennas_rx <= 2, "hard coded allocation for ue_common_vars->dl_ch_estimates[eNB_id]" ); - AssertFatal( ue->n_connected_eNB <= NUMBER_OF_CONNECTED_eNB_MAX, "n_connected_eNB is too large" ); + AssertFatal (fp->nb_antennas_rx <= 2, "hard coded allocation for ue_common_vars->dl_ch_estimates[eNB_id]"); + AssertFatal (ue->n_connected_eNB <= NUMBER_OF_CONNECTED_eNB_MAX, "n_connected_eNB is too large"); // init phy_vars_ue - for (i=0; i<4; i++) { + for (i = 0; i < 4; i++) { ue->rx_gain_max[i] = 135; ue->rx_gain_med[i] = 128; ue->rx_gain_byp[i] = 120; @@ -1382,555 +1353,552 @@ int init_lte_ue_signal(PHY_VARS_UE *ue, ue->n_connected_eNB = nb_connected_eNB; - for(eNB_id = 0; eNB_id < ue->n_connected_eNB; eNB_id++) { + for (eNB_id = 0; eNB_id < ue->n_connected_eNB; eNB_id++) { ue->total_TBS[eNB_id] = 0; ue->total_TBS_last[eNB_id] = 0; ue->bitrate[eNB_id] = 0; ue->total_received_bits[eNB_id] = 0; } - for (i=0;i<10;i++) - ue->tx_power_dBm[i]=-127; + for (i = 0; i < 10; i++) + ue->tx_power_dBm[i] = -127; // init TX buffers - - common_vars->txdata = (int32_t**)malloc16( fp->nb_antennas_tx*sizeof(int32_t*) ); - common_vars->txdataF = (int32_t **)malloc16( fp->nb_antennas_tx*sizeof(int32_t*) ); - - for (i=0; inb_antennas_tx; i++) { - - common_vars->txdata[i] = (int32_t*)malloc16_clear( fp->samples_per_tti*10*sizeof(int32_t) ); - common_vars->txdataF[i] = (int32_t *)malloc16_clear( fp->ofdm_symbol_size*fp->symbols_per_tti*10*sizeof(int32_t) ); + + common_vars->txdata = (int32_t **) malloc16 (fp->nb_antennas_tx * sizeof (int32_t *)); + common_vars->txdataF = (int32_t **) malloc16 (fp->nb_antennas_tx * sizeof (int32_t *)); + + for (i = 0; i < fp->nb_antennas_tx; i++) { + + common_vars->txdata[i] = (int32_t *) malloc16_clear (fp->samples_per_tti * 10 * sizeof (int32_t)); + common_vars->txdataF[i] = (int32_t *) malloc16_clear (fp->ofdm_symbol_size * fp->symbols_per_tti * 10 * sizeof (int32_t)); } - + // init RX buffers - - common_vars->rxdata = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) ); - common_vars->common_vars_rx_data_per_thread[0].rxdataF = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) ); - common_vars->common_vars_rx_data_per_thread[1].rxdataF = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) ); - - for (i=0; inb_antennas_rx; i++) { - common_vars->rxdata[i] = (int32_t*) malloc16_clear( (fp->samples_per_tti*10+2048)*sizeof(int32_t) ); - common_vars->common_vars_rx_data_per_thread[0].rxdataF[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(fp->ofdm_symbol_size*14) ); - common_vars->common_vars_rx_data_per_thread[1].rxdataF[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(fp->ofdm_symbol_size*14) ); + + common_vars->rxdata = (int32_t **) malloc16 (fp->nb_antennas_rx * sizeof (int32_t *)); + common_vars->common_vars_rx_data_per_thread[0].rxdataF = (int32_t **) malloc16 (fp->nb_antennas_rx * sizeof (int32_t *)); + common_vars->common_vars_rx_data_per_thread[1].rxdataF = (int32_t **) malloc16 (fp->nb_antennas_rx * sizeof (int32_t *)); + + for (i = 0; i < fp->nb_antennas_rx; i++) { + common_vars->rxdata[i] = (int32_t *) malloc16_clear ((fp->samples_per_tti * 10 + 2048) * sizeof (int32_t)); + common_vars->common_vars_rx_data_per_thread[0].rxdataF[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * (fp->ofdm_symbol_size * 14)); + common_vars->common_vars_rx_data_per_thread[1].rxdataF[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * (fp->ofdm_symbol_size * 14)); } // Channel estimates - for (eNB_id=0; eNB_id<7; eNB_id++) { - for (th_id=0; th_idcommon_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id] = (int32_t**)malloc16_clear(8*sizeof(int32_t*)); - common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates_time[eNB_id] = (int32_t**)malloc16_clear(8*sizeof(int32_t*)); + for (eNB_id = 0; eNB_id < 7; eNB_id++) { + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id] = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates_time[eNB_id] = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); } - for (i=0; inb_antennas_rx; i++) - for (j=0; j<4; j++) { - int idx = (j<<1) + i; - for (th_id=0; th_idcommon_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id][idx] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->symbols_per_tti*(fp->ofdm_symbol_size+LTE_CE_FILTER_LENGTH) ); - common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates_time[eNB_id][idx] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->ofdm_symbol_size*2 ); + for (i = 0; i < fp->nb_antennas_rx; i++) + for (j = 0; j < 4; j++) { + int idx = (j << 1) + i; + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id][idx] = + (int32_t *) malloc16_clear (sizeof (int32_t) * fp->symbols_per_tti * (fp->ofdm_symbol_size + LTE_CE_FILTER_LENGTH)); + common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates_time[eNB_id][idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->ofdm_symbol_size * 2); } } } // DLSCH - for (eNB_id=0; eNB_idn_connected_eNB; eNB_id++) { - for (th_id=0; th_idn_connected_eNB; eNB_id++) { + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id] = (LTE_UE_PDSCH *) malloc16_clear (sizeof (LTE_UE_PDSCH)); } - for (th_id=0; th_idllr_shifts = (uint8_t*)malloc16_clear(7*2*fp->N_RB_DL*12); - (*pdsch_vars_th)[th_id][eNB_id]->llr_shifts_p = (*pdsch_vars_th)[0][eNB_id]->llr_shifts; - (*pdsch_vars_th)[th_id][eNB_id]->llr[1] = (int16_t*)malloc16_clear( (8*((3*8*6144)+12))*sizeof(int16_t) ); - (*pdsch_vars_th)[th_id][eNB_id]->llr128_2ndstream = (int16_t**)malloc16_clear( sizeof(int16_t*) ); - (*pdsch_vars_th)[th_id][eNB_id]->rho = (int32_t**)malloc16_clear( fp->nb_antennas_rx*sizeof(int32_t*) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id]->llr_shifts = (uint8_t *) malloc16_clear (7 * 2 * fp->N_RB_DL * 12); + (*pdsch_vars_th)[th_id][eNB_id]->llr_shifts_p = (*pdsch_vars_th)[0][eNB_id]->llr_shifts; + (*pdsch_vars_th)[th_id][eNB_id]->llr[1] = (int16_t *) malloc16_clear ((8 * ((3 * 8 * 6144) + 12)) * sizeof (int16_t)); + (*pdsch_vars_th)[th_id][eNB_id]->llr128_2ndstream = (int16_t **) malloc16_clear (sizeof (int16_t *)); + (*pdsch_vars_th)[th_id][eNB_id]->rho = (int32_t **) malloc16_clear (fp->nb_antennas_rx * sizeof (int32_t *)); } - - for (int i=0; inb_antennas_rx; i++){ - for (th_id=0; th_idrho[i] = (int32_t*)malloc16_clear( 7*2*sizeof(int32_t)*(fp->N_RB_DL*12) ); + + for (int i = 0; i < fp->nb_antennas_rx; i++) { + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id]->rho[i] = (int32_t *) malloc16_clear (7 * 2 * sizeof (int32_t) * (fp->N_RB_DL * 12)); } - + } - for (th_id=0; th_iddl_ch_rho2_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_rho2_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); } - - for (i=0; inb_antennas_rx; i++) - for (j=0; j<4; j++) { - const int idx = (j<<1)+i; - const size_t num = 7*2*fp->N_RB_DL*12+4; - for (th_id=0; th_iddl_ch_rho2_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - } - + + for (i = 0; i < fp->nb_antennas_rx; i++) + for (j = 0; j < 4; j++) { + const int idx = (j << 1) + i; + const size_t num = 7 * 2 * fp->N_RB_DL * 12 + 4; + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_rho2_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + } + } - + //const size_t num = 7*2*fp->N_RB_DL*12+4; - for (k=0;k<8;k++) { //harq_pid - for (l=0;l<8;l++) { //round - for (th_id=0; th_idrxdataF_comp1[k][l] = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[k][l] = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_mag1[k][l] = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_magb1[k][l] = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - } - - - for (int i=0; inb_antennas_rx; i++) - for (int j=0; j<4; j++) { //frame_parms->nb_antennas_tx; j++) - const int idx = (j<<1)+i; - for (th_id=0; th_iddl_ch_rho_ext[k][l][idx] = (int32_t*)malloc16_clear( 7*2*sizeof(int32_t)*(fp->N_RB_DL*12) ); - (*pdsch_vars_th)[th_id][eNB_id]->rxdataF_comp1[k][l][idx] = (int32_t*)malloc16_clear( 7*2*sizeof(int32_t)*(fp->N_RB_DL*12) ); - (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_mag1[k][l][idx] = (int32_t*)malloc16_clear( 7*2*sizeof(int32_t)*(fp->N_RB_DL*12) ); - (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_magb1[k][l][idx] = (int32_t*)malloc16_clear( 7*2*sizeof(int32_t)*(fp->N_RB_DL*12) ); - } - - } + for (k = 0; k < 8; k++) { //harq_pid + for (l = 0; l < 8; l++) { //round + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id]->rxdataF_comp1[k][l] = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[k][l] = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_mag1[k][l] = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_magb1[k][l] = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + } + + + for (int i = 0; i < fp->nb_antennas_rx; i++) + for (int j = 0; j < 4; j++) { //frame_parms->nb_antennas_tx; j++) + const int idx = (j << 1) + i; + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[k][l][idx] = (int32_t *) malloc16_clear (7 * 2 * sizeof (int32_t) * (fp->N_RB_DL * 12)); + (*pdsch_vars_th)[th_id][eNB_id]->rxdataF_comp1[k][l][idx] = (int32_t *) malloc16_clear (7 * 2 * sizeof (int32_t) * (fp->N_RB_DL * 12)); + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_mag1[k][l][idx] = (int32_t *) malloc16_clear (7 * 2 * sizeof (int32_t) * (fp->N_RB_DL * 12)); + (*pdsch_vars_th)[th_id][eNB_id]->dl_ch_magb1[k][l][idx] = (int32_t *) malloc16_clear (7 * 2 * sizeof (int32_t) * (fp->N_RB_DL * 12)); + } + + } } } - phy_init_lte_ue__PDSCH( pdsch_vars_SI[eNB_id], fp ); - phy_init_lte_ue__PDSCH( pdsch_vars_ra[eNB_id], fp ); - phy_init_lte_ue__PDSCH( pdsch_vars_p[eNB_id], fp ); - phy_init_lte_ue__PDSCH( pdsch_vars_mch[eNB_id], fp ); - + phy_init_lte_ue__PDSCH (pdsch_vars_SI[eNB_id], fp); + phy_init_lte_ue__PDSCH (pdsch_vars_ra[eNB_id], fp); + phy_init_lte_ue__PDSCH (pdsch_vars_p[eNB_id], fp); + phy_init_lte_ue__PDSCH (pdsch_vars_mch[eNB_id], fp); + // 100 PRBs * 12 REs/PRB * 4 PDCCH SYMBOLS * 2 LLRs/RE - for (th_id=0; th_idllr = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) ); - (*pdcch_vars_th)[th_id][eNB_id]->llr16 = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) ); - (*pdcch_vars_th)[th_id][eNB_id]->wbar = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) ); - (*pdcch_vars_th)[th_id][eNB_id]->e_rx = (int8_t*)malloc16_clear( 4*2*100*12 ); - - (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_comp = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->rho = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdcch_vars_th)[th_id][eNB_id]->llr = (uint16_t *) malloc16_clear (2 * 4 * 100 * 12 * sizeof (uint16_t)); + (*pdcch_vars_th)[th_id][eNB_id]->llr16 = (uint16_t *) malloc16_clear (2 * 4 * 100 * 12 * sizeof (uint16_t)); + (*pdcch_vars_th)[th_id][eNB_id]->wbar = (uint16_t *) malloc16_clear (2 * 4 * 100 * 12 * sizeof (uint16_t)); + (*pdcch_vars_th)[th_id][eNB_id]->e_rx = (int8_t *) malloc16_clear (4 * 2 * 100 * 12); + + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_comp = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->rho = (int32_t **) malloc16 (fp->nb_antennas_rx * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); } - - for (i=0; inb_antennas_rx; i++) { + + for (i = 0; i < fp->nb_antennas_rx; i++) { //ue_pdcch_vars[eNB_id]->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(fp->N_RB_DL*12*7*2) ); - for (th_id=0; th_idrho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(100*12*4) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdcch_vars_th)[th_id][eNB_id]->rho[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * (100 * 12 * 4)); } - - for (j=0; j<4; j++) { //fp->nb_antennas_tx; j++) - int idx = (j<<1)+i; - // size_t num = 7*2*fp->N_RB_DL*12; - size_t num = 4*100*12; // 4 symbols, 100 PRBs, 12 REs per PRB - for (th_id=0; th_idrxdataF_comp[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - } + + for (j = 0; j < 4; j++) { //fp->nb_antennas_tx; j++) + int idx = (j << 1) + i; + // size_t num = 7*2*fp->N_RB_DL*12; + size_t num = 4 * 100 * 12; // 4 symbols, 100 PRBs, 12 REs per PRB + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_comp[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + } } } - phy_init_lte_ue__PDSCH( pdsch_vars_SI[eNB_id], fp ); - phy_init_lte_ue__PDSCH( pdsch_vars_ra[eNB_id], fp ); - phy_init_lte_ue__PDSCH( pdsch_vars_p[eNB_id], fp ); - phy_init_lte_ue__PDSCH( pdsch_vars_mch[eNB_id], fp ); - + phy_init_lte_ue__PDSCH (pdsch_vars_SI[eNB_id], fp); + phy_init_lte_ue__PDSCH (pdsch_vars_ra[eNB_id], fp); + phy_init_lte_ue__PDSCH (pdsch_vars_p[eNB_id], fp); + phy_init_lte_ue__PDSCH (pdsch_vars_mch[eNB_id], fp); + // 100 PRBs * 12 REs/PRB * 4 PDCCH SYMBOLS * 2 LLRs/RE - for (th_id=0; th_idllr = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) ); - (*pdcch_vars_th)[th_id][eNB_id]->llr16 = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) ); - (*pdcch_vars_th)[th_id][eNB_id]->wbar = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) ); - (*pdcch_vars_th)[th_id][eNB_id]->e_rx = (int8_t*)malloc16_clear( 4*2*100*12 ); - - (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_comp = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->rho = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdcch_vars_th)[th_id][eNB_id]->llr = (uint16_t *) malloc16_clear (2 * 4 * 100 * 12 * sizeof (uint16_t)); + (*pdcch_vars_th)[th_id][eNB_id]->llr16 = (uint16_t *) malloc16_clear (2 * 4 * 100 * 12 * sizeof (uint16_t)); + (*pdcch_vars_th)[th_id][eNB_id]->wbar = (uint16_t *) malloc16_clear (2 * 4 * 100 * 12 * sizeof (uint16_t)); + (*pdcch_vars_th)[th_id][eNB_id]->e_rx = (int8_t *) malloc16_clear (4 * 2 * 100 * 12); + + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_comp = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->rho = (int32_t **) malloc16 (fp->nb_antennas_rx * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); } - - for (i=0; inb_antennas_rx; i++) { + + for (i = 0; i < fp->nb_antennas_rx; i++) { //ue_pdcch_vars[eNB_id]->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(fp->N_RB_DL*12*7*2) ); - for (th_id=0; th_idrho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(100*12*4) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdcch_vars_th)[th_id][eNB_id]->rho[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * (100 * 12 * 4)); } - - for (j=0; j<4; j++) { //fp->nb_antennas_tx; j++) - int idx = (j<<1)+i; - // size_t num = 7*2*fp->N_RB_DL*12; - size_t num = 4*100*12; // 4 symbols, 100 PRBs, 12 REs per PRB - for (th_id=0; th_idrxdataF_comp[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num ); - } + + for (j = 0; j < 4; j++) { //fp->nb_antennas_tx; j++) + int idx = (j << 1) + i; + // size_t num = 7*2*fp->N_RB_DL*12; + size_t num = 4 * 100 * 12; // 4 symbols, 100 PRBs, 12 REs per PRB + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_comp[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_rho_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + (*pdcch_vars_th)[th_id][eNB_id]->rxdataF_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + (*pdcch_vars_th)[th_id][eNB_id]->dl_ch_estimates_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * num); + } } } - + // PBCH - pbch_vars[eNB_id]->rxdataF_ext = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) ); - pbch_vars[eNB_id]->rxdataF_comp = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pbch_vars[eNB_id]->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) ); - pbch_vars[eNB_id]->llr = (int8_t*)malloc16_clear( 1920 ); - prach_vars[eNB_id]->prachF = (int16_t*)malloc16_clear( sizeof(int)*(7*2*sizeof(int)*(fp->ofdm_symbol_size*12)) ); - prach_vars[eNB_id]->prach = (int16_t*)malloc16_clear( sizeof(int)*(7*2*sizeof(int)*(fp->ofdm_symbol_size*12)) ); - - for (i=0; inb_antennas_rx; i++) { - pbch_vars[eNB_id]->rxdataF_ext[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*6*12*4 ); - - for (j=0; j<4; j++) {//fp->nb_antennas_tx;j++) { - int idx = (j<<1)+i; - pbch_vars[eNB_id]->rxdataF_comp[idx] = (int32_t*)malloc16_clear( sizeof(int32_t)*6*12*4 ); - pbch_vars[eNB_id]->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t)*6*12*4 ); + pbch_vars[eNB_id]->rxdataF_ext = (int32_t **) malloc16 (fp->nb_antennas_rx * sizeof (int32_t *)); + pbch_vars[eNB_id]->rxdataF_comp = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pbch_vars[eNB_id]->dl_ch_estimates_ext = (int32_t **) malloc16_clear (8 * sizeof (int32_t *)); + pbch_vars[eNB_id]->llr = (int8_t *) malloc16_clear (1920); + prach_vars[eNB_id]->prachF = (int16_t *) malloc16_clear (sizeof (int) * (7 * 2 * sizeof (int) * (fp->ofdm_symbol_size * 12))); + prach_vars[eNB_id]->prach = (int16_t *) malloc16_clear (sizeof (int) * (7 * 2 * sizeof (int) * (fp->ofdm_symbol_size * 12))); + + for (i = 0; i < fp->nb_antennas_rx; i++) { + pbch_vars[eNB_id]->rxdataF_ext[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * 6 * 12 * 4); + + for (j = 0; j < 4; j++) { //fp->nb_antennas_tx;j++) { + int idx = (j << 1) + i; + pbch_vars[eNB_id]->rxdataF_comp[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * 6 * 12 * 4); + pbch_vars[eNB_id]->dl_ch_estimates_ext[idx] = (int32_t *) malloc16_clear (sizeof (int32_t) * 6 * 12 * 4); } } - - - pbch_vars[eNB_id]->decoded_output = (uint8_t*)malloc16_clear( 64 ); + + + pbch_vars[eNB_id]->decoded_output = (uint8_t *) malloc16_clear (64); } // initialization for the last instance of pdsch_vars (used for MU-MIMO) - for (th_id=0; th_idllr[1] = (int16_t*)malloc16_clear( (8*((3*8*6144)+12))*sizeof(int16_t) ); + for (th_id = 0; th_id < RX_NB_TH_MAX; th_id++) { + phy_init_lte_ue__PDSCH ((*pdsch_vars_th)[th_id][eNB_id], fp); + (*pdsch_vars_th)[th_id][eNB_id]->llr[1] = (int16_t *) malloc16_clear ((8 * ((3 * 8 * 6144) + 12)) * sizeof (int16_t)); } - ue->sinr_CQI_dB = (double*) malloc16_clear( fp->N_RB_DL*12*sizeof(double) ); + ue->sinr_CQI_dB = (double *) malloc16_clear (fp->N_RB_DL * 12 * sizeof (double)); ue->init_averaging = 1; // default value until overwritten by RRCConnectionReconfiguration - if (fp->nb_antenna_ports_eNB==2) + if (fp->nb_antenna_ports_eNB == 2) ue->pdsch_config_dedicated->p_a = dBm3; else ue->pdsch_config_dedicated->p_a = dB0; // set channel estimation to do linear interpolation in time ue->high_speed_flag = 1; - ue->ch_est_alpha = 24576; + ue->ch_est_alpha = 24576; // enable MIB/SIB decoding by default ue->decode_MIB = 1; ue->decode_SIB = 1; - init_prach_tables(839); + init_prach_tables (839); return 0; } -void init_lte_ue_transport(PHY_VARS_UE *ue,int abstraction_flag) { +void +init_lte_ue_transport (PHY_VARS_UE * ue, int abstraction_flag) +{ - int i,j,k; + int i, j, k; - for (i=0; idlsch[k][i][j] = new_ue_dlsch(1,NUMBER_OF_HARQ_PID_MAX,NSOFT,MAX_TURBO_ITERATIONS,ue->frame_parms.N_RB_DL, abstraction_flag))!=NULL,"Can't get ue dlsch structures\n"); + for (i = 0; i < NUMBER_OF_CONNECTED_eNB_MAX; i++) { + for (j = 0; j < 2; j++) { + for (k = 0; k < 2; k++) { + AssertFatal ((ue->dlsch[k][i][j] = + new_ue_dlsch (1, NUMBER_OF_HARQ_PID_MAX, NSOFT, MAX_TURBO_ITERATIONS, ue->frame_parms.N_RB_DL, abstraction_flag)) != NULL, "Can't get ue dlsch structures\n"); - LOG_D(PHY,"dlsch[%d][%d][%d] => %p\n",k,i,j,ue->dlsch[i][j]); + LOG_D (PHY, "dlsch[%d][%d][%d] => %p\n", k, i, j, ue->dlsch[i][j]); } } - AssertFatal((ue->ulsch[i] = new_ue_ulsch(ue->frame_parms.N_RB_UL, abstraction_flag))!=NULL,"Can't get ue ulsch structures\n"); + AssertFatal ((ue->ulsch[i] = new_ue_ulsch (ue->frame_parms.N_RB_UL, abstraction_flag)) != NULL, "Can't get ue ulsch structures\n"); - ue->dlsch_SI[i] = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,ue->frame_parms.N_RB_DL, abstraction_flag); - ue->dlsch_ra[i] = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,ue->frame_parms.N_RB_DL, abstraction_flag); + ue->dlsch_SI[i] = new_ue_dlsch (1, 1, NSOFT, MAX_TURBO_ITERATIONS, ue->frame_parms.N_RB_DL, abstraction_flag); + ue->dlsch_ra[i] = new_ue_dlsch (1, 1, NSOFT, MAX_TURBO_ITERATIONS, ue->frame_parms.N_RB_DL, abstraction_flag); - ue->transmission_mode[i] = ue->frame_parms.nb_antenna_ports_eNB==1 ? 1 : 2; + ue->transmission_mode[i] = ue->frame_parms.nb_antenna_ports_eNB == 1 ? 1 : 2; } ue->frame_parms.pucch_config_common.deltaPUCCH_Shift = 1; - ue->dlsch_MCH[0] = new_ue_dlsch(1,NUMBER_OF_HARQ_PID_MAX,NSOFT,MAX_TURBO_ITERATIONS_MBSFN,ue->frame_parms.N_RB_DL,0); + ue->dlsch_MCH[0] = new_ue_dlsch (1, NUMBER_OF_HARQ_PID_MAX, NSOFT, MAX_TURBO_ITERATIONS_MBSFN, ue->frame_parms.N_RB_DL, 0); } -int phy_init_RU(RU_t *ru) { +int +phy_init_RU (RU_t * ru) +{ LTE_DL_FRAME_PARMS *fp = &ru->frame_parms; - int i,j; - int p; - int re; + int i, j; + int p; + int re; - LOG_I(PHY,"Initializing RU signal buffers (if_south %s) nb_tx %d\n",ru_if_types[ru->if_south],ru->nb_tx); + LOG_I (PHY, "Initializing RU signal buffers (if_south %s) nb_tx %d\n", ru_if_types[ru->if_south], ru->nb_tx); - if (ru->if_south <= REMOTE_IF5) { // this means REMOTE_IF5 or LOCAL_RF, so allocate memory for time-domain signals + if (ru->if_south <= REMOTE_IF5) { // this means REMOTE_IF5 or LOCAL_RF, so allocate memory for time-domain signals // Time-domain signals - ru->common.txdata = (int32_t**)malloc16(ru->nb_tx*sizeof(int32_t*)); - ru->common.rxdata = (int32_t**)malloc16(ru->nb_rx*sizeof(int32_t*) ); + ru->common.txdata = (int32_t **) malloc16 (ru->nb_tx * sizeof (int32_t *)); + ru->common.rxdata = (int32_t **) malloc16 (ru->nb_rx * sizeof (int32_t *)); - for (i=0; inb_tx; i++) { + for (i = 0; i < ru->nb_tx; i++) { // Allocate 10 subframes of I/Q TX signal data (time) if not - ru->common.txdata[i] = (int32_t*)malloc16_clear( fp->samples_per_tti*10*sizeof(int32_t) ); + ru->common.txdata[i] = (int32_t *) malloc16_clear (fp->samples_per_tti * 10 * sizeof (int32_t)); - LOG_I(PHY,"[INIT] common.txdata[%d] = %p (%lu bytes)\n",i,ru->common.txdata[i], - fp->samples_per_tti*10*sizeof(int32_t)); + LOG_I (PHY, "[INIT] common.txdata[%d] = %p (%lu bytes)\n", i, ru->common.txdata[i], fp->samples_per_tti * 10 * sizeof (int32_t)); } - for (i=0;inb_rx;i++) { - ru->common.rxdata[i] = (int32_t*)malloc16_clear( fp->samples_per_tti*10*sizeof(int32_t) ); + for (i = 0; i < ru->nb_rx; i++) { + ru->common.rxdata[i] = (int32_t *) malloc16_clear (fp->samples_per_tti * 10 * sizeof (int32_t)); } - } // IF5 or local RF + } // IF5 or local RF else { - LOG_I(PHY,"No rxdata/txdata for RU\n"); - ru->common.txdata = (int32_t**)NULL; - ru->common.rxdata = (int32_t**)NULL; + LOG_I (PHY, "No rxdata/txdata for RU\n"); + ru->common.txdata = (int32_t **) NULL; + ru->common.rxdata = (int32_t **) NULL; } - if (ru->function != NGFI_RRU_IF5) { // we need to do RX/TX RU processing - LOG_I(PHY,"nb_tx %d\n",ru->nb_tx); - ru->common.rxdata_7_5kHz = (int32_t**)malloc16(ru->nb_rx*sizeof(int32_t*) ); - for (i=0;inb_rx;i++) { - ru->common.rxdata_7_5kHz[i] = (int32_t*)malloc16_clear( 2*fp->samples_per_tti*2*sizeof(int32_t) ); - LOG_I(PHY,"rxdata_7_5kHz[%d] %p for RU %d\n",i,ru->common.rxdata_7_5kHz[i],ru->idx); + if (ru->function != NGFI_RRU_IF5) { // we need to do RX/TX RU processing + LOG_I (PHY, "nb_tx %d\n", ru->nb_tx); + ru->common.rxdata_7_5kHz = (int32_t **) malloc16 (ru->nb_rx * sizeof (int32_t *)); + for (i = 0; i < ru->nb_rx; i++) { + ru->common.rxdata_7_5kHz[i] = (int32_t *) malloc16_clear (2 * fp->samples_per_tti * 2 * sizeof (int32_t)); + LOG_I (PHY, "rxdata_7_5kHz[%d] %p for RU %d\n", i, ru->common.rxdata_7_5kHz[i], ru->idx); } - + // allocate IFFT input buffers (TX) - ru->common.txdataF_BF = (int32_t **)malloc16(ru->nb_tx*sizeof(int32_t*)); - LOG_I(PHY,"[INIT] common.txdata_BF= %p (%lu bytes)\n",ru->common.txdataF_BF, - ru->nb_tx*sizeof(int32_t*)); - for (i=0; inb_tx; i++) { - ru->common.txdataF_BF[i] = (int32_t*)malloc16_clear(fp->symbols_per_tti*fp->ofdm_symbol_size*sizeof(int32_t) ); - LOG_I(PHY,"txdataF_BF[%d] %p for RU %d\n",i,ru->common.txdataF_BF[i],ru->idx); + ru->common.txdataF_BF = (int32_t **) malloc16 (ru->nb_tx * sizeof (int32_t *)); + LOG_I (PHY, "[INIT] common.txdata_BF= %p (%lu bytes)\n", ru->common.txdataF_BF, ru->nb_tx * sizeof (int32_t *)); + for (i = 0; i < ru->nb_tx; i++) { + ru->common.txdataF_BF[i] = (int32_t *) malloc16_clear (fp->symbols_per_tti * fp->ofdm_symbol_size * sizeof (int32_t)); + LOG_I (PHY, "txdataF_BF[%d] %p for RU %d\n", i, ru->common.txdataF_BF[i], ru->idx); } // allocate FFT output buffers (RX) - ru->common.rxdataF = (int32_t**)malloc16(ru->nb_rx*sizeof(int32_t*) ); - for (i=0; inb_rx; i++) { + ru->common.rxdataF = (int32_t **) malloc16 (ru->nb_rx * sizeof (int32_t *)); + for (i = 0; i < ru->nb_rx; i++) { // allocate 2 subframes of I/Q signal data (frequency) - ru->common.rxdataF[i] = (int32_t*)malloc16_clear(sizeof(int32_t)*(2*fp->ofdm_symbol_size*fp->symbols_per_tti) ); - LOG_I(PHY,"rxdataF[%d] %p for RU %d\n",i,ru->common.rxdataF[i],ru->idx); + ru->common.rxdataF[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * (2 * fp->ofdm_symbol_size * fp->symbols_per_tti)); + LOG_I (PHY, "rxdataF[%d] %p for RU %d\n", i, ru->common.rxdataF[i], ru->idx); } /* number of elements of an array X is computed as sizeof(X) / sizeof(X[0]) */ - AssertFatal(ru->nb_rx <= sizeof(ru->prach_rxsigF) / sizeof(ru->prach_rxsigF[0]), - "nb_antennas_rx too large"); - ru->prach_rxsigF = (int16_t**)malloc(ru->nb_rx * sizeof(int16_t*)); - for (j=0;j<4;j++) ru->prach_rxsigF_br[j] = (int16_t**)malloc(ru->nb_rx * sizeof(int16_t*)); + AssertFatal (ru->nb_rx <= sizeof (ru->prach_rxsigF) / sizeof (ru->prach_rxsigF[0]), "nb_antennas_rx too large"); + ru->prach_rxsigF = (int16_t **) malloc (ru->nb_rx * sizeof (int16_t *)); + for (j = 0; j < 4; j++) + ru->prach_rxsigF_br[j] = (int16_t **) malloc (ru->nb_rx * sizeof (int16_t *)); - for (i=0; inb_rx; i++) { - ru->prach_rxsigF[i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) ); - LOG_D(PHY,"[INIT] prach_vars->rxsigF[%d] = %p\n",i,ru->prach_rxsigF[i]); + for (i = 0; i < ru->nb_rx; i++) { + ru->prach_rxsigF[i] = (int16_t *) malloc16_clear (fp->ofdm_symbol_size * 12 * 2 * sizeof (int16_t)); + LOG_D (PHY, "[INIT] prach_vars->rxsigF[%d] = %p\n", i, ru->prach_rxsigF[i]); #ifdef Rel14 - for (j=0;j<4;j++) { - ru->prach_rxsigF_br[j][i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) ); - LOG_D(PHY,"[INIT] prach_vars_br->rxsigF[%d] = %p\n",i,ru->prach_rxsigF_br[j][i]); + for (j = 0; j < 4; j++) { + ru->prach_rxsigF_br[j][i] = (int16_t *) malloc16_clear (fp->ofdm_symbol_size * 12 * 2 * sizeof (int16_t)); + LOG_D (PHY, "[INIT] prach_vars_br->rxsigF[%d] = %p\n", i, ru->prach_rxsigF_br[j][i]); } #endif } - - AssertFatal(RC.nb_L1_inst <= NUMBER_OF_eNB_MAX,"eNB instances %d > %d\n", - RC.nb_L1_inst,NUMBER_OF_eNB_MAX); - for (i=0; ieNB_list[i]->frame_parms.nb_antenna_ports_eNB || p==5) { - ru->beam_weights[i][p] = (int32_t **)malloc16_clear(ru->nb_tx*sizeof(int32_t*)); - for (j=0; jnb_tx; j++) { - ru->beam_weights[i][p][j] = (int32_t *)malloc16_clear(fp->ofdm_symbol_size*sizeof(int32_t)); - // antenna ports 0-3 are mapped on antennas 0-3 - // antenna port 4 is mapped on antenna 0 - // antenna ports 5-14 are mapped on all antennas - if (((p<4) && (p==j)) || ((p==4) && (j==0))) { - for (re=0; reofdm_symbol_size; re++) - ru->beam_weights[i][p][j][re] = 0x00007fff; - } - else if (p>4) { - for (re=0; reofdm_symbol_size; re++) - ru->beam_weights[i][p][j][re] = 0x00007fff/ru->nb_tx; - } - LOG_D(PHY,"[INIT] lte_common_vars->beam_weights[%d][%d] = %p (%lu bytes)\n", - i,j,ru->beam_weights[i][p][j], - fp->ofdm_symbol_size*sizeof(int32_t)); - } - } + AssertFatal (RC.nb_L1_inst <= NUMBER_OF_eNB_MAX, "eNB instances %d > %d\n", RC.nb_L1_inst, NUMBER_OF_eNB_MAX); + + for (i = 0; i < RC.nb_L1_inst; i++) { + for (p = 0; p < 15; p++) { + if (p < ru->eNB_list[i]->frame_parms.nb_antenna_ports_eNB || p == 5) { + ru->beam_weights[i][p] = (int32_t **) malloc16_clear (ru->nb_tx * sizeof (int32_t *)); + for (j = 0; j < ru->nb_tx; j++) { + ru->beam_weights[i][p][j] = (int32_t *) malloc16_clear (fp->ofdm_symbol_size * sizeof (int32_t)); + // antenna ports 0-3 are mapped on antennas 0-3 + // antenna port 4 is mapped on antenna 0 + // antenna ports 5-14 are mapped on all antennas + if (((p < 4) && (p == j)) || ((p == 4) && (j == 0))) { + for (re = 0; re < fp->ofdm_symbol_size; re++) + ru->beam_weights[i][p][j][re] = 0x00007fff; + } else if (p > 4) { + for (re = 0; re < fp->ofdm_symbol_size; re++) + ru->beam_weights[i][p][j][re] = 0x00007fff / ru->nb_tx; + } + LOG_D (PHY, "[INIT] lte_common_vars->beam_weights[%d][%d] = %p (%lu bytes)\n", i, j, ru->beam_weights[i][p][j], fp->ofdm_symbol_size * sizeof (int32_t)); + } + } } } } - ru->common.sync_corr = (uint32_t*)malloc16_clear( LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*sizeof(uint32_t)*fp->samples_per_tti ); + ru->common.sync_corr = (uint32_t *) malloc16_clear (LTE_NUMBER_OF_SUBFRAMES_PER_FRAME * sizeof (uint32_t) * fp->samples_per_tti); - return(0); + return (0); } - -int phy_init_lte_eNB(PHY_VARS_eNB *eNB, - unsigned char is_secondary_eNB, - unsigned char abstraction_flag) + +int +phy_init_lte_eNB (PHY_VARS_eNB * eNB, unsigned char is_secondary_eNB, unsigned char abstraction_flag) { // shortcuts - LTE_DL_FRAME_PARMS* const fp = &eNB->frame_parms; - LTE_eNB_COMMON* const common_vars = &eNB->common_vars; - LTE_eNB_PUSCH** const pusch_vars = eNB->pusch_vars; - LTE_eNB_SRS* const srs_vars = eNB->srs_vars; - LTE_eNB_PRACH* const prach_vars = &eNB->prach_vars; + LTE_DL_FRAME_PARMS *const fp = &eNB->frame_parms; + LTE_eNB_COMMON *const common_vars = &eNB->common_vars; + LTE_eNB_PUSCH **const pusch_vars = eNB->pusch_vars; + LTE_eNB_SRS *const srs_vars = eNB->srs_vars; + LTE_eNB_PRACH *const prach_vars = &eNB->prach_vars; #ifdef Rel14 - LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br; + LTE_eNB_PRACH *const prach_vars_br = &eNB->prach_vars_br; #endif - int i, UE_id; + int i, UE_id; eNB->total_dlsch_bitrate = 0; eNB->total_transmitted_bits = 0; eNB->total_system_throughput = 0; - eNB->check_for_MUMIMO_transmissions=0; - - while(eNB->configured == 0) usleep(10000); + eNB->check_for_MUMIMO_transmissions = 0; - LOG_I(PHY,"[eNB %"PRIu8"] Initializing DL_FRAME_PARMS : N_RB_DL %"PRIu8", PHICH Resource %d, PHICH Duration %d\n", - eNB->Mod_id, - fp->N_RB_DL,fp->phich_config_common.phich_resource, - fp->phich_config_common.phich_duration); - LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_eNB][MOD %02"PRIu8"][]\n", eNB->Mod_id); + while (eNB->configured == 0) + usleep (10000); + + LOG_I (PHY, "[eNB %" PRIu8 "] Initializing DL_FRAME_PARMS : N_RB_DL %" PRIu8 ", PHICH Resource %d, PHICH Duration %d\n", + eNB->Mod_id, fp->N_RB_DL, fp->phich_config_common.phich_resource, fp->phich_config_common.phich_duration); + LOG_D (PHY, "[MSC_NEW][FRAME 00000][PHY_eNB][MOD %02" PRIu8 "][]\n", eNB->Mod_id); - lte_gold(fp,eNB->lte_gold_table,fp->Nid_cell); - generate_pcfich_reg_mapping(fp); - generate_phich_reg_mapping(fp); + lte_gold (fp, eNB->lte_gold_table, fp->Nid_cell); + generate_pcfich_reg_mapping (fp); + generate_phich_reg_mapping (fp); + + for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) { + eNB->first_run_timing_advance[UE_id] = 1; ///This flag used to be static. With multiple eNBs this does no longer work, hence we put it in the structure. However it has to be initialized with 1, which is performed here. - for (UE_id=0; UE_idfirst_run_timing_advance[UE_id] = - 1; ///This flag used to be static. With multiple eNBs this does no longer work, hence we put it in the structure. However it has to be initialized with 1, which is performed here. - // clear whole structure - bzero( &eNB->UE_stats[UE_id], sizeof(LTE_eNB_UE_stats) ); - + bzero (&eNB->UE_stats[UE_id], sizeof (LTE_eNB_UE_stats)); + eNB->physicalConfigDedicated[UE_id] = NULL; } - - eNB->first_run_I0_measurements = 1; ///This flag used to be static. With multiple eNBs this does no longer work, hence we put it in the structure. However it has to be initialized with 1, which is performed here. - + + eNB->first_run_I0_measurements = 1; ///This flag used to be static. With multiple eNBs this does no longer work, hence we put it in the structure. However it has to be initialized with 1, which is performed here. - - common_vars->rxdata = (int32_t **)NULL; - common_vars->txdataF = (int32_t **)malloc16(NB_ANTENNA_PORTS_ENB*sizeof(int32_t*)); - common_vars->rxdataF = (int32_t **)malloc16(64*sizeof(int32_t*)); - - for (i=0; inb_antenna_ports_eNB || i==5) { - common_vars->txdataF[i] = (int32_t*)malloc16_clear(fp->ofdm_symbol_size*fp->symbols_per_tti*10*sizeof(int32_t) ); - - LOG_D(PHY,"[INIT] common_vars->txdataF[%d] = %p (%lu bytes)\n", - i,common_vars->txdataF[i], - fp->ofdm_symbol_size*fp->symbols_per_tti*10*sizeof(int32_t)); + + + common_vars->rxdata = (int32_t **) NULL; + common_vars->txdataF = (int32_t **) malloc16 (NB_ANTENNA_PORTS_ENB * sizeof (int32_t *)); + common_vars->rxdataF = (int32_t **) malloc16 (64 * sizeof (int32_t *)); + + for (i = 0; i < NB_ANTENNA_PORTS_ENB; i++) { + if (i < fp->nb_antenna_ports_eNB || i == 5) { + common_vars->txdataF[i] = (int32_t *) malloc16_clear (fp->ofdm_symbol_size * fp->symbols_per_tti * 10 * sizeof (int32_t)); + + LOG_D (PHY, "[INIT] common_vars->txdataF[%d] = %p (%lu bytes)\n", i, common_vars->txdataF[i], fp->ofdm_symbol_size * fp->symbols_per_tti * 10 * sizeof (int32_t)); } - } - - + } + + // Channel estimates for SRS - for (UE_id=0; UE_idofdm_symbol_size ); - srs_vars[UE_id].srs_ch_estimates_time[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->ofdm_symbol_size*2 ); + for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) { + + srs_vars[UE_id].srs_ch_estimates = (int32_t **) malloc16 (64 * sizeof (int32_t *)); + srs_vars[UE_id].srs_ch_estimates_time = (int32_t **) malloc16 (64 * sizeof (int32_t *)); + + for (i = 0; i < 64; i++) { + srs_vars[UE_id].srs_ch_estimates[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->ofdm_symbol_size); + srs_vars[UE_id].srs_ch_estimates_time[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->ofdm_symbol_size * 2); } - } //UE_id + } //UE_id - generate_ul_ref_sigs_rx(); - - init_ulsch_power_LUT(); + generate_ul_ref_sigs_rx (); + + init_ulsch_power_LUT (); // SRS - for (UE_id=0; UE_idofdm_symbol_size*sizeof(int32_t)); + for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) { + srs_vars[UE_id].srs = (int32_t *) malloc16_clear (2 * fp->ofdm_symbol_size * sizeof (int32_t)); } // PRACH - prach_vars->prachF = (int16_t*)malloc16_clear( 1024*2*sizeof(int16_t) ); + prach_vars->prachF = (int16_t *) malloc16_clear (1024 * 2 * sizeof (int16_t)); // assume maximum of 64 RX antennas for PRACH receiver - prach_vars->prach_ifft[0] = (int32_t**)malloc16_clear(64*sizeof(int32_t*)); - for (i=0;i<64;i++) prach_vars->prach_ifft[0][i] = (int32_t*)malloc16_clear(1024*2*sizeof(int32_t)); + prach_vars->prach_ifft[0] = (int32_t **) malloc16_clear (64 * sizeof (int32_t *)); + for (i = 0; i < 64; i++) + prach_vars->prach_ifft[0][i] = (int32_t *) malloc16_clear (1024 * 2 * sizeof (int32_t)); - prach_vars->rxsigF[0] = (int16_t**)malloc16_clear(64*sizeof(int16_t*)); + prach_vars->rxsigF[0] = (int16_t **) malloc16_clear (64 * sizeof (int16_t *)); // PRACH BR #ifdef Rel14 - prach_vars_br->prachF = (int16_t*)malloc16_clear( 1024*2*sizeof(int32_t) ); + prach_vars_br->prachF = (int16_t *) malloc16_clear (1024 * 2 * sizeof (int32_t)); // assume maximum of 64 RX antennas for PRACH receiver - for (int ce_level=0;ce_level<4;ce_level++) { - prach_vars_br->prach_ifft[ce_level] = (int32_t**)malloc16_clear(64*sizeof(int32_t*)); - for (i=0;i<64;i++) prach_vars_br->prach_ifft[ce_level][i] = (int32_t*)malloc16_clear(1024*2*sizeof(int32_t)); - prach_vars->rxsigF[ce_level] = (int16_t**)malloc16_clear(64*sizeof(int16_t*)); + for (int ce_level = 0; ce_level < 4; ce_level++) { + prach_vars_br->prach_ifft[ce_level] = (int32_t **) malloc16_clear (64 * sizeof (int32_t *)); + for (i = 0; i < 64; i++) + prach_vars_br->prach_ifft[ce_level][i] = (int32_t *) malloc16_clear (1024 * 2 * sizeof (int32_t)); + prach_vars->rxsigF[ce_level] = (int16_t **) malloc16_clear (64 * sizeof (int16_t *)); } #endif - + /* number of elements of an array X is computed as sizeof(X) / sizeof(X[0]) AssertFatal(fp->nb_antennas_rx <= sizeof(prach_vars->rxsigF) / sizeof(prach_vars->rxsigF[0]), "nb_antennas_rx too large"); for (i=0; inb_antennas_rx; i++) { prach_vars->rxsigF[i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) ); LOG_D(PHY,"[INIT] prach_vars->rxsigF[%d] = %p\n",i,prach_vars->rxsigF[i]); - }*/ - - for (UE_id=0; UE_idrxdataF_ext = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - pusch_vars[UE_id]->rxdataF_ext2 = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - pusch_vars[UE_id]->drs_ch_estimates = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - pusch_vars[UE_id]->drs_ch_estimates_time = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - pusch_vars[UE_id]->rxdataF_comp = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - pusch_vars[UE_id]->ul_ch_mag = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - pusch_vars[UE_id]->ul_ch_magb = (int32_t**)malloc16( 2*sizeof(int32_t*) ); - - AssertFatal(fp->ofdm_symbol_size > 127, "fp->ofdm_symbol_size %d<128\n",fp->ofdm_symbol_size); - AssertFatal(fp->symbols_per_tti > 11, "fp->symbols_per_tti %d < 12\n",fp->symbols_per_tti); - AssertFatal(fp->N_RB_UL > 5, "fp->N_RB_UL %d < 6\n",fp->N_RB_UL); - for (i=0; i<2; i++) { + pusch_vars[UE_id] = (LTE_eNB_PUSCH *) malloc16_clear (NUMBER_OF_UE_MAX * sizeof (LTE_eNB_PUSCH)); + + pusch_vars[UE_id]->rxdataF_ext = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + pusch_vars[UE_id]->rxdataF_ext2 = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + pusch_vars[UE_id]->drs_ch_estimates = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + pusch_vars[UE_id]->drs_ch_estimates_time = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + pusch_vars[UE_id]->rxdataF_comp = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + pusch_vars[UE_id]->ul_ch_mag = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + pusch_vars[UE_id]->ul_ch_magb = (int32_t **) malloc16 (2 * sizeof (int32_t *)); + + AssertFatal (fp->ofdm_symbol_size > 127, "fp->ofdm_symbol_size %d<128\n", fp->ofdm_symbol_size); + AssertFatal (fp->symbols_per_tti > 11, "fp->symbols_per_tti %d < 12\n", fp->symbols_per_tti); + AssertFatal (fp->N_RB_UL > 5, "fp->N_RB_UL %d < 6\n", fp->N_RB_UL); + for (i = 0; i < 2; i++) { // RK 2 times because of output format of FFT! // FIXME We should get rid of this - pusch_vars[UE_id]->rxdataF_ext[i] = (int32_t*)malloc16_clear( 2*sizeof(int32_t)*fp->N_RB_UL*12*fp->symbols_per_tti ); - pusch_vars[UE_id]->rxdataF_ext2[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->N_RB_UL*12*fp->symbols_per_tti ); - pusch_vars[UE_id]->drs_ch_estimates[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->N_RB_UL*12*fp->symbols_per_tti ); - pusch_vars[UE_id]->drs_ch_estimates_time[i] = (int32_t*)malloc16_clear( 2*2*sizeof(int32_t)*fp->ofdm_symbol_size ); - pusch_vars[UE_id]->rxdataF_comp[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->N_RB_UL*12*fp->symbols_per_tti ); - pusch_vars[UE_id]->ul_ch_mag[i] = (int32_t*)malloc16_clear( fp->symbols_per_tti*sizeof(int32_t)*fp->N_RB_UL*12 ); - pusch_vars[UE_id]->ul_ch_magb[i] = (int32_t*)malloc16_clear( fp->symbols_per_tti*sizeof(int32_t)*fp->N_RB_UL*12 ); + pusch_vars[UE_id]->rxdataF_ext[i] = (int32_t *) malloc16_clear (2 * sizeof (int32_t) * fp->N_RB_UL * 12 * fp->symbols_per_tti); + pusch_vars[UE_id]->rxdataF_ext2[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->N_RB_UL * 12 * fp->symbols_per_tti); + pusch_vars[UE_id]->drs_ch_estimates[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->N_RB_UL * 12 * fp->symbols_per_tti); + pusch_vars[UE_id]->drs_ch_estimates_time[i] = (int32_t *) malloc16_clear (2 * 2 * sizeof (int32_t) * fp->ofdm_symbol_size); + pusch_vars[UE_id]->rxdataF_comp[i] = (int32_t *) malloc16_clear (sizeof (int32_t) * fp->N_RB_UL * 12 * fp->symbols_per_tti); + pusch_vars[UE_id]->ul_ch_mag[i] = (int32_t *) malloc16_clear (fp->symbols_per_tti * sizeof (int32_t) * fp->N_RB_UL * 12); + pusch_vars[UE_id]->ul_ch_magb[i] = (int32_t *) malloc16_clear (fp->symbols_per_tti * sizeof (int32_t) * fp->N_RB_UL * 12); } - - pusch_vars[UE_id]->llr = (int16_t*)malloc16_clear( (8*((3*8*6144)+12))*sizeof(int16_t) ); - } //UE_id - - for (UE_id=0; UE_idllr = (int16_t *) malloc16_clear ((8 * ((3 * 8 * 6144) + 12)) * sizeof (int16_t)); + } //UE_id + + + for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) eNB->UE_stats_ptr[UE_id] = &eNB->UE_stats[UE_id]; - - eNB->pdsch_config_dedicated->p_a = dB0; //defaul value until overwritten by RRCConnectionReconfiguration - + + eNB->pdsch_config_dedicated->p_a = dB0; //defaul value until overwritten by RRCConnectionReconfiguration + return (0); diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 6b9dde3778..08f090a60c 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -46,150 +46,153 @@ //#define DEBUG_DCI -uint32_t localRIV2alloc_LUT6[32]; -uint32_t distRIV2alloc_even_LUT6[32]; -uint32_t distRIV2alloc_odd_LUT6[32]; -uint16_t RIV2nb_rb_LUT6[32]; -uint16_t RIV2first_rb_LUT6[32]; -uint16_t RIV_max6=0; +uint32_t localRIV2alloc_LUT6[32]; +uint32_t distRIV2alloc_even_LUT6[32]; +uint32_t distRIV2alloc_odd_LUT6[32]; +uint16_t RIV2nb_rb_LUT6[32]; +uint16_t RIV2first_rb_LUT6[32]; +uint16_t RIV_max6 = 0; -uint32_t localRIV2alloc_LUT25[512]; -uint32_t distRIV2alloc_even_LUT25[512]; -uint32_t distRIV2alloc_odd_LUT25[512]; -uint16_t RIV2nb_rb_LUT25[512]; -uint16_t RIV2first_rb_LUT25[512]; -uint16_t RIV_max25=0; +uint32_t localRIV2alloc_LUT25[512]; +uint32_t distRIV2alloc_even_LUT25[512]; +uint32_t distRIV2alloc_odd_LUT25[512]; +uint16_t RIV2nb_rb_LUT25[512]; +uint16_t RIV2first_rb_LUT25[512]; +uint16_t RIV_max25 = 0; -uint32_t localRIV2alloc_LUT50_0[1600]; -uint32_t localRIV2alloc_LUT50_1[1600]; -uint32_t distRIV2alloc_gap0_even_LUT50_0[1600]; -uint32_t distRIV2alloc_gap0_odd_LUT50_0[1600]; -uint32_t distRIV2alloc_gap0_even_LUT50_1[1600]; -uint32_t distRIV2alloc_gap0_odd_LUT50_1[1600]; -uint32_t distRIV2alloc_gap1_even_LUT50_0[1600]; -uint32_t distRIV2alloc_gap1_odd_LUT50_0[1600]; -uint32_t distRIV2alloc_gap1_even_LUT50_1[1600]; -uint32_t distRIV2alloc_gap1_odd_LUT50_1[1600]; -uint16_t RIV2nb_rb_LUT50[1600]; -uint16_t RIV2first_rb_LUT50[1600]; -uint16_t RIV_max50=0; +uint32_t localRIV2alloc_LUT50_0[1600]; +uint32_t localRIV2alloc_LUT50_1[1600]; +uint32_t distRIV2alloc_gap0_even_LUT50_0[1600]; +uint32_t distRIV2alloc_gap0_odd_LUT50_0[1600]; +uint32_t distRIV2alloc_gap0_even_LUT50_1[1600]; +uint32_t distRIV2alloc_gap0_odd_LUT50_1[1600]; +uint32_t distRIV2alloc_gap1_even_LUT50_0[1600]; +uint32_t distRIV2alloc_gap1_odd_LUT50_0[1600]; +uint32_t distRIV2alloc_gap1_even_LUT50_1[1600]; +uint32_t distRIV2alloc_gap1_odd_LUT50_1[1600]; +uint16_t RIV2nb_rb_LUT50[1600]; +uint16_t RIV2first_rb_LUT50[1600]; +uint16_t RIV_max50 = 0; -uint32_t localRIV2alloc_LUT100_0[6000]; -uint32_t localRIV2alloc_LUT100_1[6000]; -uint32_t localRIV2alloc_LUT100_2[6000]; -uint32_t localRIV2alloc_LUT100_3[6000]; -uint32_t distRIV2alloc_gap0_even_LUT100_0[6000]; -uint32_t distRIV2alloc_gap0_odd_LUT100_0[6000]; -uint32_t distRIV2alloc_gap0_even_LUT100_1[6000]; -uint32_t distRIV2alloc_gap0_odd_LUT100_1[6000]; -uint32_t distRIV2alloc_gap0_even_LUT100_2[6000]; -uint32_t distRIV2alloc_gap0_odd_LUT100_2[6000]; -uint32_t distRIV2alloc_gap0_even_LUT100_3[6000]; -uint32_t distRIV2alloc_gap0_odd_LUT100_3[6000]; -uint32_t distRIV2alloc_gap1_even_LUT100_0[6000]; -uint32_t distRIV2alloc_gap1_odd_LUT100_0[6000]; -uint32_t distRIV2alloc_gap1_even_LUT100_1[6000]; -uint32_t distRIV2alloc_gap1_odd_LUT100_1[6000]; -uint32_t distRIV2alloc_gap1_even_LUT100_2[6000]; -uint32_t distRIV2alloc_gap1_odd_LUT100_2[6000]; -uint32_t distRIV2alloc_gap1_even_LUT100_3[6000]; -uint32_t distRIV2alloc_gap1_odd_LUT100_3[6000]; -uint16_t RIV2nb_rb_LUT100[6000]; -uint16_t RIV2first_rb_LUT100[6000]; -uint16_t RIV_max100=0; +uint32_t localRIV2alloc_LUT100_0[6000]; +uint32_t localRIV2alloc_LUT100_1[6000]; +uint32_t localRIV2alloc_LUT100_2[6000]; +uint32_t localRIV2alloc_LUT100_3[6000]; +uint32_t distRIV2alloc_gap0_even_LUT100_0[6000]; +uint32_t distRIV2alloc_gap0_odd_LUT100_0[6000]; +uint32_t distRIV2alloc_gap0_even_LUT100_1[6000]; +uint32_t distRIV2alloc_gap0_odd_LUT100_1[6000]; +uint32_t distRIV2alloc_gap0_even_LUT100_2[6000]; +uint32_t distRIV2alloc_gap0_odd_LUT100_2[6000]; +uint32_t distRIV2alloc_gap0_even_LUT100_3[6000]; +uint32_t distRIV2alloc_gap0_odd_LUT100_3[6000]; +uint32_t distRIV2alloc_gap1_even_LUT100_0[6000]; +uint32_t distRIV2alloc_gap1_odd_LUT100_0[6000]; +uint32_t distRIV2alloc_gap1_even_LUT100_1[6000]; +uint32_t distRIV2alloc_gap1_odd_LUT100_1[6000]; +uint32_t distRIV2alloc_gap1_even_LUT100_2[6000]; +uint32_t distRIV2alloc_gap1_odd_LUT100_2[6000]; +uint32_t distRIV2alloc_gap1_even_LUT100_3[6000]; +uint32_t distRIV2alloc_gap1_odd_LUT100_3[6000]; +uint16_t RIV2nb_rb_LUT100[6000]; +uint16_t RIV2first_rb_LUT100[6000]; +uint16_t RIV_max100 = 0; extern uint32_t current_dlsch_cqi; // Table 8.6.3-3 36.213 -uint16_t beta_cqi[16] = {0, //reserved - 0, //reserved - 9, //1.125 - 10, //1.250 - 11, //1.375 - 13, //1.625 - 14, //1.750 - 16, //2.000 - 18, //2.250 - 20, //2.500 - 23, //2.875 - 25, //3.125 - 28, //3.500 - 32, //4.000 - 40, //5.000 - 50 - }; //6.250 +uint16_t beta_cqi[16] = { 0, //reserved + 0, //reserved + 9, //1.125 + 10, //1.250 + 11, //1.375 + 13, //1.625 + 14, //1.750 + 16, //2.000 + 18, //2.250 + 20, //2.500 + 23, //2.875 + 25, //3.125 + 28, //3.500 + 32, //4.000 + 40, //5.000 + 50 +}; //6.250 // Table 8.6.3-2 36.213 -uint16_t beta_ri[16] = {10, //1.250 - 13, //1.625 - 16, //2.000 - 20, //2.500 - 25, //3.125 - 32, //4.000 - 40, //5.000 - 50, //6.250 - 64, //8.000 - 80, //10.000 - 101, //12.625 - 127, //15.875 - 160, //20.000 - 0, //reserved - 0, //reserved - 0 - }; //reserved +uint16_t beta_ri[16] = { 10, //1.250 + 13, //1.625 + 16, //2.000 + 20, //2.500 + 25, //3.125 + 32, //4.000 + 40, //5.000 + 50, //6.250 + 64, //8.000 + 80, //10.000 + 101, //12.625 + 127, //15.875 + 160, //20.000 + 0, //reserved + 0, //reserved + 0 +}; //reserved // Table 8.6.3-2 36.213 -uint16_t beta_ack[16] = {16, //2.000 - 20, //2.500 - 25, //3.125 - 32, //4.000 - 40, //5.000 - 50, //6.250 - 64, //8.000 - 80, //10.000 - 101, //12.625 - 127, //15.875 - 160, //20.000 - 248, //31.000 - 400, //50.000 - 640, //80.000 - 808 - };//126.00 +uint16_t beta_ack[16] = { 16, //2.000 + 20, //2.500 + 25, //3.125 + 32, //4.000 + 40, //5.000 + 50, //6.250 + 64, //8.000 + 80, //10.000 + 101, //12.625 + 127, //15.875 + 160, //20.000 + 248, //31.000 + 400, //50.000 + 640, //80.000 + 808 +}; //126.00 -int8_t delta_PUSCH_abs[4] = {-4,-1,1,4}; -int8_t delta_PUSCH_acc[4] = {-1,0,1,3}; +int8_t delta_PUSCH_abs[4] = { -4, -1, 1, 4 }; +int8_t delta_PUSCH_acc[4] = { -1, 0, 1, 3 }; -int8_t *delta_PUCCH_lut = delta_PUSCH_acc; +int8_t *delta_PUCCH_lut = delta_PUSCH_acc; -void conv_eMTC_rballoc(uint16_t resource_block_coding, - uint32_t N_RB_DL, - uint32_t *rb_alloc) { - - - int narrowband = resource_block_coding>>5; - int RIV = resource_block_coding&31; - int N_NB_DL = N_RB_DL/6; - int i0 = (N_RB_DL>>1) - (3*N_NB_DL); - int first_rb = (6*narrowband)+i0; - int alloc = localRIV2alloc_LUT6[RIV]; - int ind = first_rb>>5; - int ind_mod = first_rb&31; - - if (((N_RB_DL&1) > 0) && (narrowband>=(N_NB_DL>>1))) first_rb++; - rb_alloc[0] = 0; - rb_alloc[1] = 0; - rb_alloc[2] = 0; - rb_alloc[3] = 0; - rb_alloc[ind] = alloc< 26) rb_alloc[ind+1] = alloc>>(6-(ind_mod-26)); -} - -void conv_rballoc(uint8_t ra_header,uint32_t rb_alloc,uint32_t N_RB_DL,uint32_t *rb_alloc2) +void +conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) { - uint32_t i,shift,subset; + + int narrowband = resource_block_coding >> 5; + int RIV = resource_block_coding & 31; + int N_NB_DL = N_RB_DL / 6; + int i0 = (N_RB_DL >> 1) - (3 * N_NB_DL); + int first_rb = (6 * narrowband) + i0; + int alloc = localRIV2alloc_LUT6[RIV]; + int ind = first_rb >> 5; + int ind_mod = first_rb & 31; + + if (((N_RB_DL & 1) > 0) && (narrowband >= (N_NB_DL >> 1))) + first_rb++; + rb_alloc[0] = 0; + rb_alloc[1] = 0; + rb_alloc[2] = 0; + rb_alloc[3] = 0; + rb_alloc[ind] = alloc << ind_mod; + if (ind_mod > 26) + rb_alloc[ind + 1] = alloc >> (6 - (ind_mod - 26)); +} + +void +conv_rballoc (uint8_t ra_header, uint32_t rb_alloc, uint32_t N_RB_DL, uint32_t * rb_alloc2) +{ + + uint32_t i, shift, subset; rb_alloc2[0] = 0; rb_alloc2[1] = 0; rb_alloc2[2] = 0; @@ -200,71 +203,71 @@ void conv_rballoc(uint8_t ra_header,uint32_t rb_alloc,uint32_t N_RB_DL,uint32_t switch (N_RB_DL) { case 6: - rb_alloc2[0] = rb_alloc&0x3f; + rb_alloc2[0] = rb_alloc & 0x3f; break; case 25: - if (ra_header == 0) {// Type 0 Allocation + if (ra_header == 0) { // Type 0 Allocation - for (i=12; i>0; i--) { - if ((rb_alloc&(1< 0; i--) { + if ((rb_alloc & (1 << i)) != 0) + rb_alloc2[0] |= (3 << ((2 * (12 - i)))); // printf("rb_alloc2 (type 0) %x\n",rb_alloc2); } - if ((rb_alloc&1) != 0) - rb_alloc2[0] |= (1<<24); + if ((rb_alloc & 1) != 0) + rb_alloc2[0] |= (1 << 24); } else { - subset = rb_alloc&1; - shift = (rb_alloc>>1)&1; + subset = rb_alloc & 1; + shift = (rb_alloc >> 1) & 1; - for (i=0; i<11; i++) { - if ((rb_alloc&(1<<(i+2))) != 0) - rb_alloc2[0] |= (1<<(2*i)); + for (i = 0; i < 11; i++) { + if ((rb_alloc & (1 << (i + 2))) != 0) + rb_alloc2[0] |= (1 << (2 * i)); //printf("rb_alloc2 (type 1) %x\n",rb_alloc2); } if ((shift == 0) && (subset == 1)) - rb_alloc2[0]<<=1; + rb_alloc2[0] <<= 1; else if ((shift == 1) && (subset == 0)) - rb_alloc2[0]<<=4; + rb_alloc2[0] <<= 4; else if ((shift == 1) && (subset == 1)) - rb_alloc2[0]<<=3; + rb_alloc2[0] <<= 3; } break; case 50: - AssertFatal(ra_header==0,"resource type 1 not supported for N_RB_DL=50\n"); + AssertFatal (ra_header == 0, "resource type 1 not supported for N_RB_DL=50\n"); - for (i=16; i>0; i--) { - if ((rb_alloc&(1<>5] |= (7<<((3*(16-i))%32)); + for (i = 16; i > 0; i--) { + if ((rb_alloc & (1 << i)) != 0) + rb_alloc2[(3 * (16 - i)) >> 5] |= (7 << ((3 * (16 - i)) % 32)); } // bit mask across - if ((rb_alloc2[0]>>31)==1) + if ((rb_alloc2[0] >> 31) == 1) rb_alloc2[1] |= 1; - - if ((rb_alloc&1) != 0) - rb_alloc2[1] |= (3<<16); + + if ((rb_alloc & 1) != 0) + rb_alloc2[1] |= (3 << 16); break; case 100: - AssertFatal(ra_header==0,"resource type 1 not supported for N_RB_DL=100\n"); - for (i=0; i<25; i++) { - if ((rb_alloc&(1<<(24-i))) != 0) - rb_alloc2[(4*i)>>5] |= (0xf<<((4*i)%32)); - + AssertFatal (ra_header == 0, "resource type 1 not supported for N_RB_DL=100\n"); + for (i = 0; i < 25; i++) { + if ((rb_alloc & (1 << (24 - i))) != 0) + rb_alloc2[(4 * i) >> 5] |= (0xf << ((4 * i) % 32)); + // printf("rb_alloc2[%d] (type 0) %x (%d)\n",(4*i)>>5,rb_alloc2[(4*i)>>5],rb_alloc&(1<0; i--) { - if ((rb_alloc&(1< 0; i--) { + if ((rb_alloc & (1 << i)) != 0) nprb += 2; } - if ((rb_alloc&1) != 0) + if ((rb_alloc & 1) != 0) nprb += 1; } else { - for (i=0; i<11; i++) { - if ((rb_alloc&(1<<(i+2))) != 0) + for (i = 0; i < 11; i++) { + if ((rb_alloc & (1 << (i + 2))) != 0) nprb += 1; } } @@ -307,19 +311,19 @@ uint32_t conv_nprb(uint8_t ra_header,uint32_t rb_alloc,int N_RB_DL) break; case 50: - if (ra_header == 0) {// Type 0 Allocation + if (ra_header == 0) { // Type 0 Allocation - for (i=0; i<16; i++) { - if ((rb_alloc&(1<<(16-i))) != 0) + for (i = 0; i < 16; i++) { + if ((rb_alloc & (1 << (16 - i))) != 0) nprb += 3; } - if ((rb_alloc&1) != 0) + if ((rb_alloc & 1) != 0) nprb += 2; } else { - for (i=0; i<17; i++) { - if ((rb_alloc&(1<<(i+2))) != 0) + for (i = 0; i < 17; i++) { + if ((rb_alloc & (1 << (i + 2))) != 0) nprb += 1; } } @@ -327,15 +331,15 @@ uint32_t conv_nprb(uint8_t ra_header,uint32_t rb_alloc,int N_RB_DL) break; case 100: - if (ra_header == 0) {// Type 0 Allocation + if (ra_header == 0) { // Type 0 Allocation - for (i=0; i<25; i++) { - if ((rb_alloc&(1<<(24-i))) != 0) + for (i = 0; i < 25; i++) { + if ((rb_alloc & (1 << (24 - i))) != 0) nprb += 4; } } else { - for (i=0; i<25; i++) { - if ((rb_alloc&(1<<(i+2))) != 0) + for (i = 0; i < 25; i++) { + if ((rb_alloc & (1 << (i + 2))) != 0) nprb += 1; } } @@ -343,184 +347,186 @@ uint32_t conv_nprb(uint8_t ra_header,uint32_t rb_alloc,int N_RB_DL) break; default: - LOG_E(PHY,"Invalide N_RB_DL %d\n", N_RB_DL); + LOG_E (PHY, "Invalide N_RB_DL %d\n", N_RB_DL); DevParam (N_RB_DL, 0, 0); break; } - return(nprb); + return (nprb); } -uint16_t computeRIV(uint16_t N_RB_DL,uint16_t RBstart,uint16_t Lcrbs) +uint16_t +computeRIV (uint16_t N_RB_DL, uint16_t RBstart, uint16_t Lcrbs) { - uint16_t RIV; + uint16_t RIV; - if (Lcrbs<=(1+(N_RB_DL>>1))) - RIV = (N_RB_DL*(Lcrbs-1)) + RBstart; + if (Lcrbs <= (1 + (N_RB_DL >> 1))) + RIV = (N_RB_DL * (Lcrbs - 1)) + RBstart; else - RIV = (N_RB_DL*(N_RB_DL+1-Lcrbs)) + (N_RB_DL-1-RBstart); + RIV = (N_RB_DL * (N_RB_DL + 1 - Lcrbs)) + (N_RB_DL - 1 - RBstart); - return(RIV); + return (RIV); } // Convert a DCI Format 1C RIV to a Format 1A RIV // This extracts the start and length in PRBs from the 1C rballoc and // recomputes the RIV as if it were the 1A rballoc -uint32_t conv_1C_RIV(int32_t rballoc,uint32_t N_RB_DL) { +uint32_t +conv_1C_RIV (int32_t rballoc, uint32_t N_RB_DL) +{ - int NpDLVRB,N_RB_step,LpCRBsm1,RBpstart; + int NpDLVRB, N_RB_step, LpCRBsm1, RBpstart; switch (N_RB_DL) { - case 6: // N_RB_step = 2, NDLVRB = 6, NpDLVRB = 3 - NpDLVRB = 3; + case 6: // N_RB_step = 2, NDLVRB = 6, NpDLVRB = 3 + NpDLVRB = 3; N_RB_step = 2; break; - case 25: // N_RB_step = 2, NDLVRB = 24, NpDLVRB = 12 - NpDLVRB = 12; + case 25: // N_RB_step = 2, NDLVRB = 24, NpDLVRB = 12 + NpDLVRB = 12; N_RB_step = 2; break; - case 50: // N_RB_step = 4, NDLVRB = 46, NpDLVRB = 11 - NpDLVRB = 11; + case 50: // N_RB_step = 4, NDLVRB = 46, NpDLVRB = 11 + NpDLVRB = 11; N_RB_step = 4; break; - case 100: // N_RB_step = 4, NDLVRB = 96, NpDLVRB = 24 - NpDLVRB = 24; + case 100: // N_RB_step = 4, NDLVRB = 96, NpDLVRB = 24 + NpDLVRB = 24; N_RB_step = 4; break; default: - NpDLVRB = 24; + NpDLVRB = 24; N_RB_step = 4; break; } // This is the 1C part from 7.1.6.3 in 36.213 - LpCRBsm1 = rballoc/NpDLVRB; + LpCRBsm1 = rballoc / NpDLVRB; // printf("LpCRBs = %d\n",LpCRBsm1+1); - if (LpCRBsm1 <= (NpDLVRB/2)) { + if (LpCRBsm1 <= (NpDLVRB / 2)) { RBpstart = rballoc % NpDLVRB; - } - else { - LpCRBsm1 = NpDLVRB-LpCRBsm1; - RBpstart = NpDLVRB-(rballoc%NpDLVRB); + } else { + LpCRBsm1 = NpDLVRB - LpCRBsm1; + RBpstart = NpDLVRB - (rballoc % NpDLVRB); } // printf("RBpstart %d\n",RBpstart); - return(computeRIV(N_RB_DL,N_RB_step*RBpstart,N_RB_step*(LpCRBsm1+1))); + return (computeRIV (N_RB_DL, N_RB_step * RBpstart, N_RB_step * (LpCRBsm1 + 1))); } -uint32_t get_prb(int N_RB_DL,int odd_slot,int vrb,int Ngap) { +uint32_t +get_prb (int N_RB_DL, int odd_slot, int vrb, int Ngap) +{ - int offset; + int offset; switch (N_RB_DL) { case 6: - // N_RB_DL = tildeN_RB_DL = 6 - // Ngap = 4 , P=1, Nrow = 2, Nnull = 2 + // N_RB_DL = tildeN_RB_DL = 6 + // Ngap = 4 , P=1, Nrow = 2, Nnull = 2 switch (vrb) { - case 0: // even: 0->0, 1->2, odd: 0->3, 1->5 + case 0: // even: 0->0, 1->2, odd: 0->3, 1->5 case 1: - return ((3*odd_slot) + 2*(vrb&3))%6; + return ((3 * odd_slot) + 2 * (vrb & 3)) % 6; break; - case 2: // even: 2->3, 3->5, odd: 2->0, 3->2 + case 2: // even: 2->3, 3->5, odd: 2->0, 3->2 case 3: - return ((3*odd_slot) + 2*(vrb&3) + 5)%6; + return ((3 * odd_slot) + 2 * (vrb & 3) + 5) % 6; break; - case 4: // even: 4->1, odd: 4->4 - return ((3*odd_slot) + 1)%6; - case 5: // even: 5->4, odd: 5->1 - return ((3*odd_slot) + 4)%6; + case 4: // even: 4->1, odd: 4->4 + return ((3 * odd_slot) + 1) % 6; + case 5: // even: 5->4, odd: 5->1 + return ((3 * odd_slot) + 4) % 6; break; } break; case 15: - if (vrb<12) { - if ((vrb&3) < 2) // even: 0->0, 1->4, 4->1, 5->5, 8->2, 9->6 odd: 0->7, 1->11 - return(((7*odd_slot) + 4*(vrb&3) + (vrb>>2))%14) + 14*(vrb/14); - else if (vrb < 12) // even: 2->7, 3->11, 6->8, 7->12, 10->9, 11->13 - return (((7*odd_slot) + 4*(vrb&3) + (vrb>>2) +13 )%14) + 14*(vrb/14); + if (vrb < 12) { + if ((vrb & 3) < 2) // even: 0->0, 1->4, 4->1, 5->5, 8->2, 9->6 odd: 0->7, 1->11 + return (((7 * odd_slot) + 4 * (vrb & 3) + (vrb >> 2)) % 14) + 14 * (vrb / 14); + else if (vrb < 12) // even: 2->7, 3->11, 6->8, 7->12, 10->9, 11->13 + return (((7 * odd_slot) + 4 * (vrb & 3) + (vrb >> 2) + 13) % 14) + 14 * (vrb / 14); } - if (vrb==12) - return (3+(7*odd_slot)) % 14; - if (vrb==13) - return (10+(7*odd_slot)) % 14; + if (vrb == 12) + return (3 + (7 * odd_slot)) % 14; + if (vrb == 13) + return (10 + (7 * odd_slot)) % 14; return 14; break; case 25: - return (((12*odd_slot) + 6*(vrb&3) + (vrb>>2))%24) + 24*(vrb/24); + return (((12 * odd_slot) + 6 * (vrb & 3) + (vrb >> 2)) % 24) + 24 * (vrb / 24); break; - case 50: // P=3 - if (Ngap==0) { + case 50: // P=3 + if (Ngap == 0) { // Nrow=12,Nnull=2,NVRBDL=46,Ngap1= 27 - if (vrb>=23) - offset=4; + if (vrb >= 23) + offset = 4; else - offset=0; - if (vrb<44) { - if ((vrb&3)>=2) - return offset+((23*odd_slot) + 12*(vrb&3) + (vrb>>2) + 45)%46; - else - return offset+((23*odd_slot) + 12*(vrb&3) + (vrb>>2))%46; + offset = 0; + if (vrb < 44) { + if ((vrb & 3) >= 2) + return offset + ((23 * odd_slot) + 12 * (vrb & 3) + (vrb >> 2) + 45) % 46; + else + return offset + ((23 * odd_slot) + 12 * (vrb & 3) + (vrb >> 2)) % 46; } - if (vrb==44) // even: 44->11, odd: 45->34 - return offset+((23*odd_slot) + 22-12+1); - if (vrb==45) // even: 45->10, odd: 45->33 - return offset+((23*odd_slot) + 22+12); - if (vrb==46) - return offset+46+((23*odd_slot) + 23-12+1) % 46; - if (vrb==47) - return offset+46+((23*odd_slot) + 23+12) % 46; - if (vrb==48) - return offset+46+((23*odd_slot) + 23-12+1) % 46; - if (vrb==49) - return offset+46+((23*odd_slot) + 23+12) % 46; - } - else { + if (vrb == 44) // even: 44->11, odd: 45->34 + return offset + ((23 * odd_slot) + 22 - 12 + 1); + if (vrb == 45) // even: 45->10, odd: 45->33 + return offset + ((23 * odd_slot) + 22 + 12); + if (vrb == 46) + return offset + 46 + ((23 * odd_slot) + 23 - 12 + 1) % 46; + if (vrb == 47) + return offset + 46 + ((23 * odd_slot) + 23 + 12) % 46; + if (vrb == 48) + return offset + 46 + ((23 * odd_slot) + 23 - 12 + 1) % 46; + if (vrb == 49) + return offset + 46 + ((23 * odd_slot) + 23 + 12) % 46; + } else { // Nrow=6,Nnull=6,NVRBDL=18,Ngap1= 27 - if (vrb>=9) - offset=18; + if (vrb >= 9) + offset = 18; else - offset=0; + offset = 0; - if (vrb<12) { - if ((vrb&3)>=2) - return offset+((9*odd_slot) + 6*(vrb&3) + (vrb>>2) + 17)%18; - else - return offset+((9*odd_slot) + 6*(vrb&3) + (vrb>>2))%18; - } - else { - return offset+((9*odd_slot) + 12*(vrb&1)+(vrb>>1) )%18 + 18*(vrb/18); + if (vrb < 12) { + if ((vrb & 3) >= 2) + return offset + ((9 * odd_slot) + 6 * (vrb & 3) + (vrb >> 2) + 17) % 18; + else + return offset + ((9 * odd_slot) + 6 * (vrb & 3) + (vrb >> 2)) % 18; + } else { + return offset + ((9 * odd_slot) + 12 * (vrb & 1) + (vrb >> 1)) % 18 + 18 * (vrb / 18); } } break; case 75: // Ngap1 = 32, NVRBRL=64, P=4, Nrow= 16, Nnull=0 - if (Ngap ==0) { - return ((32*odd_slot) + 16*(vrb&3) + (vrb>>2))%64 + (vrb/64); + if (Ngap == 0) { + return ((32 * odd_slot) + 16 * (vrb & 3) + (vrb >> 2)) % 64 + (vrb / 64); } else { // Ngap2 = 16, NVRBDL=32, Nrow=8, Nnull=0 - return ((16*odd_slot) + 8*(vrb&3) + (vrb>>2))%32 + (vrb/32); + return ((16 * odd_slot) + 8 * (vrb & 3) + (vrb >> 2)) % 32 + (vrb / 32); } break; case 100: // Ngap1 = 48, NVRBDL=96, Nrow=24, Nnull=0 - if (Ngap ==0) { - return ((48*odd_slot) + 24*(vrb&3) + (vrb>>2))%96 + (vrb/96); + if (Ngap == 0) { + return ((48 * odd_slot) + 24 * (vrb & 3) + (vrb >> 2)) % 96 + (vrb / 96); } else { // Ngap2 = 16, NVRBDL=32, Nrow=8, Nnull=0 - return ((16*odd_slot) + 8*(vrb&3) + (vrb>>2))%32 + (vrb/32); + return ((16 * odd_slot) + 8 * (vrb & 3) + (vrb >> 2)) % 32 + (vrb / 32); } break; default: - LOG_E(PHY,"Unknown N_RB_DL %d\n",N_RB_DL); + LOG_E (PHY, "Unknown N_RB_DL %d\n", N_RB_DL); return 0; } return 0; @@ -528,192 +534,193 @@ uint32_t get_prb(int N_RB_DL,int odd_slot,int vrb,int Ngap) { } -void generate_RIV_tables() +void +generate_RIV_tables () { // 6RBs localized RIV - uint8_t Lcrbs,RBstart; - uint16_t RIV; - uint32_t alloc0,allocdist0_0_even,allocdist0_0_odd,allocdist0_1_even,allocdist0_1_odd; - uint32_t alloc1,allocdist1_0_even,allocdist1_0_odd,allocdist1_1_even,allocdist1_1_odd; - uint32_t alloc2,allocdist2_0_even,allocdist2_0_odd,allocdist2_1_even,allocdist2_1_odd; - uint32_t alloc3,allocdist3_0_even,allocdist3_0_odd,allocdist3_1_even,allocdist3_1_odd; - uint32_t nVRB,nVRB_even_dist,nVRB_odd_dist; + uint8_t Lcrbs, RBstart; + uint16_t RIV; + uint32_t alloc0, allocdist0_0_even, allocdist0_0_odd, allocdist0_1_even, allocdist0_1_odd; + uint32_t alloc1, allocdist1_0_even, allocdist1_0_odd, allocdist1_1_even, allocdist1_1_odd; + uint32_t alloc2, allocdist2_0_even, allocdist2_0_odd, allocdist2_1_even, allocdist2_1_odd; + uint32_t alloc3, allocdist3_0_even, allocdist3_0_odd, allocdist3_1_even, allocdist3_1_odd; + uint32_t nVRB, nVRB_even_dist, nVRB_odd_dist; - for (RBstart=0; RBstart<6; RBstart++) { + for (RBstart = 0; RBstart < 6; RBstart++) { alloc0 = 0; allocdist0_0_even = 0; - allocdist0_0_odd = 0; - for (Lcrbs=1; Lcrbs<=(6-RBstart); Lcrbs++) { + allocdist0_0_odd = 0; + for (Lcrbs = 1; Lcrbs <= (6 - RBstart); Lcrbs++) { //printf("RBstart %d, len %d --> ",RBstart,Lcrbs); - nVRB = Lcrbs-1+RBstart; - alloc0 |= (1<RIV_max6) + if (RIV > RIV_max6) RIV_max6 = RIV; // printf("RIV %d (%d) : first_rb %d NBRB %d\n",RIV,localRIV2alloc_LUT25[RIV],RBstart,Lcrbs); localRIV2alloc_LUT6[RIV] = alloc0; - distRIV2alloc_even_LUT6[RIV] = allocdist0_0_even; - distRIV2alloc_odd_LUT6[RIV] = allocdist0_0_odd; - RIV2nb_rb_LUT6[RIV] = Lcrbs; - RIV2first_rb_LUT6[RIV] = RBstart; + distRIV2alloc_even_LUT6[RIV] = allocdist0_0_even; + distRIV2alloc_odd_LUT6[RIV] = allocdist0_0_odd; + RIV2nb_rb_LUT6[RIV] = Lcrbs; + RIV2first_rb_LUT6[RIV] = RBstart; } } - for (RBstart=0; RBstart<25; RBstart++) { + for (RBstart = 0; RBstart < 25; RBstart++) { alloc0 = 0; allocdist0_0_even = 0; - allocdist0_0_odd = 0; - for (Lcrbs=1; Lcrbs<=(25-RBstart); Lcrbs++) { - nVRB = Lcrbs-1+RBstart; + allocdist0_0_odd = 0; + for (Lcrbs = 1; Lcrbs <= (25 - RBstart); Lcrbs++) { + nVRB = Lcrbs - 1 + RBstart; //printf("RBstart %d, len %d --> ",RBstart,Lcrbs); - alloc0 |= (1<RIV_max25) + if (RIV > RIV_max25) RIV_max25 = RIV;; - localRIV2alloc_LUT25[RIV] = alloc0; - distRIV2alloc_even_LUT25[RIV] = allocdist0_0_even; - distRIV2alloc_odd_LUT25[RIV] = allocdist0_0_odd; - RIV2nb_rb_LUT25[RIV] = Lcrbs; - RIV2first_rb_LUT25[RIV] = RBstart; + localRIV2alloc_LUT25[RIV] = alloc0; + distRIV2alloc_even_LUT25[RIV] = allocdist0_0_even; + distRIV2alloc_odd_LUT25[RIV] = allocdist0_0_odd; + RIV2nb_rb_LUT25[RIV] = Lcrbs; + RIV2first_rb_LUT25[RIV] = RBstart; } } - for (RBstart=0; RBstart<50; RBstart++) { + for (RBstart = 0; RBstart < 50; RBstart++) { alloc0 = 0; alloc1 = 0; - allocdist0_0_even=0; - allocdist1_0_even=0; - allocdist0_0_odd=0; - allocdist1_0_odd=0; - allocdist0_1_even=0; - allocdist1_1_even=0; - allocdist0_1_odd=0; - allocdist1_1_odd=0; + allocdist0_0_even = 0; + allocdist1_0_even = 0; + allocdist0_0_odd = 0; + allocdist1_0_odd = 0; + allocdist0_1_even = 0; + allocdist1_1_even = 0; + allocdist0_1_odd = 0; + allocdist1_1_odd = 0; - for (Lcrbs=1; Lcrbs<=(50-RBstart); Lcrbs++) { + for (Lcrbs = 1; Lcrbs <= (50 - RBstart); Lcrbs++) { - nVRB = Lcrbs-1+RBstart; + nVRB = Lcrbs - 1 + RBstart; - if (nVRB<32) - alloc0 |= (1<RIV_max50) + if (RIV > RIV_max50) RIV_max50 = RIV; // printf("RIV %d : first_rb %d NBRB %d\n",RIV,RBstart,Lcrbs); - localRIV2alloc_LUT50_0[RIV] = alloc0; - localRIV2alloc_LUT50_1[RIV] = alloc1; - distRIV2alloc_gap0_even_LUT50_0[RIV] = allocdist0_0_even; - distRIV2alloc_gap0_even_LUT50_1[RIV] = allocdist1_0_even; - distRIV2alloc_gap0_odd_LUT50_0[RIV] = allocdist0_0_odd; - distRIV2alloc_gap0_odd_LUT50_1[RIV] = allocdist1_0_odd; - distRIV2alloc_gap1_even_LUT50_0[RIV] = allocdist0_1_even; - distRIV2alloc_gap1_even_LUT50_1[RIV] = allocdist1_1_even; - distRIV2alloc_gap1_odd_LUT50_0[RIV] = allocdist0_1_odd; - distRIV2alloc_gap1_odd_LUT50_1[RIV] = allocdist1_1_odd; - RIV2nb_rb_LUT50[RIV] = Lcrbs; - RIV2first_rb_LUT50[RIV] = RBstart; + localRIV2alloc_LUT50_0[RIV] = alloc0; + localRIV2alloc_LUT50_1[RIV] = alloc1; + distRIV2alloc_gap0_even_LUT50_0[RIV] = allocdist0_0_even; + distRIV2alloc_gap0_even_LUT50_1[RIV] = allocdist1_0_even; + distRIV2alloc_gap0_odd_LUT50_0[RIV] = allocdist0_0_odd; + distRIV2alloc_gap0_odd_LUT50_1[RIV] = allocdist1_0_odd; + distRIV2alloc_gap1_even_LUT50_0[RIV] = allocdist0_1_even; + distRIV2alloc_gap1_even_LUT50_1[RIV] = allocdist1_1_even; + distRIV2alloc_gap1_odd_LUT50_0[RIV] = allocdist0_1_odd; + distRIV2alloc_gap1_odd_LUT50_1[RIV] = allocdist1_1_odd; + RIV2nb_rb_LUT50[RIV] = Lcrbs; + RIV2first_rb_LUT50[RIV] = RBstart; } } - for (RBstart=0; RBstart<100; RBstart++) { + for (RBstart = 0; RBstart < 100; RBstart++) { alloc0 = 0; alloc1 = 0; alloc2 = 0; alloc3 = 0; - allocdist0_0_even=0; - allocdist1_0_even=0; - allocdist2_0_even=0; - allocdist3_0_even=0; - allocdist0_0_odd=0; - allocdist1_0_odd=0; - allocdist2_0_odd=0; - allocdist3_0_odd=0; - allocdist0_1_even=0; - allocdist1_1_even=0; - allocdist2_1_even=0; - allocdist3_1_even=0; - allocdist0_1_odd=0; - allocdist1_1_odd=0; - allocdist2_1_odd=0; - allocdist3_1_odd=0; + allocdist0_0_even = 0; + allocdist1_0_even = 0; + allocdist2_0_even = 0; + allocdist3_0_even = 0; + allocdist0_0_odd = 0; + allocdist1_0_odd = 0; + allocdist2_0_odd = 0; + allocdist3_0_odd = 0; + allocdist0_1_even = 0; + allocdist1_1_even = 0; + allocdist2_1_even = 0; + allocdist3_1_even = 0; + allocdist0_1_odd = 0; + allocdist1_1_odd = 0; + allocdist2_1_odd = 0; + allocdist3_1_odd = 0; - for (Lcrbs=1; Lcrbs<=(100-RBstart); Lcrbs++) { + for (Lcrbs = 1; Lcrbs <= (100 - RBstart); Lcrbs++) { - nVRB = Lcrbs-1+RBstart; + nVRB = Lcrbs - 1 + RBstart; - if (nVRB<32) - alloc0 |= (1< nVRB_even_dist %d\n",nVRB,nVRB_even_dist); - if (nVRB_even_dist<32) - allocdist0_0_even |= (1<(%08x.%08x.%08x.%08x)\n", allocdist0_0_even, @@ -723,44 +730,44 @@ void generate_RIV_tables() ); */ // Distributed Gap1, odd slot - nVRB_odd_dist = get_prb(100,1,nVRB,0); - if (nVRB_odd_dist<32) - allocdist0_0_odd |= (1<RIV_max100) + if (RIV > RIV_max100) RIV_max100 = RIV; // printf("RIV %d : first_rb %d NBRB %d\n",RIV,RBstart,Lcrbs); @@ -768,25 +775,25 @@ void generate_RIV_tables() localRIV2alloc_LUT100_1[RIV] = alloc1; localRIV2alloc_LUT100_2[RIV] = alloc2; localRIV2alloc_LUT100_3[RIV] = alloc3; - distRIV2alloc_gap0_even_LUT100_0[RIV] = allocdist0_0_even; - distRIV2alloc_gap0_even_LUT100_1[RIV] = allocdist1_0_even; - distRIV2alloc_gap0_even_LUT100_2[RIV] = allocdist2_0_even; - distRIV2alloc_gap0_even_LUT100_3[RIV] = allocdist3_0_even; - distRIV2alloc_gap0_odd_LUT100_0[RIV] = allocdist0_0_odd; - distRIV2alloc_gap0_odd_LUT100_1[RIV] = allocdist1_0_odd; - distRIV2alloc_gap0_odd_LUT100_2[RIV] = allocdist2_0_odd; - distRIV2alloc_gap0_odd_LUT100_3[RIV] = allocdist3_0_odd; - distRIV2alloc_gap1_even_LUT100_0[RIV] = allocdist0_1_even; - distRIV2alloc_gap1_even_LUT100_1[RIV] = allocdist1_1_even; - distRIV2alloc_gap1_even_LUT100_2[RIV] = allocdist2_1_even; - distRIV2alloc_gap1_even_LUT100_3[RIV] = allocdist3_1_even; - distRIV2alloc_gap1_odd_LUT100_0[RIV] = allocdist0_1_odd; - distRIV2alloc_gap1_odd_LUT100_1[RIV] = allocdist1_1_odd; - distRIV2alloc_gap1_odd_LUT100_2[RIV] = allocdist2_1_odd; - distRIV2alloc_gap1_odd_LUT100_3[RIV] = allocdist3_1_odd; + distRIV2alloc_gap0_even_LUT100_0[RIV] = allocdist0_0_even; + distRIV2alloc_gap0_even_LUT100_1[RIV] = allocdist1_0_even; + distRIV2alloc_gap0_even_LUT100_2[RIV] = allocdist2_0_even; + distRIV2alloc_gap0_even_LUT100_3[RIV] = allocdist3_0_even; + distRIV2alloc_gap0_odd_LUT100_0[RIV] = allocdist0_0_odd; + distRIV2alloc_gap0_odd_LUT100_1[RIV] = allocdist1_0_odd; + distRIV2alloc_gap0_odd_LUT100_2[RIV] = allocdist2_0_odd; + distRIV2alloc_gap0_odd_LUT100_3[RIV] = allocdist3_0_odd; + distRIV2alloc_gap1_even_LUT100_0[RIV] = allocdist0_1_even; + distRIV2alloc_gap1_even_LUT100_1[RIV] = allocdist1_1_even; + distRIV2alloc_gap1_even_LUT100_2[RIV] = allocdist2_1_even; + distRIV2alloc_gap1_even_LUT100_3[RIV] = allocdist3_1_even; + distRIV2alloc_gap1_odd_LUT100_0[RIV] = allocdist0_1_odd; + distRIV2alloc_gap1_odd_LUT100_1[RIV] = allocdist1_1_odd; + distRIV2alloc_gap1_odd_LUT100_2[RIV] = allocdist2_1_odd; + distRIV2alloc_gap1_odd_LUT100_3[RIV] = allocdist3_1_odd; - RIV2nb_rb_LUT100[RIV] = Lcrbs; - RIV2first_rb_LUT100[RIV] = RBstart; + RIV2nb_rb_LUT100[RIV] = Lcrbs; + RIV2first_rb_LUT100[RIV] = RBstart; } } } @@ -801,51 +808,56 @@ void generate_RIV_tables() // n_tilde_PRB(0,1) = (0,2) -int8_t find_dlsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type) +int8_t +find_dlsch (uint16_t rnti, PHY_VARS_eNB * eNB, find_type_t type) { - uint8_t i; - int8_t first_free_index=-1; + uint8_t i; + int8_t first_free_index = -1; - AssertFatal(eNB!=NULL,"eNB is null\n"); - for (i=0; idlsch[i]!=NULL,"eNB->dlsch[%d] is null\n",i); - AssertFatal(eNB->dlsch[i]!=NULL,"eNB->dlsch[%d][0] is null\n",i); - LOG_D(PHY,"searching for rnti %x : UE index %d=> harq_mask %x, rnti %x, first_free_index %d\n", - rnti,i,eNB->dlsch[i][0]->harq_mask,eNB->dlsch[i][0]->rnti,first_free_index); - if ((eNB->dlsch[i][0]->harq_mask >0) && - (eNB->dlsch[i][0]->rnti==rnti) && - (type!=SEARCH_FREE)) return i; - else if ((eNB->dlsch[i][0]->harq_mask == 0) && (first_free_index==-1)) first_free_index=i; + AssertFatal (eNB != NULL, "eNB is null\n"); + for (i = 0; i < NUMBER_OF_UE_MAX; i++) { + AssertFatal (eNB->dlsch[i] != NULL, "eNB->dlsch[%d] is null\n", i); + AssertFatal (eNB->dlsch[i] != NULL, "eNB->dlsch[%d][0] is null\n", i); + LOG_D (PHY, "searching for rnti %x : UE index %d=> harq_mask %x, rnti %x, first_free_index %d\n", rnti, i, eNB->dlsch[i][0]->harq_mask, eNB->dlsch[i][0]->rnti, first_free_index); + if ((eNB->dlsch[i][0]->harq_mask > 0) && (eNB->dlsch[i][0]->rnti == rnti) && (type != SEARCH_FREE)) + return i; + else if ((eNB->dlsch[i][0]->harq_mask == 0) && (first_free_index == -1)) + first_free_index = i; } - if (type == SEARCH_EXIST) return -1; + if (type == SEARCH_EXIST) + return -1; if (first_free_index != -1) eNB->dlsch[first_free_index][0]->rnti = 0; return first_free_index; } -int8_t find_ulsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type) +int8_t +find_ulsch (uint16_t rnti, PHY_VARS_eNB * eNB, find_type_t type) { - uint8_t i; - int8_t first_free_index=-1; + uint8_t i; + int8_t first_free_index = -1; - AssertFatal(eNB!=NULL,"eNB is null\n"); - for (i=0; iulsch[i]!=NULL,"eNB->ulsch[%d] is null\n",i); - if ((eNB->ulsch[i]->harq_mask >0) && - (eNB->ulsch[i]->rnti==rnti)) return i; - else if ((eNB->ulsch[i]->harq_mask == 0) && (first_free_index==-1)) first_free_index=i; + AssertFatal (eNB != NULL, "eNB is null\n"); + for (i = 0; i < NUMBER_OF_UE_MAX; i++) { + AssertFatal (eNB->ulsch[i] != NULL, "eNB->ulsch[%d] is null\n", i); + if ((eNB->ulsch[i]->harq_mask > 0) && (eNB->ulsch[i]->rnti == rnti)) + return i; + else if ((eNB->ulsch[i]->harq_mask == 0) && (first_free_index == -1)) + first_free_index = i; } - if (type == SEARCH_EXIST) return -1; + if (type == SEARCH_EXIST) + return -1; if (first_free_index != -1) eNB->ulsch[first_free_index]->rnti = 0; return first_free_index; } -uint32_t get_rballoc(vrb_t vrb_type,uint16_t rb_alloc_dci) +uint32_t +get_rballoc (vrb_t vrb_type, uint16_t rb_alloc_dci) { - return(localRIV2alloc_LUT25[rb_alloc_dci]); + return (localRIV2alloc_LUT25[rb_alloc_dci]); } @@ -862,514 +874,517 @@ uint8_t get_transmission_mode(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti) } */ -void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,nfapi_dl_config_dci_dl_pdu *pdu) +void +fill_pdcch_order (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, DCI_ALLOC_t * dci_alloc, nfapi_dl_config_dci_dl_pdu * pdu) { - LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - uint8_t *dci_pdu = &dci_alloc->dci_pdu[0]; - nfapi_dl_config_dci_dl_pdu_rel8_t *rel8 = &pdu->dci_dl_pdu_rel8; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + uint8_t *dci_pdu = &dci_alloc->dci_pdu[0]; + nfapi_dl_config_dci_dl_pdu_rel8_t *rel8 = &pdu->dci_dl_pdu_rel8; dci_alloc->firstCCE = rel8->cce_idx; - dci_alloc->L = rel8->aggregation_level; - dci_alloc->rnti = rel8->rnti; + dci_alloc->L = rel8->aggregation_level; + dci_alloc->rnti = rel8->rnti; dci_alloc->harq_pid = rel8->harq_process; - dci_alloc->ra_flag = 0; - dci_alloc->format = format1A; + dci_alloc->ra_flag = 0; + dci_alloc->format = format1A; - LOG_D(PHY,"NFAPI: DCI format %d, nCCE %d, L %d, rnti %x,harq_pid %d\n", - rel8->dci_format,rel8->cce_idx,rel8->aggregation_level,rel8->rnti,rel8->harq_process); + LOG_D (PHY, "NFAPI: DCI format %d, nCCE %d, L %d, rnti %x,harq_pid %d\n", rel8->dci_format, rel8->cce_idx, rel8->aggregation_level, rel8->rnti, rel8->harq_process); switch (fp->N_RB_DL) { case 6: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_TDD_1_6_t; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_TDD_1_6_t; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; } else { - dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_FDD_t; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_FDD_t; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 25: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_5MHz_TDD_1_6_t; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); + dci_alloc->dci_length = sizeof_DCI1A_5MHz_TDD_1_6_t; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1A_5MHz_FDD_t; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1A_5MHz_FDD_t; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 50: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_10MHz_TDD_1_6_t; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1A_10MHz_TDD_1_6_t; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1A_10MHz_FDD_t; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1A_10MHz_FDD_t; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 100: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_20MHz_TDD_1_6_t; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1A_20MHz_TDD_1_6_t; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1A_20MHz_FDD_t; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1A_20MHz_FDD_t; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; } - LOG_I(PHY,"%d.%d: DCI 1A: rnti %x, PDCCH order to do PRACH\n", - proc->frame_tx, proc->subframe_tx, rel8->rnti); + LOG_I (PHY, "%d.%d: DCI 1A: rnti %x, PDCCH order to do PRACH\n", proc->frame_tx, proc->subframe_tx, rel8->rnti); } -void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,nfapi_dl_config_dci_dl_pdu *pdu) +void +fill_dci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, DCI_ALLOC_t * dci_alloc, nfapi_dl_config_dci_dl_pdu * pdu) { LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - uint8_t *dci_pdu = &dci_alloc->dci_pdu[0]; + uint8_t *dci_pdu = &dci_alloc->dci_pdu[0]; nfapi_dl_config_dci_dl_pdu_rel8_t *rel8 = &pdu->dci_dl_pdu_rel8; /* check if this is a DCI 1A PDCCH order for RAPROC */ if (rel8->dci_format == NFAPI_DL_DCI_FORMAT_1A && rel8->rnti_type == 1) { - int full_rb; + int full_rb; switch (fp->N_RB_DL) { - case 6: full_rb = 63; break; - case 25: full_rb = 511; break; - case 50: full_rb = 2047; break; - case 100: full_rb = 8191; break; - default: abort(); + case 6: + full_rb = 63; + break; + case 25: + full_rb = 511; + break; + case 50: + full_rb = 2047; + break; + case 100: + full_rb = 8191; + break; + default: + abort (); } if (rel8->resource_block_coding == full_rb) - return fill_pdcch_order(eNB, proc, dci_alloc, pdu); + return fill_pdcch_order (eNB, proc, dci_alloc, pdu); } - LTE_eNB_DLSCH_t *dlsch0=NULL,*dlsch1=NULL; - LTE_DL_eNB_HARQ_t *dlsch0_harq=NULL,*dlsch1_harq=NULL; - int beamforming_mode = 0; - int UE_id=-1; - int subframe = proc->subframe_tx; - int NPRB; - int TB0_active; - int TB1_active; - uint16_t DL_pmi_single=0; // This should be taken from DLSCH parameters for PUSCH precoding - uint8_t I_mcs = 0; - + LTE_eNB_DLSCH_t *dlsch0 = NULL, *dlsch1 = NULL; + LTE_DL_eNB_HARQ_t *dlsch0_harq = NULL, *dlsch1_harq = NULL; + int beamforming_mode = 0; + int UE_id = -1; + int subframe = proc->subframe_tx; + int frame = proc->frame_tx; + int NPRB; + int TB0_active; + int TB1_active; + uint16_t DL_pmi_single = 0; // This should be taken from DLSCH parameters for PUSCH precoding + uint8_t I_mcs = 0; + dci_alloc->firstCCE = rel8->cce_idx; - dci_alloc->L = rel8->aggregation_level; - dci_alloc->rnti = rel8->rnti; + dci_alloc->L = rel8->aggregation_level; + dci_alloc->rnti = rel8->rnti; dci_alloc->harq_pid = rel8->harq_process; - dci_alloc->ra_flag = 0; + dci_alloc->ra_flag = 0; - LOG_D(PHY,"NFAPI: DCI format %d, nCCE %d, L %d, rnti %x,harq_pid %d\n", - rel8->dci_format,rel8->cce_idx,rel8->aggregation_level,rel8->rnti,rel8->harq_process); - if ((rel8->rnti_type == 2 ) && (rel8->rnti != SI_RNTI) && (rel8->rnti != P_RNTI)) dci_alloc->ra_flag = 1; + LOG_D (PHY, "NFAPI: DCI format %d, nCCE %d, L %d, rnti %x,harq_pid %d\n", rel8->dci_format, rel8->cce_idx, rel8->aggregation_level, rel8->rnti, rel8->harq_process); + if ((rel8->rnti_type == 2) && (rel8->rnti != SI_RNTI) && (rel8->rnti != P_RNTI)) + dci_alloc->ra_flag = 1; - UE_id = find_dlsch(rel8->rnti,eNB,SEARCH_EXIST_OR_FREE); - AssertFatal(UE_id!=-1,"no free or exiting dlsch_context\n"); - AssertFatal(UE_id= %d(NUMBER_OF_UE_MAX)\n",UE_id,NUMBER_OF_UE_MAX); + UE_id = find_dlsch (rel8->rnti, eNB, SEARCH_EXIST_OR_FREE); + AssertFatal (UE_id != -1, "no free or exiting dlsch_context\n"); + AssertFatal (UE_id < NUMBER_OF_UE_MAX, "returned UE_id %d >= %d(NUMBER_OF_UE_MAX)\n", UE_id, NUMBER_OF_UE_MAX); dlsch0 = eNB->dlsch[UE_id][0]; dlsch1 = eNB->dlsch[UE_id][1]; - - beamforming_mode = eNB->transmission_mode[(uint8_t)UE_id]<7?0:eNB->transmission_mode[(uint8_t)UE_id]; - dlsch0_harq = dlsch0->harq_processes[rel8->harq_process]; - dlsch0_harq->codeword = 0; - dlsch1_harq = dlsch1->harq_processes[rel8->harq_process]; - dlsch1_harq->codeword = 1; - dlsch0->subframe_tx[subframe] = 1; - if (dlsch0->rnti != rel8->rnti) { // if rnti of dlsch is not the same as in the config, this is a new entry - dlsch0_harq->round=0; - dlsch0->harq_mask=0; + beamforming_mode = eNB->transmission_mode[(uint8_t) UE_id] < 7 ? 0 : eNB->transmission_mode[(uint8_t) UE_id]; + dlsch0_harq = dlsch0->harq_processes[rel8->harq_process]; + dlsch0_harq->codeword = 0; + dlsch1_harq = dlsch1->harq_processes[rel8->harq_process]; + dlsch1_harq->codeword = 1; + dlsch0->subframe_tx[subframe] = 1; + if (dlsch0->rnti != rel8->rnti) { // if rnti of dlsch is not the same as in the config, this is a new entry + dlsch0_harq->round = 0; + dlsch0->harq_mask = 0; } - if ((dlsch0->harq_mask & (1<harq_process)) > 0 ) { + if ((dlsch0->harq_mask & (1 << rel8->harq_process)) > 0) { if (rel8->new_data_indicator_1 != dlsch0_harq->ndi) - dlsch0_harq->round=0; - } - else { // process is inactive, so activate and set round to 0 - dlsch0_harq->round=0; + dlsch0_harq->round = 0; + } else { // process is inactive, so activate and set round to 0 + dlsch0_harq->round = 0; } dlsch0_harq->ndi = rel8->new_data_indicator_1; - dlsch0->active = 1; + dlsch0->active = 1; if (rel8->rnti_type == 2) - dlsch0_harq->round = 0; -LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n",rel8->harq_process,dlsch0->harq_mask,dlsch0_harq->round, - dlsch0_harq->ndi,rel8->new_data_indicator_1, rel8->rnti_type); + dlsch0_harq->round = 0; + LOG_D (PHY, "NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n", rel8->harq_process, dlsch0->harq_mask, dlsch0_harq->round, + dlsch0_harq->ndi, rel8->new_data_indicator_1, rel8->rnti_type); switch (rel8->dci_format) { case NFAPI_DL_DCI_FORMAT_1A: - AssertFatal(rel8->resource_block_coding < 8192, "Frame %d, Subframe %d: rel8->resource_block_coding (%p) %u >= 8192 (rnti %x, rnti_type %d, format %d, harq_id %d\n", - proc->frame_tx,subframe, - &rel8->resource_block_coding,rel8->resource_block_coding,rel8->rnti,rel8->rnti_type,rel8->dci_format,rel8->harq_process); - + AssertFatal (rel8->resource_block_coding < 8192, "Frame %d, Subframe %d: rel8->resource_block_coding (%p) %u >= 8192 (rnti %x, rnti_type %d, format %d, harq_id %d\n", + proc->frame_tx, subframe, &rel8->resource_block_coding, rel8->resource_block_coding, rel8->rnti, rel8->rnti_type, rel8->dci_format, rel8->harq_process); - dci_alloc->format = format1A; + + dci_alloc->format = format1A; switch (fp->N_RB_DL) { case 6: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_TDD_1_6_t; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - + dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_TDD_1_6_t; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + } else { - dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_FDD_t; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1A_1_5MHz_FDD_t; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } - AssertFatal(rel8->virtual_resource_block_assignment_flag==LOCALIZED,"Distributed RB allocation not done yet\n"); - dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT6[rel8->resource_block_coding]; - dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; - dlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rel8->resource_block_coding];//NPRB; + AssertFatal (rel8->virtual_resource_block_assignment_flag == LOCALIZED, "Distributed RB allocation not done yet\n"); + dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT6[rel8->resource_block_coding]; + dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; + dlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rel8->resource_block_coding]; //NPRB; break; case 25: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_5MHz_TDD_1_6_t; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); + dci_alloc->dci_length = sizeof_DCI1A_5MHz_TDD_1_6_t; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1A_5MHz_FDD_t; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_5MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1A_5MHz_FDD_t; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_5MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } - AssertFatal(rel8->virtual_resource_block_assignment_flag==LOCALIZED,"Distributed RB allocation not done yet\n"); - dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT25[rel8->resource_block_coding]; - dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; - dlsch0_harq->nb_rb = RIV2nb_rb_LUT25[rel8->resource_block_coding];//NPRB; + AssertFatal (rel8->virtual_resource_block_assignment_flag == LOCALIZED, "Distributed RB allocation not done yet\n"); + dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT25[rel8->resource_block_coding]; + dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; + dlsch0_harq->nb_rb = RIV2nb_rb_LUT25[rel8->resource_block_coding]; //NPRB; break; case 50: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_10MHz_TDD_1_6_t; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1A_10MHz_TDD_1_6_t; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1A_10MHz_FDD_t; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_10MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); + dci_alloc->dci_length = sizeof_DCI1A_10MHz_FDD_t; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_10MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } - AssertFatal(rel8->virtual_resource_block_assignment_flag==LOCALIZED,"Distributed RB allocation not done yet\n"); - dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT50_0[rel8->resource_block_coding]; - dlsch0_harq->rb_alloc[1] = localRIV2alloc_LUT50_1[rel8->resource_block_coding]; - dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; - dlsch0_harq->nb_rb = RIV2nb_rb_LUT50[rel8->resource_block_coding];//NPRB; + AssertFatal (rel8->virtual_resource_block_assignment_flag == LOCALIZED, "Distributed RB allocation not done yet\n"); + dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT50_0[rel8->resource_block_coding]; + dlsch0_harq->rb_alloc[1] = localRIV2alloc_LUT50_1[rel8->resource_block_coding]; + dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; + dlsch0_harq->nb_rb = RIV2nb_rb_LUT50[rel8->resource_block_coding]; //NPRB; break; case 100: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1A_20MHz_TDD_1_6_t; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->type = 1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1A_20MHz_TDD_1_6_t; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->type = 1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1A_20MHz_FDD_t; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->type = 1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1A_20MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); + dci_alloc->dci_length = sizeof_DCI1A_20MHz_FDD_t; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->type = 1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->vrb_type = rel8->virtual_resource_block_assignment_flag; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1A_20MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + // printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } - AssertFatal(rel8->virtual_resource_block_assignment_flag==LOCALIZED,"Distributed RB allocation not done yet\n"); - dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT100_0[rel8->resource_block_coding]; - dlsch0_harq->rb_alloc[1] = localRIV2alloc_LUT100_1[rel8->resource_block_coding]; - dlsch0_harq->rb_alloc[2] = localRIV2alloc_LUT100_2[rel8->resource_block_coding]; - dlsch0_harq->rb_alloc[3] = localRIV2alloc_LUT100_3[rel8->resource_block_coding]; - dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; - dlsch0_harq->nb_rb = RIV2nb_rb_LUT100[rel8->resource_block_coding];//NPRB; + AssertFatal (rel8->virtual_resource_block_assignment_flag == LOCALIZED, "Distributed RB allocation not done yet\n"); + dlsch0_harq->rb_alloc[0] = localRIV2alloc_LUT100_0[rel8->resource_block_coding]; + dlsch0_harq->rb_alloc[1] = localRIV2alloc_LUT100_1[rel8->resource_block_coding]; + dlsch0_harq->rb_alloc[2] = localRIV2alloc_LUT100_2[rel8->resource_block_coding]; + dlsch0_harq->rb_alloc[3] = localRIV2alloc_LUT100_3[rel8->resource_block_coding]; + dlsch0_harq->vrb_type = rel8->virtual_resource_block_assignment_flag; + dlsch0_harq->nb_rb = RIV2nb_rb_LUT100[rel8->resource_block_coding]; //NPRB; break; } - if (rel8->rnti_type == 2 ) { + if (rel8->rnti_type == 2) { // see 36-212 V8.6.0 p. 45 - NPRB = (rel8->tpc&1)+2; + NPRB = (rel8->tpc & 1) + 2; // 36-213 sec.7.1.7.2 p.26 - I_mcs = rel8->mcs_1; + I_mcs = rel8->mcs_1; + } else { + NPRB = dlsch0_harq->nb_rb; + I_mcs = get_I_TBS (rel8->mcs_1); } - else { - NPRB = dlsch0_harq->nb_rb; - I_mcs = get_I_TBS(rel8->mcs_1); - } - AssertFatal(NPRB>0,"DCI 1A: NPRB = 0 (rnti %x, rnti type %d, tpc %d, round %d, resource_block_coding %d)\n",rel8->rnti,rel8->rnti_type,rel8->tpc,dlsch0_harq->round,rel8->resource_block_coding); - dlsch0_harq->rvidx = rel8->redundancy_version_1; - dlsch0_harq->Nl = 1; - dlsch0_harq->mimo_mode = (fp->nb_antenna_ports_eNB == 1) ? SISO : ALAMOUTI; - dlsch0_harq->dl_power_off = 1; - - + AssertFatal (NPRB > 0, "DCI 1A: NPRB = 0 (rnti %x, rnti type %d, tpc %d, round %d, resource_block_coding %d)\n", rel8->rnti, rel8->rnti_type, rel8->tpc, dlsch0_harq->round, + rel8->resource_block_coding); + dlsch0_harq->rvidx = rel8->redundancy_version_1; + dlsch0_harq->Nl = 1; + dlsch0_harq->mimo_mode = (fp->nb_antenna_ports_eNB == 1) ? SISO : ALAMOUTI; + dlsch0_harq->dl_power_off = 1; - dlsch0_harq->mcs = rel8->mcs_1; - dlsch0_harq->Qm = 2; - dlsch0_harq->TBS = TBStable[I_mcs][NPRB-1]; - LOG_D(PHY,"DCI_1A: I_mcs %d, NPRB %d, TBS %d\n",I_mcs,NPRB,dlsch0_harq->TBS); - dlsch0->harq_ids[subframe] = rel8->harq_process; - dlsch0->active = 1; - dlsch0->rnti = rel8->rnti; - dlsch0->harq_ids[subframe] = rel8->harq_process; + + + dlsch0_harq->mcs = rel8->mcs_1; + dlsch0_harq->Qm = 2; + dlsch0_harq->TBS = TBStable[I_mcs][NPRB - 1]; + LOG_D (PHY, "DCI_1A: I_mcs %d, NPRB %d, TBS %d\n", I_mcs, NPRB, dlsch0_harq->TBS); + dlsch0->harq_ids[subframe] = rel8->harq_process; + dlsch0->active = 1; + dlsch0->rnti = rel8->rnti; + dlsch0->harq_ids[subframe] = rel8->harq_process; if (dlsch0_harq->round == 0) dlsch0_harq->status = ACTIVE; - dlsch0->harq_mask |= (1<harq_process); + dlsch0->harq_mask |= (1 << rel8->harq_process); - if (rel8->rnti_type == 1) LOG_D(PHY,"DCI 1A: round %d, mcs %d, rballoc %x,rv %d, rnti %x\n",dlsch0_harq->round,rel8->mcs_1,rel8->resource_block_coding,rel8->redundancy_version_1,rel8->rnti); + if (rel8->rnti_type == 1) + LOG_D (PHY, "DCI 1A: round %d, mcs %d, rballoc %x,rv %d, rnti %x\n", dlsch0_harq->round, rel8->mcs_1, rel8->resource_block_coding, rel8->redundancy_version_1, rel8->rnti); break; case NFAPI_DL_DCI_FORMAT_1: - dci_alloc->format = format1; - dlsch0->active = 1; + dci_alloc->format = format1; + dlsch0->active = 1; - LOG_D(PHY,"Frame %d, Subframe %d: Programming DLSCH for Format 1 DCI, harq_pid %d\n",proc->frame_tx,subframe,rel8->harq_process); + LOG_D (PHY, "Frame %d, Subframe %d: Programming DLSCH for Format 1 DCI, harq_pid %d\n", proc->frame_tx, subframe, rel8->harq_process); switch (fp->N_RB_DL) { case 6: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1_1_5MHz_TDD_t; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1_1_5MHz_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1_1_5MHz_TDD_t; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1_1_5MHz_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1_1_5MHz_FDD_t; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_1_5MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1_1_5MHz_FDD_t; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_1_5MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 25: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1_5MHz_TDD_t; - ((DCI1_5MHz_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_5MHz_TDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_5MHz_TDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_5MHz_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_5MHz_TDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_5MHz_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_5MHz_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1_5MHz_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1_5MHz_TDD_t; + ((DCI1_5MHz_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_5MHz_TDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_5MHz_TDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_5MHz_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_5MHz_TDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_5MHz_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_5MHz_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1_5MHz_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1_5MHz_FDD_t; - ((DCI1_5MHz_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_5MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_5MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_5MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_5MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_5MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_5MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1_5MHz_FDD_t; + ((DCI1_5MHz_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_5MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_5MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_5MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_5MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_5MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_5MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; // printf("FDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 50: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1_10MHz_TDD_t; - ((DCI1_10MHz_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_10MHz_TDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_10MHz_TDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_10MHz_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_10MHz_TDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_10MHz_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_10MHz_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1_10MHz_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1_10MHz_TDD_t; + ((DCI1_10MHz_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_10MHz_TDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_10MHz_TDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_10MHz_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_10MHz_TDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_10MHz_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_10MHz_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1_10MHz_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1_10MHz_FDD_t; - ((DCI1_10MHz_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_10MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_10MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_10MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_10MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_10MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_10MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1_10MHz_FDD_t; + ((DCI1_10MHz_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_10MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_10MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_10MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_10MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_10MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_10MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; } break; case 100: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI1_20MHz_TDD_t; - ((DCI1_20MHz_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_20MHz_TDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_20MHz_TDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_20MHz_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_20MHz_TDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_20MHz_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_20MHz_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI1_20MHz_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI1_20MHz_TDD_t; + ((DCI1_20MHz_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_20MHz_TDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_20MHz_TDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_20MHz_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_20MHz_TDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_20MHz_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_20MHz_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI1_20MHz_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI1_20MHz_FDD_t; - ((DCI1_20MHz_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI1_20MHz_FDD_t *)dci_pdu)->mcs = rel8->mcs_1; - ((DCI1_20MHz_FDD_t *)dci_pdu)->ndi = rel8->new_data_indicator_1; - ((DCI1_20MHz_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI1_20MHz_FDD_t *)dci_pdu)->rv = rel8->redundancy_version_1; - ((DCI1_20MHz_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI1_20MHz_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; + dci_alloc->dci_length = sizeof_DCI1_20MHz_FDD_t; + ((DCI1_20MHz_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI1_20MHz_FDD_t *) dci_pdu)->mcs = rel8->mcs_1; + ((DCI1_20MHz_FDD_t *) dci_pdu)->ndi = rel8->new_data_indicator_1; + ((DCI1_20MHz_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI1_20MHz_FDD_t *) dci_pdu)->rv = rel8->redundancy_version_1; + ((DCI1_20MHz_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI1_20MHz_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; } break; } - AssertFatal(rel8->harq_process<8,"Format 1: harq_pid=%d >= 8\n", rel8->harq_process); + AssertFatal (rel8->harq_process < 8, "Format 1: harq_pid=%d >= 8\n", rel8->harq_process); dlsch0_harq = dlsch0->harq_processes[rel8->harq_process]; - dlsch0_harq->codeword=0; + dlsch0_harq->codeword = 0; // printf("DCI: Setting subframe_tx for subframe %d\n",subframe); dlsch0->subframe_tx[subframe] = 1; - conv_rballoc(rel8->resource_allocation_type, - rel8->resource_block_coding, - fp->N_RB_DL, - dlsch0_harq->rb_alloc); + conv_rballoc (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); - dlsch0_harq->nb_rb = conv_nprb(rel8->resource_allocation_type, - rel8->resource_block_coding, - fp->N_RB_DL); + dlsch0_harq->nb_rb = conv_nprb (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL); - NPRB = dlsch0_harq->nb_rb; + NPRB = dlsch0_harq->nb_rb; - AssertFatal(NPRB>0,"NPRB == 0\n"); + AssertFatal (NPRB > 0, "NPRB == 0\n"); - dlsch0_harq->rvidx = rel8->redundancy_version_1; + dlsch0_harq->rvidx = rel8->redundancy_version_1; - dlsch0_harq->Nl = 1; + dlsch0_harq->Nl = 1; // dlsch[0]->layer_index = 0; if (beamforming_mode == 0) dlsch0_harq->mimo_mode = (fp->nb_antenna_ports_eNB == 1) ? SISO : ALAMOUTI; else if (beamforming_mode == 7) dlsch0_harq->mimo_mode = TM7; else - LOG_E(PHY,"Invalid beamforming mode %dL\n", beamforming_mode); + LOG_E (PHY, "Invalid beamforming mode %dL\n", beamforming_mode); dlsch0_harq->dl_power_off = 1; @@ -1382,16 +1397,16 @@ LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n" // printf("Setting DLSCH process %d to ACTIVE\n",rel8->harq_process); // MCS and TBS don't change across HARQ rounds - dlsch0_harq->mcs = rel8->mcs_1; - dlsch0_harq->Qm = get_Qm(rel8->mcs_1); - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][NPRB-1]; + dlsch0_harq->mcs = rel8->mcs_1; + dlsch0_harq->Qm = get_Qm (rel8->mcs_1); + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][NPRB - 1]; } - LOG_D(PHY,"DCI: Set harq_ids[%d] to %d (%p)\n",subframe,rel8->harq_process,dlsch0); + LOG_D (PHY, "DCI: Set harq_ids[%d] to %d (%p)\n", subframe, rel8->harq_process, dlsch0); dlsch0->harq_ids[subframe] = rel8->harq_process; - dlsch0->harq_mask |= (1<harq_process); + dlsch0->harq_mask |= (1 << rel8->harq_process); dlsch0->rnti = rel8->rnti; @@ -1400,138 +1415,138 @@ LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n" break; case NFAPI_DL_DCI_FORMAT_2A: - dci_alloc->format = format2A; + dci_alloc->format = format2A; switch (fp->N_RB_DL) { case 6: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2A_1_5MHz_2A_TDD_t; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI2A_1_5MHz_2A_TDD_t; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2A_1_5MHz_2A_FDD_t; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + dci_alloc->dci_length = sizeof_DCI2A_1_5MHz_2A_FDD_t; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; // printf("FDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 25: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2A_5MHz_2A_TDD_t; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI2A_5MHz_2A_TDD_t; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2A_5MHz_2A_FDD_t; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + dci_alloc->dci_length = sizeof_DCI2A_5MHz_2A_FDD_t; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; // printf("FDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 50: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2A_10MHz_2A_TDD_t; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI2A_10MHz_2A_TDD_t; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2A_10MHz_2A_FDD_t; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + dci_alloc->dci_length = sizeof_DCI2A_10MHz_2A_FDD_t; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; } break; case 100: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2A_20MHz_2A_TDD_t; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; + dci_alloc->dci_length = sizeof_DCI2A_20MHz_2A_TDD_t; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2A_20MHz_2A_FDD_t; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + dci_alloc->dci_length = sizeof_DCI2A_20MHz_2A_FDD_t; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; } break; } - AssertFatal(rel8->harq_process<8,"Format 2_2A: harq_pid=%d >= 8\n", rel8->harq_process); + AssertFatal (rel8->harq_process < 8, "Format 2_2A: harq_pid=%d >= 8\n", rel8->harq_process); // Flip the TB to codeword mapping as described in 5.3.3.1.5 of 36-212 V11.3.0 @@ -1553,154 +1568,148 @@ LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n" // printf("Setting DLSCH harq id %d to subframe %d\n",harq_pid,subframe); - conv_rballoc(rel8->resource_allocation_type, - rel8->resource_block_coding, - fp->N_RB_DL, - dlsch0_harq->rb_alloc); + conv_rballoc (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); - dlsch1_harq->rb_alloc[0] = dlsch0_harq->rb_alloc[0]; - dlsch0_harq->nb_rb = conv_nprb(rel8->resource_allocation_type, - rel8->resource_block_coding, - fp->N_RB_DL); - dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; + dlsch1_harq->rb_alloc[0] = dlsch0_harq->rb_alloc[0]; + dlsch0_harq->nb_rb = conv_nprb (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL); + dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; - AssertFatal(dlsch0_harq->nb_rb > 0,"nb_rb=0\n"); + AssertFatal (dlsch0_harq->nb_rb > 0, "nb_rb=0\n"); - dlsch0_harq->mcs = rel8->mcs_1; - dlsch1_harq->mcs = rel8->mcs_2; - dlsch0_harq->Qm = get_Qm(rel8->mcs_1); - dlsch1_harq->Qm = get_Qm(rel8->mcs_2); - dlsch0_harq->rvidx = rel8->redundancy_version_1; - dlsch1_harq->rvidx = rel8->redundancy_version_2; + dlsch0_harq->mcs = rel8->mcs_1; + dlsch1_harq->mcs = rel8->mcs_2; + dlsch0_harq->Qm = get_Qm (rel8->mcs_1); + dlsch1_harq->Qm = get_Qm (rel8->mcs_2); + dlsch0_harq->rvidx = rel8->redundancy_version_1; + dlsch1_harq->rvidx = rel8->redundancy_version_2; // assume both TBs are active - dlsch0_harq->Nl = 1; - dlsch1_harq->Nl = 1; + dlsch0_harq->Nl = 1; + dlsch1_harq->Nl = 1; dlsch0->active = 1; dlsch1->active = 1; - dlsch0->harq_mask |= (1<harq_process); - dlsch1->harq_mask |= (1<harq_process); + dlsch0->harq_mask |= (1 << rel8->harq_process); + dlsch1->harq_mask |= (1 << rel8->harq_process); // check if either TB is disabled (see 36-213 V11.3 Section ) if ((dlsch0_harq->rvidx == 1) && (dlsch0_harq->mcs == 0)) { dlsch0->active = 0; - dlsch0->harq_mask &= ~(1<harq_process); + dlsch0->harq_mask &= ~(1 << rel8->harq_process); } if ((dlsch1_harq->rvidx == 1) && (dlsch1_harq->mcs == 0)) { dlsch1->active = 0; - dlsch1->harq_mask &= ~(1<harq_process); + dlsch1->harq_mask &= ~(1 << rel8->harq_process); } - - // dlsch0_harq->dl_power_off = 0; - // dlsch1_harq->dl_power_off = 0; + // dlsch0_harq->dl_power_off = 0; + // dlsch1_harq->dl_power_off = 0; if (fp->nb_antenna_ports_eNB == 2) { - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][dlsch0_harq->nb_rb-1]; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][dlsch0_harq->nb_rb - 1]; - if ((dlsch0->active==1) && (dlsch1->active==1)) { + if ((dlsch0->active == 1) && (dlsch1->active == 1)) { dlsch0_harq->mimo_mode = LARGE_CDD; dlsch1_harq->mimo_mode = LARGE_CDD; dlsch0_harq->dl_power_off = 1; dlsch1_harq->dl_power_off = 1; } else { - dlsch0_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->mimo_mode = ALAMOUTI; + dlsch0_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->mimo_mode = ALAMOUTI; } } else if (fp->nb_antenna_ports_eNB == 4) { // 4 antenna case - if ((dlsch0->active==1) && (dlsch1->active==1)) { + if ((dlsch0->active == 1) && (dlsch1->active == 1)) { switch (rel8->precoding_information) { - case 0: // one layer per transport block - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; + case 0: // one layer per transport block + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; dlsch0_harq->dl_power_off = 1; dlsch1_harq->dl_power_off = 1; break; - case 1: // one-layers on TB 0, two on TB 1 - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->Nl = 2; - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][(dlsch1_harq->nb_rb<<1)-1]; + case 1: // one-layers on TB 0, two on TB 1 + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->Nl = 2; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][(dlsch1_harq->nb_rb << 1) - 1]; dlsch0_harq->dl_power_off = 1; dlsch1_harq->dl_power_off = 1; break; - case 2: // two-layers on TB 0, two on TB 1 - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->Nl = 2; + case 2: // two-layers on TB 0, two on TB 1 + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch0_harq->Nl = 2; dlsch0_harq->dl_power_off = 1; dlsch1_harq->dl_power_off = 1; if (fp->N_RB_DL <= 56) { - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][(dlsch0_harq->nb_rb<<1)-1]; - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][(dlsch1_harq->nb_rb<<1)-1]; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][(dlsch0_harq->nb_rb << 1) - 1]; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][(dlsch1_harq->nb_rb << 1) - 1]; } else { - LOG_E(PHY,"Add implementation of Table 7.1.7.2.2-1 for two-layer TBS conversion with N_RB_DL > 56\n"); + LOG_E (PHY, "Add implementation of Table 7.1.7.2.2-1 for two-layer TBS conversion with N_RB_DL > 56\n"); } break; - case 3: // - LOG_E(PHY,"Illegal value (3) for TPMI in Format 2A DCI\n"); + case 3: // + LOG_E (PHY, "Illegal value (3) for TPMI in Format 2A DCI\n"); break; } } else if (dlsch0->active == 1) { switch (rel8->precoding_information) { - case 0: // one layer per transport block - dlsch0_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->mimo_mode = ALAMOUTI; - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; + case 0: // one layer per transport block + dlsch0_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->mimo_mode = ALAMOUTI; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; break; - case 1: // two-layers on TB 0 - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->Nl = 2; + case 1: // two-layers on TB 0 + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch0_harq->Nl = 2; dlsch0_harq->dl_power_off = 1; - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][(dlsch0_harq->nb_rb<<1)-1]; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][(dlsch0_harq->nb_rb << 1) - 1]; break; - case 2: // two-layers on TB 0, two on TB 1 - case 3: // - LOG_E(PHY,"Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n",rel8->precoding_information); + case 2: // two-layers on TB 0, two on TB 1 + case 3: // + LOG_E (PHY, "Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n", rel8->precoding_information); break; } } else if (dlsch1->active == 1) { switch (rel8->precoding_information) { - case 0: // one layer per transport block - dlsch0_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][dlsch1_harq->nb_rb-1]; + case 0: // one layer per transport block + dlsch0_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][dlsch1_harq->nb_rb - 1]; break; - case 1: // two-layers on TB 0 - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->Nl = 2; + case 1: // two-layers on TB 0 + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->Nl = 2; dlsch1_harq->dl_power_off = 1; - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][(dlsch1_harq->nb_rb<<1)-1]; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][(dlsch1_harq->nb_rb << 1) - 1]; break; - case 2: // two-layers on TB 0, two on TB 1 - case 3: // - LOG_E(PHY,"Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n",rel8->precoding_information); + case 2: // two-layers on TB 0, two on TB 1 + case 3: // + LOG_E (PHY, "Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n", rel8->precoding_information); break; } } } else { - LOG_E(PHY,"Illegal number of antennas for eNB %d\n",fp->nb_antenna_ports_eNB); + LOG_E (PHY, "Illegal number of antennas for eNB %d\n", fp->nb_antenna_ports_eNB); } // reset HARQ process if this is the first transmission - if ((dlsch0->active==1) && (dlsch0_harq->round == 0)) + if ((dlsch0->active == 1) && (dlsch0_harq->round == 0)) dlsch0_harq->status = ACTIVE; - if ((dlsch1->active==1) && (dlsch1_harq->round == 0)) + if ((dlsch1->active == 1) && (dlsch1_harq->round == 0)) dlsch1_harq->status = ACTIVE; dlsch0->rnti = rel8->rnti; @@ -1708,147 +1717,147 @@ LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n" break; - + case NFAPI_DL_DCI_FORMAT_2: - dci_alloc->format = format2; + dci_alloc->format = format2; switch (fp->N_RB_DL) { case 6: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2_1_5MHz_2A_TDD_t; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - ((DCI2_1_5MHz_2A_TDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_1_5MHz_2A_TDD_t; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + ((DCI2_1_5MHz_2A_TDD_t *) dci_pdu)->tpmi = rel8->precoding_information; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2_1_5MHz_2A_FDD_t; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_1_5MHz_2A_FDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_1_5MHz_2A_FDD_t; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_1_5MHz_2A_FDD_t *) dci_pdu)->tpmi = rel8->precoding_information; // printf("FDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 25: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2_5MHz_2A_TDD_t; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_5MHz_2A_TDD_t; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->tpmi = rel8->precoding_information; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2_5MHz_2A_FDD_t; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_5MHz_2A_FDD_t; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->tpmi = rel8->precoding_information; // printf("FDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } break; case 50: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2_10MHz_2A_TDD_t; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_10MHz_2A_TDD_t; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->tpmi = rel8->precoding_information; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2_10MHz_2A_FDD_t; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_10MHz_2A_FDD_t; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->tpmi = rel8->precoding_information; } break; case 100: if (fp->frame_type == TDD) { - dci_alloc->dci_length = sizeof_DCI2_20MHz_2A_TDD_t; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->dai = rel8->downlink_assignment_index; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_20MHz_2A_TDD_t; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->dai = rel8->downlink_assignment_index; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->tpmi = rel8->precoding_information; // printf("TDD 1: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB); } else { - dci_alloc->dci_length = sizeof_DCI2_20MHz_2A_FDD_t; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rah = rel8->resource_allocation_type; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->mcs1 = rel8->mcs_1; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->mcs2 = rel8->mcs_2; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->ndi1 = rel8->new_data_indicator_1; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->ndi2 = rel8->new_data_indicator_2; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rballoc = rel8->resource_block_coding; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rv1 = rel8->redundancy_version_1; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rv2 = rel8->redundancy_version_2; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->TPC = rel8->tpc; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->harq_pid = rel8->harq_process; - ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; - ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->tpmi = rel8->precoding_information; + dci_alloc->dci_length = sizeof_DCI2_20MHz_2A_FDD_t; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rah = rel8->resource_allocation_type; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->mcs1 = rel8->mcs_1; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->mcs2 = rel8->mcs_2; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->ndi1 = rel8->new_data_indicator_1; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->ndi2 = rel8->new_data_indicator_2; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rballoc = rel8->resource_block_coding; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rv1 = rel8->redundancy_version_1; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rv2 = rel8->redundancy_version_2; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->TPC = rel8->tpc; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->harq_pid = rel8->harq_process; + ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->tb_swap = rel8->transport_block_to_codeword_swap_flag; + ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->tpmi = rel8->precoding_information; } break; } - AssertFatal(rel8->harq_process>=8, "Format 2_2A: harq_pid=%d >= 8\n", rel8->harq_process); + AssertFatal (rel8->harq_process >= 8, "Format 2_2A: harq_pid=%d >= 8\n", rel8->harq_process); // Flip the TB to codeword mapping as described in 5.3.3.1.5 of 36-212 V11.3.0 @@ -1857,235 +1866,224 @@ LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n" TB1_active = 1; if ((rel8->redundancy_version_1 == 1) && (rel8->mcs_1 == 0)) { - TB0_active=0; + TB0_active = 0; } if ((rel8->redundancy_version_2 == 1) && (rel8->mcs_2 == 0)) { - TB1_active=0; + TB1_active = 0; } #ifdef DEBUG_HARQ - printf("RV0 = %d, RV1 = %d. MCS0 = %d, MCS1=%d\n", rel8->redundancy_version_1, rel8->redundancy_version_2, rel8->mcs_1, rel8->mcs_2); + printf ("RV0 = %d, RV1 = %d. MCS0 = %d, MCS1=%d\n", rel8->redundancy_version_1, rel8->redundancy_version_2, rel8->mcs_1, rel8->mcs_2); #endif - if (TB0_active && TB1_active && rel8->transport_block_to_codeword_swap_flag==0) { + if (TB0_active && TB1_active && rel8->transport_block_to_codeword_swap_flag == 0) { dlsch0->active = 1; dlsch1->active = 1; - dlsch0->harq_mask |= (1<harq_process); - dlsch1->harq_mask |= (1<harq_process); + dlsch0->harq_mask |= (1 << rel8->harq_process); + dlsch1->harq_mask |= (1 << rel8->harq_process); dlsch0_harq = dlsch0->harq_processes[rel8->harq_process]; dlsch1_harq = dlsch1->harq_processes[rel8->harq_process]; dlsch0_harq->mcs = rel8->mcs_1; dlsch1_harq->mcs = rel8->mcs_2; - dlsch0_harq->Qm = get_Qm(rel8->mcs_1); - dlsch1_harq->Qm = get_Qm(rel8->mcs_2); + dlsch0_harq->Qm = get_Qm (rel8->mcs_1); + dlsch1_harq->Qm = get_Qm (rel8->mcs_2); dlsch0_harq->rvidx = rel8->redundancy_version_1; dlsch1_harq->rvidx = rel8->redundancy_version_2; dlsch0_harq->status = ACTIVE; dlsch1_harq->status = ACTIVE; - dlsch0_harq->codeword=0; - dlsch1_harq->codeword=1; + dlsch0_harq->codeword = 0; + dlsch1_harq->codeword = 1; #ifdef DEBUG_HARQ - printf("\n ENB: BOTH ACTIVE\n"); + printf ("\n ENB: BOTH ACTIVE\n"); #endif - } - else if (TB0_active && TB1_active && rel8->transport_block_to_codeword_swap_flag==1) { + } else if (TB0_active && TB1_active && rel8->transport_block_to_codeword_swap_flag == 1) { dlsch0 = eNB->dlsch[UE_id][1]; dlsch1 = eNB->dlsch[UE_id][0]; dlsch0->active = 1; dlsch1->active = 1; - dlsch0->harq_mask |= (1<harq_process); - dlsch1->harq_mask |= (1<harq_process); + dlsch0->harq_mask |= (1 << rel8->harq_process); + dlsch1->harq_mask |= (1 << rel8->harq_process); dlsch1_harq = dlsch1->harq_processes[rel8->harq_process]; dlsch0_harq->mcs = rel8->mcs_1; dlsch1_harq->mcs = rel8->mcs_2; - dlsch0_harq->Qm = get_Qm(rel8->mcs_1); - dlsch1_harq->Qm = get_Qm(rel8->mcs_2); + dlsch0_harq->Qm = get_Qm (rel8->mcs_1); + dlsch1_harq->Qm = get_Qm (rel8->mcs_2); dlsch0_harq->rvidx = rel8->redundancy_version_1; dlsch1_harq->rvidx = rel8->redundancy_version_2; dlsch0_harq->status = ACTIVE; dlsch1_harq->status = ACTIVE; - dlsch0_harq->codeword=1; - dlsch1_harq->codeword=0; - } - else if (TB0_active && (TB1_active==0)) { + dlsch0_harq->codeword = 1; + dlsch1_harq->codeword = 0; + } else if (TB0_active && (TB1_active == 0)) { dlsch0->active = 1; - dlsch0->harq_mask |= (1<harq_process); + dlsch0->harq_mask |= (1 << rel8->harq_process); dlsch0_harq = dlsch0->harq_processes[rel8->harq_process]; dlsch0_harq->mcs = rel8->mcs_1; - dlsch0_harq->Qm = get_Qm(rel8->mcs_1); + dlsch0_harq->Qm = get_Qm (rel8->mcs_1); dlsch0_harq->rvidx = rel8->redundancy_version_1; dlsch0_harq->status = ACTIVE; dlsch0_harq->codeword = 0; - dlsch1=NULL; + dlsch1 = NULL; dlsch1_harq = NULL; #ifdef DEBUG_HARQ - printf("\n ENB: TB1 is deactivated, retransmit TB0 transmit in TM6\n"); + printf ("\n ENB: TB1 is deactivated, retransmit TB0 transmit in TM6\n"); #endif - } - else if ((TB0_active==0) && TB1_active) { + } else if ((TB0_active == 0) && TB1_active) { dlsch1->active = 1; - dlsch1->harq_mask |= (1<harq_process); + dlsch1->harq_mask |= (1 << rel8->harq_process); dlsch1_harq = dlsch1->harq_processes[rel8->harq_process]; dlsch1_harq->mcs = rel8->mcs_2; - dlsch1_harq->Qm = get_Qm(rel8->mcs_2); + dlsch1_harq->Qm = get_Qm (rel8->mcs_2); dlsch1_harq->rvidx = rel8->redundancy_version_2; dlsch1_harq->status = ACTIVE; dlsch1_harq->codeword = 0; - dlsch0=NULL; + dlsch0 = NULL; dlsch0_harq = NULL; #ifdef DEBUG_HARQ - printf("\n ENB: TB0 is deactivated, retransmit TB1 transmit in TM6\n"); + printf ("\n ENB: TB0 is deactivated, retransmit TB1 transmit in TM6\n"); #endif } - if (dlsch0 != NULL){ + if (dlsch0 != NULL) { dlsch0->subframe_tx[subframe] = 1; dlsch0->harq_ids[subframe] = rel8->harq_process; } - if (dlsch1_harq != NULL){ + if (dlsch1_harq != NULL) { dlsch1->harq_ids[subframe] = rel8->harq_process; } - if (dlsch0 != NULL ){ - conv_rballoc(rel8->resource_allocation_type, - rel8->resource_block_coding, - fp->N_RB_DL, - dlsch0_harq->rb_alloc); + if (dlsch0 != NULL) { + conv_rballoc (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); - dlsch0_harq->nb_rb = conv_nprb(rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL); + dlsch0_harq->nb_rb = conv_nprb (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL); - if (dlsch1 != NULL){ + if (dlsch1 != NULL) { dlsch1_harq->rb_alloc[0] = dlsch0_harq->rb_alloc[0]; dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; } - } else if ((dlsch0 == NULL ) && (dlsch1 != NULL )){ - conv_rballoc(rel8->resource_allocation_type, - rel8->resource_block_coding, - fp->N_RB_DL, - dlsch1_harq->rb_alloc); + } else if ((dlsch0 == NULL) && (dlsch1 != NULL)) { + conv_rballoc (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL, dlsch1_harq->rb_alloc); - dlsch1_harq->nb_rb = conv_nprb(rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL); + dlsch1_harq->nb_rb = conv_nprb (rel8->resource_allocation_type, rel8->resource_block_coding, fp->N_RB_DL); } - // assume both TBs are active if (dlsch0_harq != NULL) - dlsch0_harq->Nl = 1; + dlsch0_harq->Nl = 1; if (dlsch1_harq != NULL) - dlsch1_harq->Nl = 1; + dlsch1_harq->Nl = 1; // check if either TB is disabled (see 36-213 V11.3 Section ) if (fp->nb_antenna_ports_eNB == 2) { - if ((dlsch0 != NULL) && (dlsch1 != NULL)) { //two CW active + if ((dlsch0 != NULL) && (dlsch1 != NULL)) { //two CW active dlsch0_harq->dl_power_off = 1; dlsch1_harq->dl_power_off = 1; - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][dlsch1_harq->nb_rb-1]; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][dlsch1_harq->nb_rb - 1]; switch (rel8->precoding_information) { case 0: - dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; - dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; - dlsch0_harq->pmi_alloc = pmi_extend(fp,0,1); - dlsch1_harq->pmi_alloc = pmi_extend(fp,0,1); + dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; + dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; + dlsch0_harq->pmi_alloc = pmi_extend (fp, 0, 1); + dlsch1_harq->pmi_alloc = pmi_extend (fp, 0, 1); break; case 1: - dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; - dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; - dlsch0_harq->pmi_alloc = pmi_extend(fp,1,1); - dlsch0_harq->pmi_alloc = pmi_extend(fp,1,1); + dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; + dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; + dlsch0_harq->pmi_alloc = pmi_extend (fp, 1, 1); + dlsch0_harq->pmi_alloc = pmi_extend (fp, 1, 1); break; - case 2: // PUSCH precoding - dlsch0_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; - dlsch0_harq->pmi_alloc = DL_pmi_single; - dlsch1_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; - dlsch1_harq->pmi_alloc = DL_pmi_single; + case 2: // PUSCH precoding + dlsch0_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; + dlsch0_harq->pmi_alloc = DL_pmi_single; + dlsch1_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; + dlsch1_harq->pmi_alloc = DL_pmi_single; break; default: break; } - } else if ((dlsch0 != NULL) && (dlsch1 == NULL)) { // only CW 0 active + } else if ((dlsch0 != NULL) && (dlsch1 == NULL)) { // only CW 0 active dlsch0_harq->dl_power_off = 1; - dlsch0_harq->TBS= TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; switch (rel8->precoding_information) { - case 0 : - dlsch0_harq->mimo_mode = ALAMOUTI; + case 0: + dlsch0_harq->mimo_mode = ALAMOUTI; break; case 1: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING11; - dlsch0_harq->pmi_alloc = pmi_extend(fp,0,0); + dlsch0_harq->mimo_mode = UNIFORM_PRECODING11; + dlsch0_harq->pmi_alloc = pmi_extend (fp, 0, 0); break; case 2: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING1m1; - dlsch0_harq->pmi_alloc = pmi_extend(fp,1,0); + dlsch0_harq->mimo_mode = UNIFORM_PRECODING1m1; + dlsch0_harq->pmi_alloc = pmi_extend (fp, 1, 0); break; case 3: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING1j; - dlsch0_harq->pmi_alloc = pmi_extend(fp,2,0); + dlsch0_harq->mimo_mode = UNIFORM_PRECODING1j; + dlsch0_harq->pmi_alloc = pmi_extend (fp, 2, 0); break; case 4: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING1mj; - dlsch0_harq->pmi_alloc = pmi_extend(fp,3,0); + dlsch0_harq->mimo_mode = UNIFORM_PRECODING1mj; + dlsch0_harq->pmi_alloc = pmi_extend (fp, 3, 0); break; case 5: - dlsch0_harq->mimo_mode = PUSCH_PRECODING0; - dlsch0_harq->pmi_alloc = DL_pmi_single; + dlsch0_harq->mimo_mode = PUSCH_PRECODING0; + dlsch0_harq->pmi_alloc = DL_pmi_single; break; case 6: - dlsch0_harq->mimo_mode = PUSCH_PRECODING1; - dlsch0_harq->pmi_alloc = DL_pmi_single; + dlsch0_harq->mimo_mode = PUSCH_PRECODING1; + dlsch0_harq->pmi_alloc = DL_pmi_single; break; } - } else if ((dlsch0 == NULL) && (dlsch1 != NULL)) { - dlsch1_harq->dl_power_off = 1; - dlsch1_harq->TBS= TBStable[get_I_TBS(dlsch1_harq->mcs)][dlsch1_harq->nb_rb-1]; - switch (rel8->precoding_information) { - case 0 : - dlsch1_harq->mimo_mode = ALAMOUTI; - break; - case 1: - dlsch1_harq->mimo_mode = UNIFORM_PRECODING11; - dlsch1_harq->pmi_alloc = pmi_extend(fp,0,0); - break; - case 2: - dlsch1_harq->mimo_mode = UNIFORM_PRECODING1m1; - dlsch1_harq->pmi_alloc = pmi_extend(fp,1,0); - break; - case 3: - dlsch1_harq->mimo_mode = UNIFORM_PRECODING1j; - dlsch1_harq->pmi_alloc = pmi_extend(fp,2,0); - break; - case 4: - dlsch1_harq->mimo_mode = UNIFORM_PRECODING1mj; - dlsch1_harq->pmi_alloc = pmi_extend(fp,3,0); - break; - case 5: - dlsch1_harq->mimo_mode = PUSCH_PRECODING0; - dlsch1_harq->pmi_alloc = DL_pmi_single; - break; - case 6: - dlsch1_harq->mimo_mode = PUSCH_PRECODING1; - dlsch1_harq->pmi_alloc = DL_pmi_single; - break; - } + } else if ((dlsch0 == NULL) && (dlsch1 != NULL)) { + dlsch1_harq->dl_power_off = 1; + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][dlsch1_harq->nb_rb - 1]; + switch (rel8->precoding_information) { + case 0: + dlsch1_harq->mimo_mode = ALAMOUTI; + break; + case 1: + dlsch1_harq->mimo_mode = UNIFORM_PRECODING11; + dlsch1_harq->pmi_alloc = pmi_extend (fp, 0, 0); + break; + case 2: + dlsch1_harq->mimo_mode = UNIFORM_PRECODING1m1; + dlsch1_harq->pmi_alloc = pmi_extend (fp, 1, 0); + break; + case 3: + dlsch1_harq->mimo_mode = UNIFORM_PRECODING1j; + dlsch1_harq->pmi_alloc = pmi_extend (fp, 2, 0); + break; + case 4: + dlsch1_harq->mimo_mode = UNIFORM_PRECODING1mj; + dlsch1_harq->pmi_alloc = pmi_extend (fp, 3, 0); + break; + case 5: + dlsch1_harq->mimo_mode = PUSCH_PRECODING0; + dlsch1_harq->pmi_alloc = DL_pmi_single; + break; + case 6: + dlsch1_harq->mimo_mode = PUSCH_PRECODING1; + dlsch1_harq->pmi_alloc = DL_pmi_single; + break; } + } } else if (fp->nb_antenna_ports_eNB == 4) { // fill in later } - // reset HARQ process if this is the first transmission - /* if (dlsch0_harq->round == 0) - dlsch0_harq->status = ACTIVE; + /* if (dlsch0_harq->round == 0) + dlsch0_harq->status = ACTIVE; - if (dlsch1_harq->round == 0) - dlsch1_harq->status = ACTIVE;*/ + if (dlsch1_harq->round == 0) + dlsch1_harq->status = ACTIVE; */ if (dlsch0_harq != NULL) dlsch0->rnti = rel8->rnti; if (dlsch1 != NULL) @@ -2095,285 +2093,281 @@ LOG_D(PHY,"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d) rnti type %d\n" } if (dlsch0_harq) { - dlsch0_harq->frame = proc->frame_tx; + dlsch0_harq->frame = proc->frame_tx; dlsch0_harq->subframe = subframe; } if (dlsch1_harq) { - dlsch1_harq->frame = proc->frame_tx; + dlsch1_harq->frame = proc->frame_tx; dlsch1_harq->subframe = subframe; } - #ifdef DEBUG_DCI if (dlsch0) { - printf("dlsch0 eNB: dlsch0 %p\n",dlsch0); - printf("dlsch0 eNB: rnti %x\n",dlsch0->rnti); - printf("dlsch0 eNB: NBRB %d\n",dlsch0_harq->nb_rb); - printf("dlsch0 eNB: rballoc %x\n",dlsch0_harq->rb_alloc[0]); - printf("dlsch0 eNB: harq_pid %d\n",harq_pid); - printf("dlsch0 eNB: round %d\n",dlsch0_harq->round); - printf("dlsch0 eNB: rvidx %d\n",dlsch0_harq->rvidx); - printf("dlsch0 eNB: TBS %d (NPRB %d)\n",dlsch0_harq->TBS,NPRB); - printf("dlsch0 eNB: mcs %d\n",dlsch0_harq->mcs); - printf("dlsch0 eNB: tpmi %d\n",rel8->precoding_information); - printf("dlsch0 eNB: mimo_mode %d\n",dlsch0_harq->mimo_mode); + printf ("dlsch0 eNB: dlsch0 %p\n", dlsch0); + printf ("dlsch0 eNB: rnti %x\n", dlsch0->rnti); + printf ("dlsch0 eNB: NBRB %d\n", dlsch0_harq->nb_rb); + printf ("dlsch0 eNB: rballoc %x\n", dlsch0_harq->rb_alloc[0]); + printf ("dlsch0 eNB: harq_pid %d\n", harq_pid); + printf ("dlsch0 eNB: round %d\n", dlsch0_harq->round); + printf ("dlsch0 eNB: rvidx %d\n", dlsch0_harq->rvidx); + printf ("dlsch0 eNB: TBS %d (NPRB %d)\n", dlsch0_harq->TBS, NPRB); + printf ("dlsch0 eNB: mcs %d\n", dlsch0_harq->mcs); + printf ("dlsch0 eNB: tpmi %d\n", rel8->precoding_information); + printf ("dlsch0 eNB: mimo_mode %d\n", dlsch0_harq->mimo_mode); } - if (dlsch1) { - printf("dlsch1 eNB: dlsch1 %p\n",dlsch1); - printf("dlsch1 eNB: rnti %x\n",dlsch1->rnti); - printf("dlsch1 eNB: NBRB %d\n",dlsch1_harq->nb_rb); - printf("dlsch1 eNB: rballoc %x\n",dlsch1_harq->rb_alloc[0]); - printf("dlsch1 eNB: harq_pid %d\n",harq_pid); - printf("dlsch1 eNB: round %d\n",dlsch1_harq->round); - printf("dlsch1 eNB: rvidx %d\n",dlsch1_harq->rvidx); - printf("dlsch1 eNB: TBS %d (NPRB %d)\n",dlsch1_harq->TBS,NPRB); - printf("dlsch1 eNB: mcs %d\n",dlsch1_harq->mcs); - printf("dlsch1 eNB: tpmi %d\n",rel8->precoding_information); - printf("dlsch1 eNB: mimo_mode %d\n",dlsch1_harq->mimo_mode); + if (dlsch1) { + printf ("dlsch1 eNB: dlsch1 %p\n", dlsch1); + printf ("dlsch1 eNB: rnti %x\n", dlsch1->rnti); + printf ("dlsch1 eNB: NBRB %d\n", dlsch1_harq->nb_rb); + printf ("dlsch1 eNB: rballoc %x\n", dlsch1_harq->rb_alloc[0]); + printf ("dlsch1 eNB: harq_pid %d\n", harq_pid); + printf ("dlsch1 eNB: round %d\n", dlsch1_harq->round); + printf ("dlsch1 eNB: rvidx %d\n", dlsch1_harq->rvidx); + printf ("dlsch1 eNB: TBS %d (NPRB %d)\n", dlsch1_harq->TBS, NPRB); + printf ("dlsch1 eNB: mcs %d\n", dlsch1_harq->mcs); + printf ("dlsch1 eNB: tpmi %d\n", rel8->precoding_information); + printf ("dlsch1 eNB: mimo_mode %d\n", dlsch1_harq->mimo_mode); } - #endif - + #if T_TRACER if (dlsch0->active) - T(T_ENB_PHY_DLSCH_UE_DCI, T_INT(0), T_INT(proc->frame_tx), T_INT(proc->subframe_tx), - T_INT(rel8->rnti), T_INT(rel8->dci_format), T_INT(rel8->harq_process), - T_INT(rel8->mcs_1), T_INT(dlsch0_harq->TBS)); + T (T_ENB_PHY_DLSCH_UE_DCI, T_INT (0), T_INT (proc->frame_tx), T_INT (proc->subframe_tx), + T_INT (rel8->rnti), T_INT (rel8->dci_format), T_INT (rel8->harq_process), T_INT (rel8->mcs_1), T_INT (dlsch0_harq->TBS)); #endif } -void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *dci_alloc,nfapi_dl_config_mpdcch_pdu *pdu) { +void +fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci_alloc, nfapi_dl_config_mpdcch_pdu * pdu) +{ LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - uint8_t *dci_pdu = &dci_alloc->dci_pdu[0]; + uint8_t *dci_pdu = &dci_alloc->dci_pdu[0]; nfapi_dl_config_mpdcch_pdu_rel13_t *rel13 = &pdu->mpdcch_pdu_rel13; - LTE_eNB_DLSCH_t *dlsch0=NULL; - LTE_DL_eNB_HARQ_t *dlsch0_harq=NULL; - int UE_id; - int subframe = proc->subframe_tx; + LTE_eNB_DLSCH_t *dlsch0 = NULL; + LTE_DL_eNB_HARQ_t *dlsch0_harq = NULL; + int UE_id; + int subframe = proc->subframe_tx; + int frame = proc->frame_tx; - dci_alloc->firstCCE = rel13->ecce_index; - dci_alloc->L = rel13->aggregation_level; - dci_alloc->rnti = rel13->rnti; - dci_alloc->harq_pid = rel13->harq_process; - dci_alloc->narrowband = rel13->mpdcch_narrow_band; - dci_alloc->number_of_prb_pairs = rel13->number_of_prb_pairs; - dci_alloc->resource_block_assignment = rel13->resource_block_assignment; - dci_alloc->transmission_type = rel13->mpdcch_tansmission_type; - dci_alloc->start_symbol = rel13->start_symbol; - dci_alloc->ce_mode = rel13->ce_mode; - dci_alloc->dmrs_scrambling_init = rel13->drms_scrambling_init; - dci_alloc->i0 = rel13->initial_transmission_sf_io; + dci_alloc->firstCCE = rel13->ecce_index; + dci_alloc->L = rel13->aggregation_level; + dci_alloc->rnti = rel13->rnti; + dci_alloc->harq_pid = rel13->harq_process; + dci_alloc->narrowband = rel13->mpdcch_narrow_band; + dci_alloc->number_of_prb_pairs = rel13->number_of_prb_pairs; + dci_alloc->resource_block_assignment = rel13->resource_block_assignment; + dci_alloc->transmission_type = rel13->mpdcch_tansmission_type; + dci_alloc->start_symbol = rel13->start_symbol; + dci_alloc->ce_mode = rel13->ce_mode; + dci_alloc->dmrs_scrambling_init = rel13->drms_scrambling_init; + dci_alloc->i0 = rel13->initial_transmission_sf_io; - dci_alloc->ra_flag = 0; - if (rel13->rnti_type == 2 ) dci_alloc->ra_flag = 1; + dci_alloc->ra_flag = 0; + if (rel13->rnti_type == 2) + dci_alloc->ra_flag = 1; - UE_id = find_dlsch(rel13->rnti,eNB,SEARCH_EXIST_OR_FREE); - AssertFatal(UE_id!=-1,"no free or exiting dlsch_context\n"); - AssertFatal(UE_id= %d(NUMBER_OF_UE_MAX)\n",UE_id,NUMBER_OF_UE_MAX); + UE_id = find_dlsch (rel13->rnti, eNB, SEARCH_EXIST_OR_FREE); + AssertFatal (UE_id != -1, "no free or exiting dlsch_context\n"); + AssertFatal (UE_id < NUMBER_OF_UE_MAX, "returned UE_id %d >= %d(NUMBER_OF_UE_MAX)\n", UE_id, NUMBER_OF_UE_MAX); dlsch0 = eNB->dlsch[UE_id][0]; - dlsch0_harq = dlsch0->harq_processes[rel13->harq_process]; + dlsch0_harq = dlsch0->harq_processes[rel13->harq_process]; - AssertFatal(fp->frame_type==FDD,"TDD is not supported yet for eMTC\n"); - AssertFatal(fp->N_RB_DL==25 || fp->N_RB_DL==50 ||fp->N_RB_DL==100, - "eMTC only with N_RB_DL = 25,50,100\n"); + AssertFatal (fp->frame_type == FDD, "TDD is not supported yet for eMTC\n"); + AssertFatal (fp->N_RB_DL == 25 || fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "eMTC only with N_RB_DL = 25,50,100\n"); switch (rel13->dci_format) { - case 10: // Format 6-1A - dci_alloc->format = format6_1A; - dlsch0->active = 1; + case 10: // Format 6-1A + dci_alloc->format = format6_1A; + dlsch0->active = 1; switch (fp->N_RB_DL) { case 25: - dci_alloc->dci_length = sizeof_DCI6_1A_5MHz_t; - ((DCI6_1A_5MHz_t *)dci_pdu)->type = 1; - ((DCI6_1A_5MHz_t *)dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; - ((DCI6_1A_5MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1A_5MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_1A_5MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_1A_5MHz_t *)dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_1A_5MHz_t *)dci_pdu)->ndi = rel13->new_data_indicator; - ((DCI6_1A_5MHz_t *)dci_pdu)->rv = rel13->redundancy_version; - ((DCI6_1A_5MHz_t *)dci_pdu)->TPC = rel13->tpc; - ((DCI6_1A_5MHz_t *)dci_pdu)->srs_req = rel13->srs_request; - ((DCI6_1A_5MHz_t *)dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1A_5MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; - + dci_alloc->dci_length = sizeof_DCI6_1A_5MHz_t; + ((DCI6_1A_5MHz_t *) dci_pdu)->type = 1; + ((DCI6_1A_5MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; + ((DCI6_1A_5MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1A_5MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_1A_5MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1A_5MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_1A_5MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; + ((DCI6_1A_5MHz_t *) dci_pdu)->rv = rel13->redundancy_version; + ((DCI6_1A_5MHz_t *) dci_pdu)->TPC = rel13->tpc; + ((DCI6_1A_5MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_1A_5MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; + ((DCI6_1A_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + break; case 50: - dci_alloc->dci_length = sizeof_DCI6_1A_10MHz_t; - ((DCI6_1A_10MHz_t *)dci_pdu)->type = 1; - ((DCI6_1A_10MHz_t *)dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; - ((DCI6_1A_10MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1A_10MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_1A_10MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_1A_10MHz_t *)dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_1A_10MHz_t *)dci_pdu)->ndi = rel13->new_data_indicator; - ((DCI6_1A_10MHz_t *)dci_pdu)->rv = rel13->redundancy_version; - ((DCI6_1A_10MHz_t *)dci_pdu)->TPC = rel13->tpc; - ((DCI6_1A_10MHz_t *)dci_pdu)->srs_req = rel13->srs_request; - ((DCI6_1A_10MHz_t *)dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1A_10MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_1A_10MHz_t; + ((DCI6_1A_10MHz_t *) dci_pdu)->type = 1; + ((DCI6_1A_10MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; + ((DCI6_1A_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1A_10MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_1A_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_1A_10MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; + ((DCI6_1A_10MHz_t *) dci_pdu)->rv = rel13->redundancy_version; + ((DCI6_1A_10MHz_t *) dci_pdu)->TPC = rel13->tpc; + ((DCI6_1A_10MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_1A_10MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; + ((DCI6_1A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; break; case 100: - dci_alloc->dci_length = sizeof_DCI6_1A_20MHz_t; - ((DCI6_1A_20MHz_t *)dci_pdu)->type = 1; - ((DCI6_1A_20MHz_t *)dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; - ((DCI6_1A_20MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1A_20MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_1A_20MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_1A_20MHz_t *)dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_1A_20MHz_t *)dci_pdu)->ndi = rel13->new_data_indicator; - ((DCI6_1A_20MHz_t *)dci_pdu)->rv = rel13->redundancy_version; - ((DCI6_1A_20MHz_t *)dci_pdu)->TPC = rel13->tpc; - ((DCI6_1A_20MHz_t *)dci_pdu)->srs_req = rel13->srs_request; - ((DCI6_1A_20MHz_t *)dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1A_20MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_1A_20MHz_t; + ((DCI6_1A_20MHz_t *) dci_pdu)->type = 1; + ((DCI6_1A_20MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; + ((DCI6_1A_20MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1A_20MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_1A_20MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1A_20MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_1A_20MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; + ((DCI6_1A_20MHz_t *) dci_pdu)->rv = rel13->redundancy_version; + ((DCI6_1A_20MHz_t *) dci_pdu)->TPC = rel13->tpc; + ((DCI6_1A_20MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_1A_20MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; + ((DCI6_1A_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; break; } break; - case 11: // Format 6-1B - dci_alloc->format = format6_1B; - dlsch0->active = 1; + case 11: // Format 6-1B + dci_alloc->format = format6_1B; + dlsch0->active = 1; switch (fp->N_RB_DL) { case 25: - dci_alloc->dci_length = sizeof_DCI6_1B_5MHz_t; - ((DCI6_1B_5MHz_t *)dci_pdu)->type = 1; - ((DCI6_1B_5MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1B_5MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_1B_5MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_1B_5MHz_t *)dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_1B_5MHz_t *)dci_pdu)->ndi = rel13->new_data_indicator; - ((DCI6_1B_5MHz_t *)dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1B_5MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; - + dci_alloc->dci_length = sizeof_DCI6_1B_5MHz_t; + ((DCI6_1B_5MHz_t *) dci_pdu)->type = 1; + ((DCI6_1B_5MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1B_5MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_1B_5MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1B_5MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_1B_5MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; + ((DCI6_1B_5MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; + ((DCI6_1B_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + break; case 50: - dci_alloc->dci_length = sizeof_DCI6_1B_10MHz_t; - ((DCI6_1B_10MHz_t *)dci_pdu)->type = 1; - ((DCI6_1B_10MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1B_10MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_1B_10MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_1B_10MHz_t *)dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_1B_10MHz_t *)dci_pdu)->ndi = rel13->new_data_indicator; - ((DCI6_1B_10MHz_t *)dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1B_10MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_1B_10MHz_t; + ((DCI6_1B_10MHz_t *) dci_pdu)->type = 1; + ((DCI6_1B_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1B_10MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_1B_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1B_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_1B_10MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; + ((DCI6_1B_10MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; + ((DCI6_1B_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; break; case 100: - dci_alloc->dci_length = sizeof_DCI6_1B_20MHz_t; - ((DCI6_1B_20MHz_t *)dci_pdu)->type = 1; - ((DCI6_1B_20MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1B_20MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_1B_20MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_1B_20MHz_t *)dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_1B_20MHz_t *)dci_pdu)->ndi = rel13->new_data_indicator; - ((DCI6_1B_20MHz_t *)dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1B_20MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_1B_20MHz_t; + ((DCI6_1B_20MHz_t *) dci_pdu)->type = 1; + ((DCI6_1B_20MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1B_20MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_1B_20MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1B_20MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_1B_20MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; + ((DCI6_1B_20MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; + ((DCI6_1B_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; break; } - case 12: // Format 6-2 - dci_alloc->format = format6_2; - dlsch0->active = 1; + case 12: // Format 6-2 + dci_alloc->format = format6_2; + dlsch0->active = 1; switch (fp->N_RB_DL) { case 25: - dci_alloc->dci_length = sizeof_DCI6_2_5MHz_t; - if (rel13->paging_direct_indication_differentiation_flag==0) { - ((DCI6_2_di_5MHz_t *)dci_pdu)->type = 0; - ((DCI6_2_di_5MHz_t *)dci_pdu)->di_info = rel13->direct_indication; - } - else { - ((DCI6_2_paging_5MHz_t *)dci_pdu)->type = 1; - ((DCI6_2_paging_5MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_2_paging_5MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_2_paging_5MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_2_paging_5MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_2_5MHz_t; + if (rel13->paging_direct_indication_differentiation_flag == 0) { + ((DCI6_2_di_5MHz_t *) dci_pdu)->type = 0; + ((DCI6_2_di_5MHz_t *) dci_pdu)->di_info = rel13->direct_indication; + } else { + ((DCI6_2_paging_5MHz_t *) dci_pdu)->type = 1; + ((DCI6_2_paging_5MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_2_paging_5MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_2_paging_5MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_2_paging_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; } - break; + break; case 50: - dci_alloc->dci_length = sizeof_DCI6_2_10MHz_t; - if (rel13->paging_direct_indication_differentiation_flag==0) { - ((DCI6_2_di_10MHz_t *)dci_pdu)->type = 0; - ((DCI6_2_di_10MHz_t *)dci_pdu)->di_info = rel13->direct_indication; - } - else { - ((DCI6_2_paging_10MHz_t *)dci_pdu)->type = 1; - ((DCI6_2_paging_10MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_2_paging_10MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_2_paging_10MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_2_paging_10MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_2_10MHz_t; + if (rel13->paging_direct_indication_differentiation_flag == 0) { + ((DCI6_2_di_10MHz_t *) dci_pdu)->type = 0; + ((DCI6_2_di_10MHz_t *) dci_pdu)->di_info = rel13->direct_indication; + } else { + ((DCI6_2_paging_10MHz_t *) dci_pdu)->type = 1; + ((DCI6_2_paging_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_2_paging_10MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_2_paging_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_2_paging_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; } - break; + break; case 100: - dci_alloc->dci_length = sizeof_DCI6_2_20MHz_t; - if (rel13->paging_direct_indication_differentiation_flag==0) { - ((DCI6_2_di_20MHz_t *)dci_pdu)->type = 0; - ((DCI6_2_di_20MHz_t *)dci_pdu)->di_info = rel13->direct_indication; - } - else { - ((DCI6_2_paging_20MHz_t *)dci_pdu)->type = 1; - ((DCI6_2_paging_20MHz_t *)dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_2_paging_20MHz_t *)dci_pdu)->mcs = rel13->mcs; - ((DCI6_2_paging_20MHz_t *)dci_pdu)->rep = (rel13->pdsch_reptition_levels-1); - ((DCI6_2_paging_20MHz_t *)dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number-1; + dci_alloc->dci_length = sizeof_DCI6_2_20MHz_t; + if (rel13->paging_direct_indication_differentiation_flag == 0) { + ((DCI6_2_di_20MHz_t *) dci_pdu)->type = 0; + ((DCI6_2_di_20MHz_t *) dci_pdu)->di_info = rel13->direct_indication; + } else { + ((DCI6_2_paging_20MHz_t *) dci_pdu)->type = 1; + ((DCI6_2_paging_20MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_2_paging_20MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_2_paging_20MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_2_paging_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; } break; } } - AssertFatal(rel13->harq_process<8, - "ERROR: Format 6_1A: harq_pid=%d >= 8\n", rel13->harq_process); - + AssertFatal (rel13->harq_process < 8, "ERROR: Format 6_1A: harq_pid=%d >= 8\n", rel13->harq_process); + dlsch0_harq = dlsch0->harq_processes[rel13->harq_process]; - dlsch0_harq->codeword=0; - + dlsch0_harq->codeword = 0; + // printf("DCI: Setting subframe_tx for subframe %d\n",subframe); - dlsch0->subframe_tx[subframe] = 1; - - conv_eMTC_rballoc(rel13->resource_block_coding, - fp->N_RB_DL, - dlsch0_harq->rb_alloc); - - dlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rel13->resource_block_coding&31]; // this is the 6PRB RIV - - - dlsch0_harq->rvidx = rel13->redundancy_version; - - dlsch0_harq->Nl = 1; + dlsch0->subframe_tx[(subframe + 2) % 10] = 1; + + conv_eMTC_rballoc (rel13->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); + + dlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rel13->resource_block_coding & 31]; // this is the 6PRB RIV + + + dlsch0_harq->rvidx = rel13->redundancy_version; + + dlsch0_harq->Nl = 1; // dlsch[0]->layer_index = 0; // if (beamforming_mode == 0) dlsch0_harq->mimo_mode = (fp->nb_antenna_ports_eNB == 1) ? SISO : ALAMOUTI; - //else if (beamforming_mode == 7) - // dlsch0_harq->mimo_mode = TM7; - //else - //LOG_E(PHY,"Invalid beamforming mode %dL\n", beamforming_mode); - + //else if (beamforming_mode == 7) + // dlsch0_harq->mimo_mode = TM7; + //else + //LOG_E(PHY,"Invalid beamforming mode %dL\n", beamforming_mode); + dlsch0_harq->dl_power_off = 1; - + dlsch0->active = 1; - dlsch0->harq_mask |= (1<harq_process); - - + dlsch0->harq_mask |= (1 << rel13->harq_process); + + if (dlsch0_harq->round == 0) { dlsch0_harq->status = ACTIVE; // printf("Setting DLSCH process %d to ACTIVE\n",rel8->harq_process); // MCS and TBS don't change across HARQ rounds - dlsch0_harq->mcs = rel13->mcs; - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; - + dlsch0_harq->mcs = rel13->mcs; + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; + } - - dlsch0->harq_ids[subframe] = rel13->harq_process; - - - + + dlsch0->harq_ids[(subframe + 2) % 10] = rel13->harq_process; + dlsch0_harq->frame = (subframe >= 8) ? ((frame + 1) & 1023) : frame; + dlsch0_harq->subframe = (subframe + 2) % 10; + + + dlsch0->rnti = rel13->rnti; @@ -2384,583 +2378,536 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d } -void fill_dci0(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc, - nfapi_hi_dci0_dci_pdu *pdu) +void +fill_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, DCI_ALLOC_t * dci_alloc, nfapi_hi_dci0_dci_pdu * pdu) { LTE_DL_FRAME_PARMS *frame_parms = &eNB->frame_parms; - uint32_t cqi_req = pdu->dci_pdu_rel8.cqi_csi_request; - uint32_t dai = pdu->dci_pdu_rel8.dl_assignment_index; - uint32_t cshift = pdu->dci_pdu_rel8.cyclic_shift_2_for_drms; - uint32_t TPC = pdu->dci_pdu_rel8.tpc; - uint32_t mcs = pdu->dci_pdu_rel8.mcs_1; - uint32_t hopping = pdu->dci_pdu_rel8.frequency_hopping_enabled_flag; - uint32_t rballoc = computeRIV(frame_parms->N_RB_DL, - pdu->dci_pdu_rel8.resource_block_start, - pdu->dci_pdu_rel8.number_of_resource_block); + uint32_t cqi_req = pdu->dci_pdu_rel8.cqi_csi_request; + uint32_t dai = pdu->dci_pdu_rel8.dl_assignment_index; + uint32_t cshift = pdu->dci_pdu_rel8.cyclic_shift_2_for_drms; + uint32_t TPC = pdu->dci_pdu_rel8.tpc; + uint32_t mcs = pdu->dci_pdu_rel8.mcs_1; + uint32_t hopping = pdu->dci_pdu_rel8.frequency_hopping_enabled_flag; + uint32_t rballoc = computeRIV (frame_parms->N_RB_DL, + pdu->dci_pdu_rel8.resource_block_start, + pdu->dci_pdu_rel8.number_of_resource_block); - uint32_t ndi = pdu->dci_pdu_rel8.new_data_indication_1; + uint32_t ndi = pdu->dci_pdu_rel8.new_data_indication_1; #ifdef T_TRACER - T(T_ENB_PHY_ULSCH_UE_DCI, T_INT(eNB->Mod_id), T_INT(proc->frame_tx), T_INT(proc->subframe_tx), - T_INT(pdu->dci_pdu_rel8.rnti), T_INT(((proc->frame_tx*10+proc->subframe_tx+4) % 8) /* TODO: correct harq pid */), - T_INT(mcs), T_INT(-1 /* TODO: remove round? */), - T_INT(pdu->dci_pdu_rel8.resource_block_start), - T_INT(pdu->dci_pdu_rel8.number_of_resource_block), - T_INT(get_TBS_UL(mcs, pdu->dci_pdu_rel8.number_of_resource_block) * 8), - T_INT(pdu->dci_pdu_rel8.aggregation_level), - T_INT(pdu->dci_pdu_rel8.cce_index)); + T (T_ENB_PHY_ULSCH_UE_DCI, T_INT (eNB->Mod_id), T_INT (proc->frame_tx), T_INT (proc->subframe_tx), + T_INT (pdu->dci_pdu_rel8.rnti), T_INT (((proc->frame_tx * 10 + proc->subframe_tx + 4) % 8) /* TODO: correct harq pid */ ), + T_INT (mcs), T_INT (-1 /* TODO: remove round? */ ), + T_INT (pdu->dci_pdu_rel8.resource_block_start), + T_INT (pdu->dci_pdu_rel8.number_of_resource_block), + T_INT (get_TBS_UL (mcs, pdu->dci_pdu_rel8.number_of_resource_block) * 8), T_INT (pdu->dci_pdu_rel8.aggregation_level), T_INT (pdu->dci_pdu_rel8.cce_index)); #endif - void *dci_pdu = (void*)dci_alloc->dci_pdu; + void *dci_pdu = (void *) dci_alloc->dci_pdu; - LOG_D(PHY,"Filling DCI0 with cqi %d, mcs %d, hopping %d, rballoc %x (%d,%d) ndi %d TPC %d cshift %d\n",cqi_req, - mcs,hopping,rballoc,pdu->dci_pdu_rel8.resource_block_start,pdu->dci_pdu_rel8.number_of_resource_block, - ndi,TPC,cshift); + LOG_D (PHY, "Filling DCI0 with cqi %d, mcs %d, hopping %d, rballoc %x (%d,%d) ndi %d TPC %d cshift %d\n", cqi_req, + mcs, hopping, rballoc, pdu->dci_pdu_rel8.resource_block_start, pdu->dci_pdu_rel8.number_of_resource_block, ndi, TPC, cshift); - dci_alloc->format = format0; + dci_alloc->format = format0; dci_alloc->firstCCE = pdu->dci_pdu_rel8.cce_index; - dci_alloc->L = pdu->dci_pdu_rel8.aggregation_level; - dci_alloc->rnti = pdu->dci_pdu_rel8.rnti; - dci_alloc->ra_flag = 0; + dci_alloc->L = pdu->dci_pdu_rel8.aggregation_level; + dci_alloc->rnti = pdu->dci_pdu_rel8.rnti; + dci_alloc->ra_flag = 0; switch (frame_parms->N_RB_DL) { case 6: if (frame_parms->frame_type == TDD) { - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->dai = dai; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->cshift = cshift; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->TPC = TPC; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->mcs = mcs; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->ndi = ndi; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->hopping = hopping; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->type = 0; - ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_1_5MHz_TDD_1_6_t; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->dai = dai; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->cshift = cshift; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->TPC = TPC; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->mcs = mcs; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->ndi = ndi; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->hopping = hopping; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->type = 0; + ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_1_5MHz_TDD_1_6_t; } else { - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->cshift = cshift; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->TPC = TPC; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->mcs = mcs; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->ndi = ndi; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->hopping = hopping; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->type = 0; - ((DCI0_1_5MHz_FDD_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_1_5MHz_FDD_t; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->cshift = cshift; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->TPC = TPC; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->mcs = mcs; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->ndi = ndi; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->hopping = hopping; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->type = 0; + ((DCI0_1_5MHz_FDD_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_1_5MHz_FDD_t; } - + break; - + case 25: if (frame_parms->frame_type == TDD) { - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->dai = dai; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cshift = cshift; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->TPC = TPC; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->mcs = mcs; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->ndi = ndi; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->hopping = hopping; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->type = 0; - ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_5MHz_TDD_1_6_t; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->dai = dai; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->cshift = cshift; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->TPC = TPC; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->mcs = mcs; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->ndi = ndi; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->hopping = hopping; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->type = 0; + ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_5MHz_TDD_1_6_t; } else { - ((DCI0_5MHz_FDD_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_5MHz_FDD_t *)dci_pdu)->cshift = cshift; - ((DCI0_5MHz_FDD_t *)dci_pdu)->TPC = TPC; - ((DCI0_5MHz_FDD_t *)dci_pdu)->mcs = mcs; - ((DCI0_5MHz_FDD_t *)dci_pdu)->ndi = ndi; - ((DCI0_5MHz_FDD_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_5MHz_FDD_t *)dci_pdu)->hopping = hopping; - ((DCI0_5MHz_FDD_t *)dci_pdu)->type = 0; - ((DCI0_5MHz_FDD_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_5MHz_FDD_t; + ((DCI0_5MHz_FDD_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_5MHz_FDD_t *) dci_pdu)->cshift = cshift; + ((DCI0_5MHz_FDD_t *) dci_pdu)->TPC = TPC; + ((DCI0_5MHz_FDD_t *) dci_pdu)->mcs = mcs; + ((DCI0_5MHz_FDD_t *) dci_pdu)->ndi = ndi; + ((DCI0_5MHz_FDD_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_5MHz_FDD_t *) dci_pdu)->hopping = hopping; + ((DCI0_5MHz_FDD_t *) dci_pdu)->type = 0; + ((DCI0_5MHz_FDD_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_5MHz_FDD_t; } - + break; - + case 50: if (frame_parms->frame_type == TDD) { - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->dai = dai; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->cshift = cshift; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->TPC = TPC; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->mcs = mcs; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->ndi = ndi; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->hopping = hopping; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->type = 0; - ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_10MHz_TDD_1_6_t; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->dai = dai; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->cshift = cshift; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->TPC = TPC; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->mcs = mcs; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->ndi = ndi; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->hopping = hopping; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->type = 0; + ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_10MHz_TDD_1_6_t; } else { - ((DCI0_10MHz_FDD_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_10MHz_FDD_t *)dci_pdu)->cshift = cshift; - ((DCI0_10MHz_FDD_t *)dci_pdu)->TPC = TPC; - ((DCI0_10MHz_FDD_t *)dci_pdu)->mcs = mcs; - ((DCI0_10MHz_FDD_t *)dci_pdu)->ndi = ndi; - ((DCI0_10MHz_FDD_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_10MHz_FDD_t *)dci_pdu)->hopping = hopping; - ((DCI0_10MHz_FDD_t *)dci_pdu)->type = 0; - ((DCI0_10MHz_FDD_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_10MHz_FDD_t; + ((DCI0_10MHz_FDD_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_10MHz_FDD_t *) dci_pdu)->cshift = cshift; + ((DCI0_10MHz_FDD_t *) dci_pdu)->TPC = TPC; + ((DCI0_10MHz_FDD_t *) dci_pdu)->mcs = mcs; + ((DCI0_10MHz_FDD_t *) dci_pdu)->ndi = ndi; + ((DCI0_10MHz_FDD_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_10MHz_FDD_t *) dci_pdu)->hopping = hopping; + ((DCI0_10MHz_FDD_t *) dci_pdu)->type = 0; + ((DCI0_10MHz_FDD_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_10MHz_FDD_t; } - + break; - + case 100: if (frame_parms->frame_type == TDD) { - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->dai = dai; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->cshift = cshift; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->TPC = TPC; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->mcs = mcs; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->ndi = ndi; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->hopping = hopping; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->type = 0; - ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->padding = 0; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->dai = dai; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->cshift = cshift; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->TPC = TPC; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->mcs = mcs; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->ndi = ndi; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->hopping = hopping; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->type = 0; + ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_20MHz_TDD_1_6_t; + dci_alloc->dci_length = sizeof_DCI0_20MHz_TDD_1_6_t; } else { - ((DCI0_20MHz_FDD_t *)dci_pdu)->cqi_req = cqi_req; - ((DCI0_20MHz_FDD_t *)dci_pdu)->cshift = cshift; - ((DCI0_20MHz_FDD_t *)dci_pdu)->TPC = TPC; - ((DCI0_20MHz_FDD_t *)dci_pdu)->mcs = mcs; - ((DCI0_20MHz_FDD_t *)dci_pdu)->ndi = ndi; - ((DCI0_20MHz_FDD_t *)dci_pdu)->rballoc = rballoc; - ((DCI0_20MHz_FDD_t *)dci_pdu)->hopping = hopping; - ((DCI0_20MHz_FDD_t *)dci_pdu)->type = 0; - ((DCI0_20MHz_FDD_t *)dci_pdu)->padding = 0; - dci_alloc->dci_length = sizeof_DCI0_20MHz_FDD_t; + ((DCI0_20MHz_FDD_t *) dci_pdu)->cqi_req = cqi_req; + ((DCI0_20MHz_FDD_t *) dci_pdu)->cshift = cshift; + ((DCI0_20MHz_FDD_t *) dci_pdu)->TPC = TPC; + ((DCI0_20MHz_FDD_t *) dci_pdu)->mcs = mcs; + ((DCI0_20MHz_FDD_t *) dci_pdu)->ndi = ndi; + ((DCI0_20MHz_FDD_t *) dci_pdu)->rballoc = rballoc; + ((DCI0_20MHz_FDD_t *) dci_pdu)->hopping = hopping; + ((DCI0_20MHz_FDD_t *) dci_pdu)->type = 0; + ((DCI0_20MHz_FDD_t *) dci_pdu)->padding = 0; + dci_alloc->dci_length = sizeof_DCI0_20MHz_FDD_t; } - - //printf("eNB: rb_alloc (20 MHz dci) %d\n",rballoc); - break; - + + //printf("eNB: rb_alloc (20 MHz dci) %d\n",rballoc); + break; + default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } -void fill_ulsch(PHY_VARS_eNB *eNB,nfapi_ul_config_ulsch_pdu *ulsch_pdu,int frame,int subframe) +void +fill_ulsch (PHY_VARS_eNB * eNB, nfapi_ul_config_ulsch_pdu * ulsch_pdu, int frame, int subframe) { - uint8_t harq_pid; - uint8_t UE_id; - boolean_t new_ulsch = (find_ulsch(ulsch_pdu->ulsch_pdu_rel8.rnti,eNB,SEARCH_EXIST)==-1) ? TRUE : FALSE; + uint8_t harq_pid; + uint8_t UE_id; + boolean_t new_ulsch = (find_ulsch (ulsch_pdu->ulsch_pdu_rel8.rnti, eNB, SEARCH_EXIST) == -1) ? TRUE : FALSE; - AssertFatal((UE_id=find_ulsch(ulsch_pdu->ulsch_pdu_rel8.rnti,eNB,SEARCH_EXIST_OR_FREE))>=0, - "No existing/free UE ULSCH for rnti %x\n",ulsch_pdu->ulsch_pdu_rel8.rnti); + AssertFatal ((UE_id = find_ulsch (ulsch_pdu->ulsch_pdu_rel8.rnti, eNB, SEARCH_EXIST_OR_FREE)) >= 0, "No existing/free UE ULSCH for rnti %x\n", ulsch_pdu->ulsch_pdu_rel8.rnti); - LTE_eNB_ULSCH_t *ulsch=eNB->ulsch[UE_id]; + LTE_eNB_ULSCH_t *ulsch = eNB->ulsch[UE_id]; LTE_DL_FRAME_PARMS *frame_parms = &eNB->frame_parms; - int use_srs = 0; + int use_srs = 0; harq_pid = ulsch_pdu->ulsch_pdu_rel8.harq_process_number; ulsch->harq_mask |= 1 << harq_pid; - ulsch->harq_processes[harq_pid]->frame = frame; - ulsch->harq_processes[harq_pid]->subframe = subframe; - ulsch->harq_processes[harq_pid]->handled = 0; + ulsch->harq_processes[harq_pid]->frame = frame; + ulsch->harq_processes[harq_pid]->subframe = subframe; + ulsch->harq_processes[harq_pid]->handled = 0; - ulsch->harq_processes[harq_pid]->first_rb = ulsch_pdu->ulsch_pdu_rel8.resource_block_start; - ulsch->harq_processes[harq_pid]->nb_rb = ulsch_pdu->ulsch_pdu_rel8.number_of_resource_blocks; + ulsch->harq_processes[harq_pid]->first_rb = ulsch_pdu->ulsch_pdu_rel8.resource_block_start; + ulsch->harq_processes[harq_pid]->nb_rb = ulsch_pdu->ulsch_pdu_rel8.number_of_resource_blocks; - AssertFatal(ulsch->harq_processes[harq_pid]->nb_rb>0,"nb_rb = 0\n"); + AssertFatal (ulsch->harq_processes[harq_pid]->nb_rb > 0, "nb_rb = 0\n"); - ulsch->harq_processes[harq_pid]->dci_alloc = 1; - ulsch->harq_processes[harq_pid]->rar_alloc = 0; - ulsch->harq_processes[harq_pid]->n_DMRS = ulsch_pdu->ulsch_pdu_rel8.cyclic_shift_2_for_drms; + ulsch->harq_processes[harq_pid]->dci_alloc = 1; + ulsch->harq_processes[harq_pid]->rar_alloc = 0; + ulsch->harq_processes[harq_pid]->n_DMRS = ulsch_pdu->ulsch_pdu_rel8.cyclic_shift_2_for_drms; - ulsch->harq_processes[harq_pid]->Nsymb_pusch = 12-(frame_parms->Ncp<<1)-(use_srs==0?0:1); - ulsch->harq_processes[harq_pid]->srs_active = use_srs; + ulsch->harq_processes[harq_pid]->Nsymb_pusch = 12 - (frame_parms->Ncp << 1) - (use_srs == 0 ? 0 : 1); + ulsch->harq_processes[harq_pid]->srs_active = use_srs; //Mapping of cyclic shift field in DCI format0 to n_DMRS2 (3GPP 36.211, Table 5.5.2.1.1-1) - if(ulsch->harq_processes[harq_pid]->n_DMRS == 0) + if (ulsch->harq_processes[harq_pid]->n_DMRS == 0) ulsch->harq_processes[harq_pid]->n_DMRS2 = 0; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 1) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 1) ulsch->harq_processes[harq_pid]->n_DMRS2 = 6; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 2) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 2) ulsch->harq_processes[harq_pid]->n_DMRS2 = 3; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 3) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 3) ulsch->harq_processes[harq_pid]->n_DMRS2 = 4; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 4) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 4) ulsch->harq_processes[harq_pid]->n_DMRS2 = 2; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 5) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 5) ulsch->harq_processes[harq_pid]->n_DMRS2 = 8; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 6) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 6) ulsch->harq_processes[harq_pid]->n_DMRS2 = 10; - else if(ulsch->harq_processes[harq_pid]->n_DMRS == 7) + else if (ulsch->harq_processes[harq_pid]->n_DMRS == 7) ulsch->harq_processes[harq_pid]->n_DMRS2 = 9; - LOG_D(PHY,"[eNB %d][PUSCH %d] Programming PUSCH with n_DMRS2 %d (cshift %d) for Frame %d, Subframe %d\n", - eNB->Mod_id,harq_pid,ulsch->harq_processes[harq_pid]->n_DMRS2,ulsch->harq_processes[harq_pid]->n_DMRS, - frame,subframe); + LOG_D (PHY, "[eNB %d][PUSCH %d] Programming PUSCH with n_DMRS2 %d (cshift %d) for Frame %d, Subframe %d\n", + eNB->Mod_id, harq_pid, ulsch->harq_processes[harq_pid]->n_DMRS2, ulsch->harq_processes[harq_pid]->n_DMRS, frame, subframe); ulsch->harq_processes[harq_pid]->rvidx = ulsch_pdu->ulsch_pdu_rel8.redundancy_version; - ulsch->harq_processes[harq_pid]->Qm = ulsch_pdu->ulsch_pdu_rel8.modulation_type; + ulsch->harq_processes[harq_pid]->Qm = ulsch_pdu->ulsch_pdu_rel8.modulation_type; // Set O_ACK to 0 by default, will be set of DLSCH is scheduled and needs to be - ulsch->harq_processes[harq_pid]->O_ACK = 0; + ulsch->harq_processes[harq_pid]->O_ACK = 0; - if ((ulsch->harq_processes[harq_pid]->status == SCH_IDLE) || - (ulsch->harq_processes[harq_pid]->ndi != ulsch_pdu->ulsch_pdu_rel8.new_data_indication) || - (new_ulsch == TRUE)){ - ulsch->harq_processes[harq_pid]->status = ACTIVE; + if ((ulsch->harq_processes[harq_pid]->status == SCH_IDLE) || (ulsch->harq_processes[harq_pid]->ndi != ulsch_pdu->ulsch_pdu_rel8.new_data_indication) || (new_ulsch == TRUE)) { + ulsch->harq_processes[harq_pid]->status = ACTIVE; - ulsch->harq_processes[harq_pid]->TBS = ulsch_pdu->ulsch_pdu_rel8.size<<3; + ulsch->harq_processes[harq_pid]->TBS = ulsch_pdu->ulsch_pdu_rel8.size << 3; - ulsch->harq_processes[harq_pid]->Msc_initial = 12*ulsch_pdu->ulsch_pdu_rel8.number_of_resource_blocks; + ulsch->harq_processes[harq_pid]->Msc_initial = 12 * ulsch_pdu->ulsch_pdu_rel8.number_of_resource_blocks; ulsch->harq_processes[harq_pid]->Nsymb_initial = ulsch->harq_processes[harq_pid]->Nsymb_pusch; - ulsch->harq_processes[harq_pid]->round = 0; - ulsch->harq_processes[harq_pid]->ndi = ulsch_pdu->ulsch_pdu_rel8.new_data_indication; + ulsch->harq_processes[harq_pid]->round = 0; + ulsch->harq_processes[harq_pid]->ndi = ulsch_pdu->ulsch_pdu_rel8.new_data_indication; // note here, the CQI bits need to be kept constant as in initial transmission // set to 0 in initial transmission, and don't touch them during retransmissions // will be set if MAC has activated ULSCH_CQI_RI_PDU or ULSCH_CQI_HARQ_RI_PDU - ulsch->harq_processes[harq_pid]->Or1 = 0; - ulsch->harq_processes[harq_pid]->Or2 = 0; - } - else ulsch->harq_processes[harq_pid]->round++; + ulsch->harq_processes[harq_pid]->Or1 = 0; + ulsch->harq_processes[harq_pid]->Or2 = 0; + } else + ulsch->harq_processes[harq_pid]->round++; ulsch->rnti = ulsch_pdu->ulsch_pdu_rel8.rnti; - LOG_D(PHY,"Filling ULSCH %x (UE_id %d) (new_ulsch %d) for Frame %d, Subframe %d : harq_pid %d, first_rb %d, nb_rb %d, rvidx %d, Qm %d, TBS %d, round %d \n", - ulsch->rnti, - UE_id, - new_ulsch, - frame, - subframe, - harq_pid, - ulsch->harq_processes[harq_pid]->first_rb, - ulsch->harq_processes[harq_pid]->nb_rb, - ulsch->harq_processes[harq_pid]->rvidx, - ulsch->harq_processes[harq_pid]->Qm, - ulsch->harq_processes[harq_pid]->TBS, - ulsch->harq_processes[harq_pid]->round); + LOG_D (PHY, "Filling ULSCH %x (UE_id %d) (new_ulsch %d) for Frame %d, Subframe %d : harq_pid %d, first_rb %d, nb_rb %d, rvidx %d, Qm %d, TBS %d, round %d \n", + ulsch->rnti, + UE_id, + new_ulsch, + frame, + subframe, + harq_pid, + ulsch->harq_processes[harq_pid]->first_rb, + ulsch->harq_processes[harq_pid]->nb_rb, + ulsch->harq_processes[harq_pid]->rvidx, ulsch->harq_processes[harq_pid]->Qm, ulsch->harq_processes[harq_pid]->TBS, ulsch->harq_processes[harq_pid]->round); } -int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci) +int +dump_dci (LTE_DL_FRAME_PARMS * frame_parms, DCI_ALLOC_t * dci) { switch (dci->format) { - case format0: // This is an UL SCH allocation so nothing here, inform MAC - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config>0)) - switch(frame_parms->N_RB_DL) { + case format0: // This is an UL SCH allocation so nothing here, inform MAC + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config > 0)) + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format0 (TDD, 1.5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai, - ((DCI0_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (TDD, 1.5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC, + ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cshift, ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai, ((DCI0_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cqi_req); break; case 25: - LOG_D(PHY,"DCI format0 (TDD1-6, 5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai, - ((DCI0_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (TDD1-6, 5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC, + ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cshift, ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai, ((DCI0_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cqi_req); break; case 50: - LOG_D(PHY,"DCI format0 (TDD1-6, 10MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai, - ((DCI0_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (TDD1-6, 10MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC, + ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cshift, ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai, ((DCI0_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cqi_req); break; case 100: - LOG_D(PHY,"DCI format0 (TDD1-6, 20MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai, - ((DCI0_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (TDD1-6, 20MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, dai %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC, + ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cshift, ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai, ((DCI0_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->cqi_req); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; - } - else if (frame_parms->frame_type == FDD) - switch(frame_parms->N_RB_DL) { + } else if (frame_parms->frame_type == FDD) + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format0 (FDD, 1.5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_1_5MHz_FDD_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (FDD, 1.5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->TPC, ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->cshift, ((DCI0_1_5MHz_FDD_t *) & dci->dci_pdu[0])->cqi_req); break; case 25: - LOG_D(PHY,"DCI format0 (FDD, 5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_5MHz_FDD_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (FDD, 5MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->TPC, ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->cshift, ((DCI0_5MHz_FDD_t *) & dci->dci_pdu[0])->cqi_req); break; case 50: - LOG_D(PHY,"DCI format0 (FDD, 10MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_10MHz_FDD_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (FDD, 10MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->TPC, ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->cshift, ((DCI0_10MHz_FDD_t *) & dci->dci_pdu[0])->cqi_req); break; case 100: - LOG_D(PHY,"DCI format0 (FDD, 20MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu[0])[0], - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->hopping, - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->cshift, - ((DCI0_20MHz_FDD_t *)&dci->dci_pdu[0])->cqi_req); + LOG_D (PHY, "DCI format0 (FDD, 20MHz), rnti %x (%x): hopping %d, rb_alloc %x, mcs %d, ndi %d, TPC %d, cshift %d, cqi_req %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu[0])[0], + ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->hopping, + ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->TPC, ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->cshift, ((DCI0_20MHz_FDD_t *) & dci->dci_pdu[0])->cqi_req); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; - } - else - LOG_E(PHY,"Don't know how to handle TDD format 0 yet\n"); + } else + LOG_E (PHY, "Don't know how to handle TDD format 0 yet\n"); break; case format1: - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config>0)) + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config > 0)) - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format1 (TDD 1.5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI1_1_5MHz_TDD_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1 (TDD 1.5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI1_1_5MHz_TDD_t *) & dci->dci_pdu[0])->dai); break; case 25: - LOG_D(PHY,"DCI format1 (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI1_5MHz_TDD_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1 (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->ndi, ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI1_5MHz_TDD_t *) & dci->dci_pdu[0])->dai); break; case 50: - LOG_D(PHY,"DCI format1 (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI1_10MHz_TDD_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1 (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI1_10MHz_TDD_t *) & dci->dci_pdu[0])->dai); break; case 100: - LOG_D(PHY,"DCI format1 (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI1_20MHz_TDD_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1 (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->ndi, + ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI1_20MHz_TDD_t *) & dci->dci_pdu[0])->dai); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; - } - else if (frame_parms->frame_type == FDD) { - switch(frame_parms->N_RB_DL) { + } else if (frame_parms->frame_type == FDD) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format1 (FDD, 1.5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_1_5MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1 (FDD, 1.5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->ndi, ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_1_5MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 25: - LOG_D(PHY,"DCI format1 (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_5MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1 (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->ndi, ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_5MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 50: - LOG_D(PHY,"DCI format1 (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_10MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1 (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->ndi, ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_10MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 100: - LOG_D(PHY,"DCI format1 (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1_20MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1 (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->ndi, ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->rv, ((DCI1_20MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } else - LOG_E(PHY,"Don't know how to handle TDD format 0 yet\n"); + LOG_E (PHY, "Don't know how to handle TDD format 0 yet\n"); break; - case format1A: // This is DLSCH allocation for control traffic - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config>0)) { + case format1A: // This is DLSCH allocation for control traffic + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config > 0)) { switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format1A (TDD1-6, 1_5MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT25[((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC); - LOG_D(PHY,"DAI %d\n",((DCI1A_1_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1A (TDD1-6, 1_5MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT25[((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DAI %d\n", ((DCI1A_1_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai); break; case 25: - LOG_D(PHY,"DCI format1A (TDD1-6, 5MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %d (NB_RB %d)\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT25[((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC); - LOG_D(PHY,"DAI %d\n",((DCI1A_5MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1A (TDD1-6, 5MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %d (NB_RB %d)\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT25[((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DAI %d\n", ((DCI1A_5MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai); break; case 50: - LOG_D(PHY,"DCI format1A (TDD1-6, 10MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT50[((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC); - LOG_D(PHY,"DAI %d\n",((DCI1A_10MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1A (TDD1-6, 10MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT50[((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DAI %d\n", ((DCI1A_10MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai); break; case 100: - LOG_D(PHY,"DCI format1A (TDD1-6, 20MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT100[((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->TPC); - LOG_D(PHY,"DAI %d\n",((DCI1A_20MHz_TDD_1_6_t *)&dci->dci_pdu[0])->dai); + LOG_D (PHY, "DCI format1A (TDD1-6, 20MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT100[((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DAI %d\n", ((DCI1A_20MHz_TDD_1_6_t *) & dci->dci_pdu[0])->dai); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } @@ -2968,51 +2915,51 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci) } else if (frame_parms->frame_type == FDD) { switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format1A(FDD, 1.5MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT25[((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_1_5MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1A(FDD, 1.5MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT25[((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_1_5MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 25: - LOG_D(PHY,"DCI format1A(FDD, 5MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT25[((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_5MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1A(FDD, 5MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT25[((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_5MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 50: - LOG_D(PHY,"DCI format1A(FDD, 10MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT50[((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_10MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1A(FDD, 10MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT50[((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_10MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 100: - LOG_D(PHY,"DCI format1A(FDD, 20MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"VRB_TYPE %d\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->vrb_type); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT100[((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->rballoc]); - LOG_D(PHY,"MCS %d\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->mcs); - LOG_D(PHY,"HARQ_PID %d\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->harq_pid); - LOG_D(PHY,"NDI %d\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->ndi); - LOG_D(PHY,"RV %d\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->rv); - LOG_D(PHY,"TPC %d\n",((DCI1A_20MHz_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format1A(FDD, 20MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "VRB_TYPE %d\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->vrb_type); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT100[((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->rballoc]); + LOG_D (PHY, "MCS %d\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->mcs); + LOG_D (PHY, "HARQ_PID %d\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->harq_pid); + LOG_D (PHY, "NDI %d\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->ndi); + LOG_D (PHY, "RV %d\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->rv); + LOG_D (PHY, "TPC %d\n", ((DCI1A_20MHz_FDD_t *) & dci->dci_pdu[0])->TPC); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } @@ -3020,40 +2967,39 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci) break; - case format1C: // This is DLSCH allocation for control traffic + case format1C: // This is DLSCH allocation for control traffic switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format1C (1.5MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n", - ((DCI1C_1_5MHz_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT6[conv_1C_RIV(((DCI1C_1_5MHz_t *)&dci->dci_pdu[0])->rballoc,6)]); - LOG_D(PHY,"MCS %d\n",((DCI1C_1_5MHz_t *)&dci->dci_pdu[0])->mcs); + LOG_D (PHY, "DCI format1C (1.5MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1C_1_5MHz_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT6[conv_1C_RIV (((DCI1C_1_5MHz_t *) & dci->dci_pdu[0])->rballoc, 6)]); + LOG_D (PHY, "MCS %d\n", ((DCI1C_1_5MHz_t *) & dci->dci_pdu[0])->mcs); break; case 25: - LOG_D(PHY,"DCI format1C (5MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1C_5MHz_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT25[conv_1C_RIV(((DCI1C_5MHz_t *)&dci->dci_pdu[0])->rballoc,25)]); - LOG_D(PHY,"MCS %d\n",((DCI1C_5MHz_t *)&dci->dci_pdu[0])->mcs); + LOG_D (PHY, "DCI format1C (5MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1C_5MHz_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT25[conv_1C_RIV (((DCI1C_5MHz_t *) & dci->dci_pdu[0])->rballoc, 25)]); + LOG_D (PHY, "MCS %d\n", ((DCI1C_5MHz_t *) & dci->dci_pdu[0])->mcs); break; case 50: - LOG_D(PHY,"DCI format1C (10MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"Ngap %d\n",((DCI1C_10MHz_t *)&dci->dci_pdu[0])->Ngap); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1C_10MHz_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT50[conv_1C_RIV(((DCI1C_10MHz_t *)&dci->dci_pdu[0])->rballoc,50)]); - LOG_D(PHY,"MCS %d\n",((DCI1C_10MHz_t *)&dci->dci_pdu[0])->mcs); + LOG_D (PHY, "DCI format1C (10MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "Ngap %d\n", ((DCI1C_10MHz_t *) & dci->dci_pdu[0])->Ngap); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1C_10MHz_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT50[conv_1C_RIV (((DCI1C_10MHz_t *) & dci->dci_pdu[0])->rballoc, 50)]); + LOG_D (PHY, "MCS %d\n", ((DCI1C_10MHz_t *) & dci->dci_pdu[0])->mcs); break; case 100: - LOG_D(PHY,"DCI format1C (20MHz), rnti %x (%x)\n",dci->rnti,((uint32_t*)&dci->dci_pdu[0])[0]); - LOG_D(PHY,"Ngap %d\n",((DCI1C_20MHz_t *)&dci->dci_pdu[0])->Ngap); - LOG_D(PHY,"RB_ALLOC %x (NB_RB %d)\n",((DCI1C_20MHz_t *)&dci->dci_pdu[0])->rballoc,RIV2nb_rb_LUT50[conv_1C_RIV(((DCI1C_20MHz_t *)&dci->dci_pdu[0])->rballoc,100)]); - LOG_D(PHY,"MCS %d\n",((DCI1C_20MHz_t *)&dci->dci_pdu[0])->mcs); + LOG_D (PHY, "DCI format1C (20MHz), rnti %x (%x)\n", dci->rnti, ((uint32_t *) & dci->dci_pdu[0])[0]); + LOG_D (PHY, "Ngap %d\n", ((DCI1C_20MHz_t *) & dci->dci_pdu[0])->Ngap); + LOG_D (PHY, "RB_ALLOC %x (NB_RB %d)\n", ((DCI1C_20MHz_t *) & dci->dci_pdu[0])->rballoc, RIV2nb_rb_LUT50[conv_1C_RIV (((DCI1C_20MHz_t *) & dci->dci_pdu[0])->rballoc, 100)]); + LOG_D (PHY, "MCS %d\n", ((DCI1C_20MHz_t *) & dci->dci_pdu[0])->mcs); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); - DevParam (frame_parms->N_RB_DL, 0, 0); - break; + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + DevParam (frame_parms->N_RB_DL, 0, 0); + break; } @@ -3061,332 +3007,296 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci) case format2: - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config>0)) { + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config > 0)) { if (frame_parms->nb_antenna_ports_eNB == 2) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tbswap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->tpmi - ); + LOG_D (PHY, "DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tbswap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 25: - LOG_D(PHY,"DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, "DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 50: - LOG_D(PHY,"DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, "DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 100: - LOG_D(PHY,"DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, "DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } else if (frame_parms->nb_antenna_ports_eNB == 4) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tbswap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi - ); + LOG_D (PHY, "DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tbswap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 25: - LOG_D(PHY,"DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, "DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 50: - LOG_D(PHY,"DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, "DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 100: - LOG_D(PHY,"DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, "DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, + ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } } else if (frame_parms->frame_type == FDD) { if (frame_parms->nb_antenna_ports_eNB == 2) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2 2 antennas (FDD, 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 2 antennas (FDD, 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 25: - LOG_D(PHY,"DCI format2 2 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, swap %d, TPMI %d, TPC %d\n", - - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 2 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, swap %d, TPMI %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 50: - LOG_D(PHY,"DCI format2 2 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 2 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 100: - LOG_D(PHY,"DCI format2 2 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 2 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } else if (frame_parms->nb_antenna_ports_eNB == 4) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2 4 antennas (FDD, 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 4 antennas (FDD, 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 25: - LOG_D(PHY,"DCI format2 4 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 4 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 50: - LOG_D(PHY,"DCI format2 4 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 4 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 100: - LOG_D(PHY,"DCI format2 4 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2 4 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } @@ -3394,328 +3304,251 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci) } else - LOG_E(PHY,"Don't know how to handle TDD format 0 yet\n"); + LOG_E (PHY, "Don't know how to handle TDD format 0 yet\n"); break; case format2A: - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config>0)) { + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config > 0)) { if (frame_parms->nb_antenna_ports_eNB == 2) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2A 2 antennas (FDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap - ); + LOG_D (PHY, "DCI format2A 2 antennas (FDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_1_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap); break; case 25: - LOG_D(PHY,"DCI format2A 2 antennas (FDD 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap); + LOG_D (PHY, "DCI format2A 2 antennas (FDD 5 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_5MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap); break; case 50: - LOG_D(PHY,"DCI format2A 2 antennas (FDD 10 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap); + LOG_D (PHY, "DCI format2A 2 antennas (FDD 10 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_10MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap); break; case 100: - LOG_D(PHY,"DCI format2A 2 antennas (FDD 20 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->tb_swap); + LOG_D (PHY, "DCI format2A 2 antennas (FDD 20 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_20MHz_2A_TDD_t *) & dci->dci_pdu[0])->tb_swap); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } else if (frame_parms->nb_antenna_ports_eNB == 4) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2A 4 antennas (TDD 1.5 MHz), rnti %x (%"PRIu64"): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi - ); + LOG_D (PHY, + "DCI format2A 4 antennas (TDD 1.5 MHz), rnti %x (%" PRIu64 "): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", + dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, + ((DCI2A_1_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 25: - LOG_D(PHY,"DCI format2A 4 antennas (TDD 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, + "DCI format2A 4 antennas (TDD 5 MHz), rnti %x (%" PRIu64 + "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rah, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, + ((DCI2A_5MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 50: - LOG_D(PHY,"DCI format2A 4 antennas (TDD 10 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, + "DCI format2A 4 antennas (TDD 10 MHz), rnti %x (%" PRIu64 + "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rah, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, + ((DCI2A_10MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; case 100: - LOG_D(PHY,"DCI format2A 4 antennas (TDD 20 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->TPC, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->dai, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->tpmi); + LOG_D (PHY, + "DCI format2A 4 antennas (TDD 20 MHz), rnti %x (%" PRIu64 + "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n", dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rah, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rballoc, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->harq_pid, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv1, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->TPC, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->dai, ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->tb_swap, + ((DCI2A_20MHz_4A_TDD_t *) & dci->dci_pdu[0])->tpmi); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } } else if (frame_parms->frame_type == FDD) { if (frame_parms->nb_antenna_ports_eNB == 2) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2A 2 antennas (FDD, 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", - dci->rnti, - ((uint32_t*)&dci->dci_pdu)[0], - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_1_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2A 2 antennas (FDD, 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", + dci->rnti, + ((uint32_t *) & dci->dci_pdu)[0], + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_1_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 25: - LOG_D(PHY,"DCI format2A 2 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2A 2 antennas (FDD, 5 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_5MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 50: - LOG_D(PHY,"DCI format2A 2 antennas (FDD, 10 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2A 2 antennas (FDD, 10 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_10MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 100: - LOG_D(PHY,"DCI format2A 2 antennas (FDD, 20 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2A 2 antennas (FDD, 20 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rah, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_20MHz_2A_FDD_t *) & dci->dci_pdu[0])->TPC); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } } else if (frame_parms->nb_antenna_ports_eNB == 4) { - switch(frame_parms->N_RB_DL) { + switch (frame_parms->N_RB_DL) { case 6: - LOG_D(PHY,"DCI format2A 4 antennas (FDD, 1.5 MHz), rnti %x (%"PRIu64"): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, "DCI format2A 4 antennas (FDD, 1.5 MHz), rnti %x (%" PRIu64 "): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, + ((uint64_t *) & dci->dci_pdu)[0], + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, + ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI2A_1_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 25: - LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, + "DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rah, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, + ((DCI2A_5MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 50: - LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, + "DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rah, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, + ((DCI2A_10MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; case 100: - LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", - dci->rnti, - ((uint64_t*)&dci->dci_pdu)[0], - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs1, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->mcs2, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->harq_pid, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi1, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->ndi2, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv1, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rv2, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->TPC); + LOG_D (PHY, + "DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%" PRIu64 "): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n", + dci->rnti, ((uint64_t *) & dci->dci_pdu)[0], ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rah, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs1, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->mcs2, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->harq_pid, + ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi1, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->ndi2, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv1, + ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->rv2, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->tb_swap, ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->tpmi, + ((DCI2A_20MHz_4A_FDD_t *) & dci->dci_pdu[0])->TPC); break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } @@ -3723,2305 +3556,2126 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci) } else - LOG_E(PHY,"Don't know how to handle TDD format 0 yet\n"); + LOG_E (PHY, "Don't know how to handle TDD format 0 yet\n"); break; case format1E_2A_M10PRB: - LOG_D(PHY,"DCI format1E_2A_M10PRB, rnti %x (%8x): harq_pid %d, rah %d, rb_alloc %x, mcs %d, rv %d, tpmi %d, ndi %d, dl_power_offset %d\n", - dci->rnti, - ((uint32_t *)&dci->dci_pdu)[0], - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->harq_pid, - //((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->tb_swap, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->rah, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->rballoc, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->mcs, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->rv, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->tpmi, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->ndi, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->dl_power_off - ); + LOG_D (PHY, "DCI format1E_2A_M10PRB, rnti %x (%8x): harq_pid %d, rah %d, rb_alloc %x, mcs %d, rv %d, tpmi %d, ndi %d, dl_power_offset %d\n", + dci->rnti, ((uint32_t *) & dci->dci_pdu)[0], ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->harq_pid, + //((DCI1E_5MHz_2A_M10PRB_TDD_t *)&dci->dci_pdu[0])->tb_swap, + ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->rah, + ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->rballoc, + ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->mcs, + ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->rv, + ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->tpmi, ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->ndi, ((DCI1E_5MHz_2A_M10PRB_TDD_t *) & dci->dci_pdu[0])->dl_power_off); break; default: - LOG_E(PHY,"dci_tools.c: dump_dci, unknown format %d\n",dci->format); - return(-1); + LOG_E (PHY, "dci_tools.c: dump_dci, unknown format %d\n", dci->format); + return (-1); } - return(0); + return (0); } -void extract_dci1A_info(uint8_t N_RB_DL, lte_frame_type_t frame_type, void *dci_pdu, DCI_INFO_EXTRACTED_t *pdci_info_extarcted) +void +extract_dci1A_info (uint8_t N_RB_DL, lte_frame_type_t frame_type, void *dci_pdu, DCI_INFO_EXTRACTED_t * pdci_info_extarcted) { - uint8_t harq_pid=0; - uint32_t rballoc=0; - uint8_t vrb_type=0; - uint8_t mcs=0; - uint8_t rv=0; - uint8_t ndi=0; - uint8_t TPC=0; + uint8_t harq_pid = 0; + uint32_t rballoc = 0; + uint8_t vrb_type = 0; + uint8_t mcs = 0; + uint8_t rv = 0; + uint8_t ndi = 0; + uint8_t TPC = 0; - uint8_t dai=0; + uint8_t dai = 0; - switch (N_RB_DL) { - case 6: - if (frame_type == TDD) { - vrb_type = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->rballoc; - rv = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->rv; - ndi = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->ndi; - TPC = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->harq_pid; - dai = ((DCI1A_1_5MHz_TDD_1_6_t *)dci_pdu)->dai; - // printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } else { - vrb_type = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->rv; - ndi = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->ndi; - TPC = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_1_5MHz_FDD_t *)dci_pdu)->harq_pid; - //printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } - break; - - case 25: - - if (frame_type == TDD) { - vrb_type = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->rballoc; - rv = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->rv; - ndi = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->ndi; - TPC = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->harq_pid; - dai = ((DCI1A_5MHz_TDD_1_6_t *)dci_pdu)->dai; - //printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } else { - vrb_type = ((DCI1A_5MHz_FDD_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_5MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_5MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1A_5MHz_FDD_t *)dci_pdu)->rv; - ndi = ((DCI1A_5MHz_FDD_t *)dci_pdu)->ndi; - TPC = ((DCI1A_5MHz_FDD_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_5MHz_FDD_t *)dci_pdu)->harq_pid; - //printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } - - break; - - case 50: - if (frame_type == TDD) { - vrb_type = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->rballoc; - rv = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->rv; - ndi = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->ndi; - TPC = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->harq_pid; - dai = ((DCI1A_10MHz_TDD_1_6_t *)dci_pdu)->dai; - // printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } else { - vrb_type = ((DCI1A_10MHz_FDD_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_10MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_10MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1A_10MHz_FDD_t *)dci_pdu)->rv; - ndi = ((DCI1A_10MHz_FDD_t *)dci_pdu)->ndi; - TPC = ((DCI1A_10MHz_FDD_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_10MHz_FDD_t *)dci_pdu)->harq_pid; - //printf("FDD 1A: mcs %d, vrb_type %d, rballoc %x,ndi %d, rv %d, TPC %d\n",mcs,vrb_type,rballoc,ndi,rv,TPC); - } - break; - - case 100: - if (frame_type == TDD) { - vrb_type = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->rballoc; - rv = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->rv; - ndi = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->ndi; - TPC = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->harq_pid; - dai = ((DCI1A_20MHz_TDD_1_6_t *)dci_pdu)->dai; - // printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } else { - vrb_type = ((DCI1A_20MHz_FDD_t *)dci_pdu)->vrb_type; - mcs = ((DCI1A_20MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1A_20MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1A_20MHz_FDD_t *)dci_pdu)->rv; - ndi = ((DCI1A_20MHz_FDD_t *)dci_pdu)->ndi; - TPC = ((DCI1A_20MHz_FDD_t *)dci_pdu)->TPC; - harq_pid = ((DCI1A_20MHz_FDD_t *)dci_pdu)->harq_pid; - //printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); - } - break; + switch (N_RB_DL) { + case 6: + if (frame_type == TDD) { + vrb_type = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->rballoc; + rv = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->rv; + ndi = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->ndi; + TPC = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->harq_pid; + dai = ((DCI1A_1_5MHz_TDD_1_6_t *) dci_pdu)->dai; + // printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); + } else { + vrb_type = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->rv; + ndi = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->ndi; + TPC = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_1_5MHz_FDD_t *) dci_pdu)->harq_pid; + //printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); } - - pdci_info_extarcted->vrb_type = vrb_type; - pdci_info_extarcted->mcs1 = mcs; - pdci_info_extarcted->rballoc = rballoc; - pdci_info_extarcted->rv1 = rv; - pdci_info_extarcted->ndi1 = ndi; - pdci_info_extarcted->TPC = TPC; - pdci_info_extarcted->harq_pid = harq_pid; - pdci_info_extarcted->dai = dai; -} - -void extract_dci1C_info(uint8_t N_RB_DL, lte_frame_type_t frame_type, void *dci_pdu, DCI_INFO_EXTRACTED_t *pdci_info_extarcted) -{ - - uint32_t rballoc=0; - uint8_t mcs=0; - - switch (N_RB_DL) { - case 6: - mcs = ((DCI1C_5MHz_t *)dci_pdu)->mcs; - rballoc = conv_1C_RIV(((DCI1C_5MHz_t *)dci_pdu)->rballoc,6); - - break; - - case 25: - mcs = ((DCI1C_5MHz_t *)dci_pdu)->mcs; - rballoc = conv_1C_RIV(((DCI1C_5MHz_t *)dci_pdu)->rballoc,6); - - break; - - case 50: - mcs = ((DCI1C_10MHz_t *)dci_pdu)->mcs; - rballoc = conv_1C_RIV(((DCI1C_10MHz_t *)dci_pdu)->rballoc,6); - - break; - - case 100: - mcs = ((DCI1C_20MHz_t *)dci_pdu)->mcs; - rballoc = conv_1C_RIV(((DCI1C_20MHz_t *)dci_pdu)->rballoc,6); - break; - - default: - AssertFatal(0,"Format 1C: Unknown N_RB_DL %d\n",N_RB_DL); - break; - } - - pdci_info_extarcted->mcs1 = mcs; - pdci_info_extarcted->rballoc = rballoc; -} - -void extract_dci1_info(uint8_t N_RB_DL, lte_frame_type_t frame_type, void *dci_pdu, DCI_INFO_EXTRACTED_t *pdci_info_extarcted) -{ - - uint32_t rballoc=0; - uint8_t mcs=0; - uint8_t rah=0; - uint8_t rv=0; - uint8_t TPC=0; - uint8_t ndi=0; - uint8_t harq_pid=0; - - switch (N_RB_DL) { - case 6: - if (frame_type == TDD) { - mcs = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->rah; - rv = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->rv; - TPC = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_1_5MHz_TDD_t *)dci_pdu)->harq_pid; - } else { - mcs = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->mcs; - rah = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->rah; - rballoc = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->rv; - TPC = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_1_5MHz_FDD_t *)dci_pdu)->harq_pid; - } - - break; - - case 25: - if (frame_type == TDD) { - mcs = ((DCI1_5MHz_TDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1_5MHz_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI1_5MHz_TDD_t *)dci_pdu)->rah; - rv = ((DCI1_5MHz_TDD_t *)dci_pdu)->rv; - TPC = ((DCI1_5MHz_TDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_5MHz_TDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_5MHz_TDD_t *)dci_pdu)->harq_pid; - } else { - mcs = ((DCI1_5MHz_FDD_t *)dci_pdu)->mcs; - rah = ((DCI1_5MHz_FDD_t *)dci_pdu)->rah; - rballoc = ((DCI1_5MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1_5MHz_FDD_t *)dci_pdu)->rv; - TPC = ((DCI1_5MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_5MHz_FDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_5MHz_FDD_t *)dci_pdu)->harq_pid; - } - - break; - - case 50: - if (frame_type == TDD) { - mcs = ((DCI1_10MHz_TDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1_10MHz_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI1_10MHz_TDD_t *)dci_pdu)->rah; - rv = ((DCI1_10MHz_TDD_t *)dci_pdu)->rv; - TPC = ((DCI1_10MHz_TDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_10MHz_TDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_10MHz_TDD_t *)dci_pdu)->harq_pid; - } else { - mcs = ((DCI1_10MHz_FDD_t *)dci_pdu)->mcs; - rah = ((DCI1_10MHz_FDD_t *)dci_pdu)->rah; - rballoc = ((DCI1_10MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1_10MHz_FDD_t *)dci_pdu)->rv; - TPC = ((DCI1_10MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_10MHz_FDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_10MHz_FDD_t *)dci_pdu)->harq_pid; - } - - break; - - case 100: - if (frame_type == TDD) { - mcs = ((DCI1_20MHz_TDD_t *)dci_pdu)->mcs; - rballoc = ((DCI1_20MHz_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI1_20MHz_TDD_t *)dci_pdu)->rah; - rv = ((DCI1_20MHz_TDD_t *)dci_pdu)->rv; - TPC = ((DCI1_20MHz_TDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_20MHz_TDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_20MHz_TDD_t *)dci_pdu)->harq_pid; - } else { - mcs = ((DCI1_20MHz_FDD_t *)dci_pdu)->mcs; - rah = ((DCI1_20MHz_FDD_t *)dci_pdu)->rah; - rballoc = ((DCI1_20MHz_FDD_t *)dci_pdu)->rballoc; - rv = ((DCI1_20MHz_FDD_t *)dci_pdu)->rv; - TPC = ((DCI1_20MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI1_20MHz_FDD_t *)dci_pdu)->ndi; - harq_pid = ((DCI1_20MHz_FDD_t *)dci_pdu)->harq_pid; - } - - break; - } - - pdci_info_extarcted->mcs1 = mcs; - pdci_info_extarcted->rah = rah; - pdci_info_extarcted->rballoc = rballoc; - pdci_info_extarcted->rv1 = rv; - pdci_info_extarcted->TPC = TPC; - pdci_info_extarcted->ndi1 = ndi; - pdci_info_extarcted->harq_pid = harq_pid; - -} - -void extract_dci2_info(uint8_t N_RB_DL, lte_frame_type_t frame_type, uint8_t nb_antenna_ports_eNB, void *dci_pdu, DCI_INFO_EXTRACTED_t *pdci_info_extarcted) -{ - - uint32_t rballoc=0; - uint8_t rah=0; - uint8_t mcs1=0; - uint8_t mcs2=0; - uint8_t rv1=0; - uint8_t rv2=0; - uint8_t ndi1=0; - uint8_t ndi2=0; - uint8_t tbswap=0; - uint8_t tpmi=0; - uint8_t harq_pid=0; - uint8_t TPC=0; - - switch (N_RB_DL) { - - case 6: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - rah = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->ndi2; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - rah = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->ndi2; - } - } else { - LOG_E(PHY,"UE: Format2 DCI: unsupported number of TX antennas %d\n",nb_antenna_ports_eNB); - } - - break; - - case 25: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - rah = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_2A_FDD_t *)dci_pdu)->ndi2; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - rah = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_4A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_2A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->ndi2; - } - } else { - LOG_E(PHY,"UE: Format2 DCI: unsupported number of TX antennas %d\n",nb_antenna_ports_eNB); - } - - break; - - case 50: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - rah = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_10MHz_2A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_10MHz_2A_FDD_t *)dci_pdu)->ndi2; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - rah = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_10MHz_4A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->ndi2; - } - } else { - LOG_E(PHY,"UE: Format2A DCI: unsupported number of TX antennas %d\n",nb_antenna_ports_eNB); - } - - break; - - case 100: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - rah = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_20MHz_2A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_20MHz_2A_FDD_t *)dci_pdu)->ndi2; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - rah = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_20MHz_4A_TDD_t *)dci_pdu)->ndi2; - } else { - rah = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->rah; - mcs1 = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->rv2; - harq_pid = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->TPC; - ndi1 = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->ndi2; - } - } else { - LOG_E(PHY,"UE: Format2A DCI: unsupported number of TX antennas %d\n",nb_antenna_ports_eNB); - } - - break; - } - - pdci_info_extarcted->rah = rah; - pdci_info_extarcted->mcs1 = mcs1; - pdci_info_extarcted->mcs2 = mcs2; - pdci_info_extarcted->rv1 = rv1; - pdci_info_extarcted->rv2 = rv2; - pdci_info_extarcted->harq_pid = harq_pid; - pdci_info_extarcted->rballoc = rballoc; - pdci_info_extarcted->tb_swap = tbswap; - pdci_info_extarcted->tpmi = tpmi; - pdci_info_extarcted->TPC = TPC; - pdci_info_extarcted->ndi1 = ndi1; - pdci_info_extarcted->ndi2 = ndi2; - -} - -void extract_dci2A_info(uint8_t N_RB_DL, lte_frame_type_t frame_type, uint8_t nb_antenna_ports_eNB, void *dci_pdu, DCI_INFO_EXTRACTED_t *pdci_info_extarcted) -{ - - uint32_t rballoc=0; - uint8_t rah=0; - uint8_t mcs1=0; - uint8_t mcs2=0; - uint8_t rv1=0; - uint8_t rv2=0; - uint8_t ndi1=0; - uint8_t ndi2=0; - uint8_t tbswap=0; - uint8_t tpmi=0; - uint8_t harq_pid=0; - uint8_t TPC=0; - - AssertFatal( (nb_antenna_ports_eNB == 2) || (nb_antenna_ports_eNB == 4), "unsupported nb_antenna_ports_eNB %d\n", nb_antenna_ports_eNB); - switch (N_RB_DL) { - - case 6: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_1_5MHz_2A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_1_5MHz_2A_FDD_t *)dci_pdu)->TPC; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_1_5MHz_4A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->rballoc; - rv1 = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->TPC; - } - } - - break; - - case 25: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_5MHz_2A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_5MHz_2A_FDD_t *)dci_pdu)->TPC; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_5MHz_4A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->TPC; - } - } - break; - - case 50: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_10MHz_2A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_10MHz_2A_FDD_t *)dci_pdu)->TPC; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_10MHz_4A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->TPC; - } - } - - break; - - case 100: - if (nb_antenna_ports_eNB == 2) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_20MHz_2A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->tb_swap; - TPC = ((DCI2A_20MHz_2A_FDD_t *)dci_pdu)->TPC; - } - } else if (nb_antenna_ports_eNB == 4) { - if (frame_type == TDD) { - mcs1 = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_20MHz_4A_TDD_t *)dci_pdu)->TPC; - } else { - mcs1 = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->mcs1; - mcs2 = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->mcs2; - rballoc = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->rballoc; - rah = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->rah; - rv1 = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->rv1; - rv2 = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->rv2; - ndi1 = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->ndi1; - ndi2 = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->ndi2; - harq_pid = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->harq_pid; - tbswap = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->tb_swap; - tpmi = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->tpmi; - TPC = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->TPC; - } - } - - break; - } - - pdci_info_extarcted->mcs1 = mcs1; - pdci_info_extarcted->mcs2 = mcs2; - pdci_info_extarcted->rballoc = rballoc; - pdci_info_extarcted->rah = rah; - pdci_info_extarcted->rv1 = rv1; - pdci_info_extarcted->rv2 = rv2; - pdci_info_extarcted->ndi1 = ndi1; - pdci_info_extarcted->ndi2 = ndi2; - pdci_info_extarcted->harq_pid = harq_pid; - pdci_info_extarcted->tb_swap = tbswap; - pdci_info_extarcted->TPC = TPC; - pdci_info_extarcted->tpmi = tpmi; -} - -int check_dci_format1_1a_coherency(DCI_format_t dci_format, - uint8_t N_RB_DL, - uint16_t rnti, - uint16_t tc_rnti, - uint16_t si_rnti, - uint16_t ra_rnti, - uint16_t p_rnti, - uint32_t frame, - uint8_t subframe, - DCI_INFO_EXTRACTED_t *pdci_info_extarcted, - LTE_DL_UE_HARQ_t *pdlsch0_harq) -{ - uint8_t harq_pid = pdci_info_extarcted->harq_pid; - uint32_t rballoc = pdci_info_extarcted->rballoc; - uint8_t mcs1 = pdci_info_extarcted->mcs1; - uint8_t TPC = pdci_info_extarcted->TPC; - uint8_t rah = pdci_info_extarcted->rah; -#ifdef DEBUG_DCI - uint8_t rv1 = pdci_info_extarcted->rv1; - uint8_t ndi1 = pdci_info_extarcted->ndi1; -#endif - - uint8_t NPRB = 0; - long long int RIV_max = 0; - -#ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1-1A] AbsSubframe %d.%d dci_format %d\n", frame, subframe, dci_format); - LOG_I(PHY,"[DCI-FORMAT-1-1A] rnti %x\n", rnti); - LOG_I(PHY,"[DCI-FORMAT-1-1A] harq_pid %d\n", harq_pid); - LOG_I(PHY,"[DCI-FORMAT-1-1A] rah %d\n", rah); - LOG_I(PHY,"[DCI-FORMAT-1-1A] rballoc %x\n", rballoc); - LOG_I(PHY,"[DCI-FORMAT-1-1A] mcs1 %d\n", mcs1); - LOG_I(PHY,"[DCI-FORMAT-1-1A] rv1 %d\n", rv1); - LOG_I(PHY,"[DCI-FORMAT-1-1A] ndi1 %d\n", ndi1); - LOG_I(PHY,"[DCI-FORMAT-1-1A] TPC %d\n", TPC); -#endif - - - // I- check dci content minimum coherency - if( ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) && harq_pid > 0) - { - return(0); - } - - if(harq_pid>=8) - { - LOG_I(PHY,"bad harq id \n"); - return(0); - } - - if(dci_format == format1 && ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) ) - { - LOG_I(PHY,"bad dci format \n"); - return(0); - } - - - if( mcs1 > 28) - { - if(pdlsch0_harq->round == 0) - { - LOG_I(PHY,"bad dci mcs + round \n"); - return(0); - } - - if((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) - { - LOG_I(PHY,"bad dci mcs + rnti \n"); - return(0); - } - } - - if ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) - { - NPRB = (TPC&1) + 2; - switch (N_RB_DL) { - case 6: - RIV_max = RIV_max6; - break; - case 25: - RIV_max = RIV_max25; - break; - case 50: - RIV_max = RIV_max50; - break; - case 100: - RIV_max = RIV_max100; - break; - } - } - else - { - switch (N_RB_DL) { - case 6: - NPRB = RIV2nb_rb_LUT6[rballoc];//NPRB; - if(rah) - RIV_max = RIV_max6; - else - RIV_max = 0x3F; - break; - case 25: - NPRB = RIV2nb_rb_LUT25[rballoc];//NPRB; - if(rah) - RIV_max = RIV_max25; - else - RIV_max = 0x1FFF; - break; - case 50: - NPRB = RIV2nb_rb_LUT50[rballoc];//NPRB; - if(rah) - RIV_max = RIV_max50; - else - RIV_max = 0x1FFFF; - break; - case 100: - NPRB = RIV2nb_rb_LUT100[rballoc];//NPRB; - if(rah) - RIV_max = RIV_max100; - else - RIV_max = 0x1FFFFFF; - break; - } - } - - - if(dci_format == format1) - { - NPRB = conv_nprb(rah, rballoc, N_RB_DL); - } - - - if(rballoc > RIV_max) - { - LOG_I(PHY,"bad dci rballoc rballoc %d RIV_max %lld \n",rballoc, RIV_max); - // DCI false detection - return(0); - } - - if(NPRB == 0) - { - // DCI false detection - LOG_I(PHY,"bad NPRB = 0 \n"); - return(0); - } - - // this a retransmission - if(pdlsch0_harq->round>0) - { - // compare old TBS to new TBS - if((mcs1<29) && (pdlsch0_harq->TBS != TBStable[get_I_TBS(mcs1)][NPRB-1])) - { - // this is an eNB issue - // retransmisison but old and new TBS are different !!! - // work around, consider it as a new transmission - LOG_E(PHY,"Format1A Retransmission but TBS are different: consider it as new transmission !!! \n"); - pdlsch0_harq->round = 0; - //return(0); // ?? to cross check - } - } - - return(1); -} - -int check_dci_format1c_coherency(uint8_t N_RB_DL, - DCI_INFO_EXTRACTED_t *pdci_info_extarcted, - uint16_t rnti, - uint16_t si_rnti, - uint16_t ra_rnti, - uint16_t p_rnti, - LTE_DL_UE_HARQ_t *pdlsch0_harq) -{ - uint32_t rballoc = pdci_info_extarcted->rballoc; - - uint8_t NPRB = 0; - uint32_t RIV_max = 0; - - // I- check dci content minimum coherency - - if((rnti!=si_rnti) && (rnti!=p_rnti) && (rnti!=ra_rnti)) - return(0); - - switch (N_RB_DL) { - case 6: - NPRB = RIV2nb_rb_LUT6[rballoc];//NPRB; - RIV_max = RIV_max6; break; - case 25: - NPRB = RIV2nb_rb_LUT25[rballoc];//NPRB; - RIV_max = RIV_max25; + + case 25: + + if (frame_type == TDD) { + vrb_type = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->rballoc; + rv = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->rv; + ndi = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->ndi; + TPC = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->harq_pid; + dai = ((DCI1A_5MHz_TDD_1_6_t *) dci_pdu)->dai; + //printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); + } else { + vrb_type = ((DCI1A_5MHz_FDD_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_5MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_5MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1A_5MHz_FDD_t *) dci_pdu)->rv; + ndi = ((DCI1A_5MHz_FDD_t *) dci_pdu)->ndi; + TPC = ((DCI1A_5MHz_FDD_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_5MHz_FDD_t *) dci_pdu)->harq_pid; + //printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); + } + break; - case 50: - NPRB = RIV2nb_rb_LUT50[rballoc];//NPRB; - RIV_max = RIV_max50; + + case 50: + if (frame_type == TDD) { + vrb_type = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->rballoc; + rv = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->rv; + ndi = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->ndi; + TPC = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->harq_pid; + dai = ((DCI1A_10MHz_TDD_1_6_t *) dci_pdu)->dai; + // printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); + } else { + vrb_type = ((DCI1A_10MHz_FDD_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_10MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_10MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1A_10MHz_FDD_t *) dci_pdu)->rv; + ndi = ((DCI1A_10MHz_FDD_t *) dci_pdu)->ndi; + TPC = ((DCI1A_10MHz_FDD_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_10MHz_FDD_t *) dci_pdu)->harq_pid; + //printf("FDD 1A: mcs %d, vrb_type %d, rballoc %x,ndi %d, rv %d, TPC %d\n",mcs,vrb_type,rballoc,ndi,rv,TPC); + } break; - case 100: - NPRB = RIV2nb_rb_LUT100[rballoc];//NPRB; - RIV_max = RIV_max100; + + case 100: + if (frame_type == TDD) { + vrb_type = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->rballoc; + rv = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->rv; + ndi = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->ndi; + TPC = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->harq_pid; + dai = ((DCI1A_20MHz_TDD_1_6_t *) dci_pdu)->dai; + // printf("TDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); + } else { + vrb_type = ((DCI1A_20MHz_FDD_t *) dci_pdu)->vrb_type; + mcs = ((DCI1A_20MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1A_20MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1A_20MHz_FDD_t *) dci_pdu)->rv; + ndi = ((DCI1A_20MHz_FDD_t *) dci_pdu)->ndi; + TPC = ((DCI1A_20MHz_FDD_t *) dci_pdu)->TPC; + harq_pid = ((DCI1A_20MHz_FDD_t *) dci_pdu)->harq_pid; + //printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC); + } break; - } + } - if(rballoc > RIV_max) - { - // DCI false detection - return(0); - } - - if(NPRB == 0) - { - // DCI false detection - return(0); - } - - return(1); + pdci_info_extarcted->vrb_type = vrb_type; + pdci_info_extarcted->mcs1 = mcs; + pdci_info_extarcted->rballoc = rballoc; + pdci_info_extarcted->rv1 = rv; + pdci_info_extarcted->ndi1 = ndi; + pdci_info_extarcted->TPC = TPC; + pdci_info_extarcted->harq_pid = harq_pid; + pdci_info_extarcted->dai = dai; } -int check_dci_format2_2a_coherency(DCI_format_t dci_format, - uint8_t N_RB_DL, - DCI_INFO_EXTRACTED_t *pdci_info_extarcted, - uint16_t rnti, - uint16_t si_rnti, - uint16_t ra_rnti, - uint16_t p_rnti, - LTE_DL_UE_HARQ_t *pdlsch0_harq, - LTE_DL_UE_HARQ_t *pdlsch1_harq) +void +extract_dci1C_info (uint8_t N_RB_DL, lte_frame_type_t frame_type, void *dci_pdu, DCI_INFO_EXTRACTED_t * pdci_info_extarcted) { - uint8_t rah = pdci_info_extarcted->rah; - uint8_t mcs1 = pdci_info_extarcted->mcs1; - uint8_t mcs2 = pdci_info_extarcted->mcs2; - uint8_t rv1 = pdci_info_extarcted->rv1; - uint8_t rv2 = pdci_info_extarcted->rv2; - uint8_t harq_pid = pdci_info_extarcted->harq_pid; - uint32_t rballoc = pdci_info_extarcted->rballoc; -#ifdef DEBUG_DCI - uint8_t ndi1 = pdci_info_extarcted->ndi1; - uint8_t ndi2 = pdci_info_extarcted->ndi2; -#endif + uint32_t rballoc = 0; + uint8_t mcs = 0; - uint8_t NPRB = 0; - long long RIV_max = 0; + switch (N_RB_DL) { + case 6: + mcs = ((DCI1C_5MHz_t *) dci_pdu)->mcs; + rballoc = conv_1C_RIV (((DCI1C_5MHz_t *) dci_pdu)->rballoc, 6); -#ifdef DEBUG_DCI - LOG_I(PHY, "extarcted dci - dci_format %d \n", dci_format); - LOG_I(PHY, "extarcted dci - rnti %d \n", rnti); - LOG_I(PHY, "extarcted dci - rah %d \n", rah); - LOG_I(PHY, "extarcted dci - mcs1 %d \n", mcs1); - LOG_I(PHY, "extarcted dci - mcs2 %d \n", mcs2); - LOG_I(PHY, "extarcted dci - rv1 %d \n", rv1); - LOG_I(PHY, "extarcted dci - rv2 %d \n", rv2); - //LOG_I(PHY, "extarcted dci - ndi1 %d \n", ndi1); - //LOG_I(PHY, "extarcted dci - ndi2 %d \n", ndi2); - LOG_I(PHY, "extarcted dci - rballoc %x \n", rballoc); - LOG_I(PHY, "extarcted dci - harq pid %d \n", harq_pid); - LOG_I(PHY, "extarcted dci - round0 %d \n", pdlsch0_harq->round); - LOG_I(PHY, "extarcted dci - round1 %d \n", pdlsch1_harq->round); -#endif + break; - // I- check dci content minimum coherency - if(harq_pid>=8) - { - LOG_I(PHY,"bad harq pid\n"); - return(0); - } + case 25: + mcs = ((DCI1C_5MHz_t *) dci_pdu)->mcs; + rballoc = conv_1C_RIV (((DCI1C_5MHz_t *) dci_pdu)->rballoc, 6); - if( (rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti) ) - { - LOG_I(PHY,"bad rnti\n"); - return(0); - } + break; + case 50: + mcs = ((DCI1C_10MHz_t *) dci_pdu)->mcs; + rballoc = conv_1C_RIV (((DCI1C_10MHz_t *) dci_pdu)->rballoc, 6); - if( mcs1 > 28) - { - if(pdlsch0_harq->round == 0) - { - LOG_I(PHY,"bad mcs1\n"); - return(0); - } - } + break; - if( mcs2 > 28) - { - if(pdlsch1_harq->round == 0) - { - LOG_I(PHY,"bad mcs2\n"); - return(0); - } - } + case 100: + mcs = ((DCI1C_20MHz_t *) dci_pdu)->mcs; + rballoc = conv_1C_RIV (((DCI1C_20MHz_t *) dci_pdu)->rballoc, 6); + break; + default: + AssertFatal (0, "Format 1C: Unknown N_RB_DL %d\n", N_RB_DL); + break; + } - if((pdlsch0_harq->round == 0) && (rv1 > 0) && (mcs1 != 0)) - { - // DCI false detection - LOG_I(PHY,"bad rv1\n"); - return(0); - } - - if((pdlsch1_harq->round == 0) && (rv2 > 0) && (mcs2 != 0)) - { - // DCI false detection - LOG_I(PHY,"bad rv2\n"); - return(0); - } - - - switch (N_RB_DL) { - case 6: - if (rah == 0) - { - //RBG = 1; - RIV_max = 0x3F; - } - else - { - RIV_max = RIV_max6; - } - break; - case 25: - if (rah == 0) - { - //RBG = 2; - RIV_max = 0x1FFF; - } - else - { - RIV_max = RIV_max25; - } - break; - case 50: - if (rah == 0) - { - //RBG = 3; - RIV_max = 0x1FFFF; - } - else - { - RIV_max = RIV_max50; - } - break; - case 100: - if (rah == 0) - { - //RBG = 4; - RIV_max = 0x1FFFFFF; - } - else - { - RIV_max = RIV_max100; - } - break; - } - - NPRB = conv_nprb(rah, - rballoc, - N_RB_DL); - - - - if( (rballoc > RIV_max) && (rah == 1) ) - { - // DCI false detection - LOG_I(PHY,"bad rballoc %d RIV_max %lld\n", rballoc, RIV_max); - return(0); - } - - if(NPRB == 0) - { - // DCI false detection - LOG_I(PHY,"bad NPRB\n"); - return(0); - } - - return(1); + pdci_info_extarcted->mcs1 = mcs; + pdci_info_extarcted->rballoc = rballoc; } -void compute_llr_offset(LTE_DL_FRAME_PARMS *frame_parms, - LTE_UE_PDCCH *pdcch_vars, - LTE_UE_PDSCH *pdsch_vars, - LTE_DL_UE_HARQ_t *dlsch0_harq, - uint8_t nb_rb_alloc, - uint8_t subframe) -{ - uint32_t pbch_pss_sss_re; - uint32_t crs_re; - uint32_t granted_re; - uint32_t data_re; - uint32_t llr_offset; - uint8_t symbol; - uint8_t symbol_mod; - - pdsch_vars->llr_offset[pdcch_vars->num_pdcch_symbols] = 0; - - //LOG_I(PHY,"compute_llr_offset: nb RB %d - Qm %d \n", nb_rb_alloc, dlsch0_harq->Qm); - - //dlsch0_harq->rb_alloc_even; - //dlsch0_harq->rb_alloc_odd; - - for(symbol=pdcch_vars->num_pdcch_symbols; symbolsymbols_per_tti; symbol++) - { - symbol_mod = (symbol >= (7-frame_parms->Ncp))? (symbol-(7-frame_parms->Ncp)) : symbol; - if((symbol_mod == 0) || symbol_mod == (4-frame_parms->Ncp)) - { - if (frame_parms->nb_antennas_tx == 2) - crs_re = 4; - else - crs_re = 2; - } - else - { - crs_re = 0; - } - - granted_re = nb_rb_alloc * (12-crs_re); - pbch_pss_sss_re = adjust_G2(frame_parms,dlsch0_harq->rb_alloc_even,dlsch0_harq->Qm,subframe,symbol); - pbch_pss_sss_re = (double)pbch_pss_sss_re * ((double)(12-crs_re)/12); - data_re = granted_re - pbch_pss_sss_re; - llr_offset = data_re * dlsch0_harq->Qm * 2; - - pdsch_vars->llr_length[symbol] = data_re; - if(symbol < (frame_parms->symbols_per_tti-1)) - pdsch_vars->llr_offset[symbol+1] = pdsch_vars->llr_offset[symbol] + llr_offset; - - //LOG_I(PHY,"Granted Re subframe %d / symbol %d => %d (%d RBs)\n", subframe, symbol_mod, granted_re,dlsch0_harq->nb_rb); - //LOG_I(PHY,"Pbch/PSS/SSS Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, pbch_pss_sss_re); - //LOG_I(PHY,"CRS Re Per PRB subframe %d / symbol %d => %d \n", subframe, symbol_mod, crs_re); - //LOG_I(PHY,"Data Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, data_re); - - - - //LOG_I(PHY,"Data Re subframe %d-symbol %d => llr length %d, llr offset %d \n", subframe, symbol, - // pdsch_vars->llr_length[symbol], pdsch_vars->llr_offset[symbol]); - } -} -void prepare_dl_decoding_format1_1A(DCI_format_t dci_format, - uint8_t N_RB_DL, - DCI_INFO_EXTRACTED_t *pdci_info_extarcted, - LTE_DL_FRAME_PARMS *frame_parms, - LTE_UE_PDCCH *pdcch_vars, - LTE_UE_PDSCH *pdsch_vars, - uint8_t subframe, - uint16_t rnti, - uint16_t tc_rnti, - uint16_t si_rnti, - uint16_t ra_rnti, - uint16_t p_rnti, - LTE_DL_UE_HARQ_t *pdlsch0_harq, - LTE_UE_DLSCH_t *pdlsch0) +void +extract_dci1_info (uint8_t N_RB_DL, lte_frame_type_t frame_type, void *dci_pdu, DCI_INFO_EXTRACTED_t * pdci_info_extarcted) { - uint8_t harq_pid = pdci_info_extarcted->harq_pid; - uint8_t vrb_type = pdci_info_extarcted->vrb_type; - uint32_t rballoc = pdci_info_extarcted->rballoc; - uint8_t mcs1 = pdci_info_extarcted->mcs1; - uint8_t rv1 = pdci_info_extarcted->rv1; - uint8_t ndi1 = pdci_info_extarcted->ndi1; - uint8_t TPC = pdci_info_extarcted->TPC; - uint8_t rah = pdci_info_extarcted->rah; - uint8_t dai = pdci_info_extarcted->dai; + uint32_t rballoc = 0; + uint8_t mcs = 0; + uint8_t rah = 0; + uint8_t rv = 0; + uint8_t TPC = 0; + uint8_t ndi = 0; + uint8_t harq_pid = 0; - - uint8_t NPRB = 0; - uint8_t NPRB4TBS = 0; - uint8_t nb_rb_alloc = 0; - - if(dci_format == format1A) - { - switch (N_RB_DL) { - case 6: - NPRB = RIV2nb_rb_LUT6[rballoc]; - break; - case 25: - NPRB = RIV2nb_rb_LUT25[rballoc]; - break; - case 50: - NPRB = RIV2nb_rb_LUT50[rballoc]; - break; - case 100: - NPRB = RIV2nb_rb_LUT100[rballoc]; - break; - } - if ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) - { - NPRB4TBS = (TPC&1) + 2; - } - else - { - NPRB4TBS = NPRB; - /* - switch (N_RB_DL) { - case 6: - NPRB = RIV2nb_rb_LUT6[rballoc];//NPRB; - break; - case 25: - NPRB = RIV2nb_rb_LUT25[rballoc];//NPRB; - break; - case 50: - NPRB = RIV2nb_rb_LUT50[rballoc];//NPRB; - break; - case 100: - NPRB = RIV2nb_rb_LUT100[rballoc];//NPRB; - break; - } - - */ - nb_rb_alloc = NPRB; - } - } - else // format1 - { - NPRB = conv_nprb(rah, rballoc, N_RB_DL); - NPRB4TBS=NPRB; - nb_rb_alloc = NPRB; + switch (N_RB_DL) { + case 6: + if (frame_type == TDD) { + mcs = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->rah; + rv = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->rv; + TPC = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_1_5MHz_TDD_t *) dci_pdu)->harq_pid; + } else { + mcs = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->mcs; + rah = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->rah; + rballoc = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->rv; + TPC = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_1_5MHz_FDD_t *) dci_pdu)->harq_pid; } - pdlsch0->current_harq_pid = harq_pid; - pdlsch0->active = 1; - pdlsch0->rnti = rnti; - if(dci_format == format1A) - pdlsch0->harq_ack[subframe].vDAI_DL = dai+1; + break; - if ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) - { - pdlsch0_harq->round = 0; - pdlsch0_harq->status = ACTIVE; - } - else //CRNTI - { - if (rnti == tc_rnti) { - //fix for standalone Contention Resolution Id - pdlsch0_harq->DCINdi = (uint8_t)-1; - LOG_D(PHY,"UE (%x/%d): Format1A DCI: C-RNTI is temporary. Set NDI = %d and to be ignored\n", - rnti,harq_pid,pdlsch0_harq->DCINdi); - } - - // NDI has been toggled or this is the first transmission - if ((ndi1!=pdlsch0_harq->DCINdi) || (pdlsch0_harq->first_tx==1)) - { - pdlsch0_harq->round = 0; - pdlsch0_harq->first_tx = 0; - pdlsch0_harq->status = ACTIVE; - - }else if (rv1 != 0 ) - //NDI has not been toggled but rv was increased by eNB: retransmission - { - if (pdlsch0_harq->status == SCH_IDLE) - //packet was actually decoded in previous transmission (ACK was missed by eNB) - //However, the round is not a good check as it might have been decoded in a retransmission prior to this one. - { - LOG_D(PHY,"skip pdsch decoding and report ack\n"); - // skip pdsch decoding and report ack - //pdlsch0_harq->status = SCH_IDLE; - pdlsch0->active = 0; - pdlsch0->harq_ack[subframe].ack = 1; - pdlsch0->harq_ack[subframe].harq_id = harq_pid; - pdlsch0->harq_ack[subframe].send_harq_status = 1; - - //pdlsch0_harq->first_tx = 0; - } - else //normal retransmission - { - // nothing special to do - } - } - else - { - pdlsch0_harq->status = ACTIVE; - } + case 25: + if (frame_type == TDD) { + mcs = ((DCI1_5MHz_TDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1_5MHz_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI1_5MHz_TDD_t *) dci_pdu)->rah; + rv = ((DCI1_5MHz_TDD_t *) dci_pdu)->rv; + TPC = ((DCI1_5MHz_TDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_5MHz_TDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_5MHz_TDD_t *) dci_pdu)->harq_pid; + } else { + mcs = ((DCI1_5MHz_FDD_t *) dci_pdu)->mcs; + rah = ((DCI1_5MHz_FDD_t *) dci_pdu)->rah; + rballoc = ((DCI1_5MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1_5MHz_FDD_t *) dci_pdu)->rv; + TPC = ((DCI1_5MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_5MHz_FDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_5MHz_FDD_t *) dci_pdu)->harq_pid; } - pdlsch0_harq->DCINdi = ndi1; - pdlsch0_harq->mcs = mcs1; - pdlsch0_harq->rvidx = rv1; - pdlsch0_harq->nb_rb = NPRB; + break; - pdlsch0_harq->codeword = 0; - pdlsch0_harq->Nl = 1; - pdlsch0_harq->mimo_mode = frame_parms->nb_antenna_ports_eNB == 1 ?SISO : ALAMOUTI; - pdlsch0_harq->dl_power_off = 1; //no power offset - pdlsch0_harq->delta_PUCCH = delta_PUCCH_lut[TPC &3]; - - // compute resource allocation - if(dci_format == format1A) - { - switch (N_RB_DL) { - case 6: - if (vrb_type == LOCALIZED) { - pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT6[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT6[rballoc]; - } - else { - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT6[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT6[rballoc]; - } - break; - - case 25: - if (vrb_type == LOCALIZED) { - pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT25[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT25[rballoc]; - } - else { - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT25[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT25[rballoc]; - } - break; - - case 50: - if (vrb_type == LOCALIZED) { - pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = localRIV2alloc_LUT50_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = localRIV2alloc_LUT50_1[rballoc]; - printf("rballoc: %08x.%08x\n",pdlsch0_harq->rb_alloc_even[0],pdlsch0_harq->rb_alloc_even[1]); - } else { // DISTRIBUTED - if ((rballoc&(1<<10)) == 0) { - rballoc = rballoc&(~(1<<10)); - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT50_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT50_1[rballoc]; - } - else { - rballoc = rballoc&(~(1<<10)); - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT50_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT50_1[rballoc]; - } - } - break; - - case 100: - if (vrb_type == LOCALIZED) { - pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = localRIV2alloc_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_even[2] = localRIV2alloc_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_even[3] = localRIV2alloc_LUT100_3[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = localRIV2alloc_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[2] = localRIV2alloc_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_odd[3] = localRIV2alloc_LUT100_3[rballoc]; - } else { - if ((rballoc&(1<<10)) == 0) { //Gap 1 - rballoc = rballoc&(~(1<<12)); - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap0_even_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap0_even_LUT100_3[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap0_odd_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap0_odd_LUT100_3[rballoc]; - } - else { //Gap 2 - rballoc = rballoc&(~(1<<12)); - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap1_even_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap1_even_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap1_even_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap1_even_LUT100_3[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap1_odd_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap1_odd_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap1_odd_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap1_odd_LUT100_3[rballoc]; - } - } - break; - } - } - else // format1 - { - conv_rballoc(rah,rballoc,frame_parms->N_RB_DL,pdlsch0_harq->rb_alloc_even); - pdlsch0_harq->rb_alloc_odd[0]= pdlsch0_harq->rb_alloc_even[0]; - pdlsch0_harq->rb_alloc_odd[1]= pdlsch0_harq->rb_alloc_even[1]; - pdlsch0_harq->rb_alloc_odd[2]= pdlsch0_harq->rb_alloc_even[2]; - pdlsch0_harq->rb_alloc_odd[3]= pdlsch0_harq->rb_alloc_even[3]; - } - if ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)) - { - pdlsch0_harq->TBS = TBStable[mcs1][NPRB4TBS-1]; - pdlsch0_harq->Qm = 2; - } - else - { - if(mcs1 < 29) - { - pdlsch0_harq->TBS = TBStable[get_I_TBS(mcs1)][NPRB4TBS-1]; - pdlsch0_harq->Qm = get_Qm(mcs1); - } + case 50: + if (frame_type == TDD) { + mcs = ((DCI1_10MHz_TDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1_10MHz_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI1_10MHz_TDD_t *) dci_pdu)->rah; + rv = ((DCI1_10MHz_TDD_t *) dci_pdu)->rv; + TPC = ((DCI1_10MHz_TDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_10MHz_TDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_10MHz_TDD_t *) dci_pdu)->harq_pid; + } else { + mcs = ((DCI1_10MHz_FDD_t *) dci_pdu)->mcs; + rah = ((DCI1_10MHz_FDD_t *) dci_pdu)->rah; + rballoc = ((DCI1_10MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1_10MHz_FDD_t *) dci_pdu)->rv; + TPC = ((DCI1_10MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_10MHz_FDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_10MHz_FDD_t *) dci_pdu)->harq_pid; } - compute_llr_offset(frame_parms, - pdcch_vars, - pdsch_vars, - pdlsch0_harq, - nb_rb_alloc, - subframe); -} + break; -void prepare_dl_decoding_format1C(uint8_t N_RB_DL, - DCI_INFO_EXTRACTED_t *pdci_info_extarcted, - LTE_DL_FRAME_PARMS *frame_parms, - LTE_UE_PDCCH *pdcch_vars, - LTE_UE_PDSCH *pdsch_vars, - uint32_t rnti, - uint32_t si_rnti, - uint32_t ra_rnti, - uint32_t p_rnti, - uint32_t frame, - uint8_t subframe, - LTE_DL_UE_HARQ_t *pdlsch0_harq, - LTE_UE_DLSCH_t *pdlsch0) -{ - - uint8_t harq_pid = pdci_info_extarcted->harq_pid; - uint32_t rballoc = pdci_info_extarcted->rballoc; - uint8_t mcs1 = pdci_info_extarcted->mcs1; - uint8_t Ngap = pdci_info_extarcted->Ngap; - - pdlsch0_harq->round = 0; - pdlsch0_harq->first_tx = 1; - pdlsch0_harq->vrb_type = DISTRIBUTED; - - if (rnti==si_rnti) { // rule from Section 5.3.1 of 36.321 - if (((frame&1) == 0) && (subframe == 5)) - pdlsch0_harq->rvidx = (((3*((frame>>1)&3))+1)>>1)&3; // SIB1 - else - pdlsch0_harq->rvidx = (((3*(subframe&3))+1)>>1)&3; // other SIBs - } - else if ((rnti==p_rnti) || (rnti==ra_rnti)) { // Section 7.1.7.3 - pdlsch0_harq->rvidx = 0; - } - - - pdlsch0_harq->Nl = 1; - pdlsch0_harq->mimo_mode = frame_parms->nb_antenna_ports_eNB == 1 ?SISO : ALAMOUTI; - pdlsch0_harq->dl_power_off = 1; //no power offset - - pdlsch0_harq->codeword = 0; - pdlsch0_harq->mcs = mcs1; - pdlsch0_harq->TBS = TBStable1C[mcs1]; - pdlsch0_harq->Qm = 2; - - - pdlsch0->current_harq_pid = harq_pid; - pdlsch0->active = 1; - pdlsch0->rnti = rnti; - - switch (N_RB_DL) { - case 6: - pdlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rballoc]; - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT6[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT6[rballoc]; - - break; - - case 25: - pdlsch0_harq->nb_rb = RIV2nb_rb_LUT25[rballoc]; - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT25[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT25[rballoc]; - break; - - case 50: - pdlsch0_harq->nb_rb = RIV2nb_rb_LUT50[rballoc]; - if (Ngap == 0) { - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT50_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT50_1[rballoc]; - } - else { - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap1_even_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap1_odd_LUT50_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap1_even_LUT50_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap1_odd_LUT50_1[rballoc]; - } - break; - - case 100: - pdlsch0_harq->nb_rb = RIV2nb_rb_LUT100[rballoc]; - if (Ngap==0) { - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap0_even_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap0_odd_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap0_even_LUT100_3[rballoc]; - pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap0_odd_LUT100_3[rballoc]; - } - else { - pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap1_even_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap1_odd_LUT100_0[rballoc]; - pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap1_even_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap1_odd_LUT100_1[rballoc]; - pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap1_even_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap1_odd_LUT100_2[rballoc]; - pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap1_even_LUT100_3[rballoc]; - pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap1_odd_LUT100_3[rballoc]; - } - break; - - default: - AssertFatal(0,"Format 1C: Unknown N_RB_DL %d\n",frame_parms->N_RB_DL); - break; + case 100: + if (frame_type == TDD) { + mcs = ((DCI1_20MHz_TDD_t *) dci_pdu)->mcs; + rballoc = ((DCI1_20MHz_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI1_20MHz_TDD_t *) dci_pdu)->rah; + rv = ((DCI1_20MHz_TDD_t *) dci_pdu)->rv; + TPC = ((DCI1_20MHz_TDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_20MHz_TDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_20MHz_TDD_t *) dci_pdu)->harq_pid; + } else { + mcs = ((DCI1_20MHz_FDD_t *) dci_pdu)->mcs; + rah = ((DCI1_20MHz_FDD_t *) dci_pdu)->rah; + rballoc = ((DCI1_20MHz_FDD_t *) dci_pdu)->rballoc; + rv = ((DCI1_20MHz_FDD_t *) dci_pdu)->rv; + TPC = ((DCI1_20MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI1_20MHz_FDD_t *) dci_pdu)->ndi; + harq_pid = ((DCI1_20MHz_FDD_t *) dci_pdu)->harq_pid; } - compute_llr_offset(frame_parms, - pdcch_vars, - pdsch_vars, - pdlsch0_harq, - pdlsch0_harq->nb_rb, - subframe); + break; + } + + pdci_info_extarcted->mcs1 = mcs; + pdci_info_extarcted->rah = rah; + pdci_info_extarcted->rballoc = rballoc; + pdci_info_extarcted->rv1 = rv; + pdci_info_extarcted->TPC = TPC; + pdci_info_extarcted->ndi1 = ndi; + pdci_info_extarcted->harq_pid = harq_pid; } -void compute_precoding_info_2cw(uint8_t tpmi, uint8_t tbswap, uint16_t pmi_alloc, LTE_DL_FRAME_PARMS *frame_parms, LTE_DL_UE_HARQ_t *dlsch0_harq, LTE_DL_UE_HARQ_t *dlsch1_harq) +void +extract_dci2_info (uint8_t N_RB_DL, lte_frame_type_t frame_type, uint8_t nb_antenna_ports_eNB, void *dci_pdu, DCI_INFO_EXTRACTED_t * pdci_info_extarcted) { -switch (tpmi) { - case 0: - dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; - dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; - dlsch0_harq->pmi_alloc = pmi_extend(frame_parms,0, 1); - dlsch1_harq->pmi_alloc = pmi_extend(frame_parms,0, 1); - break; - case 1: - dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; - dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; - dlsch0_harq->pmi_alloc = pmi_extend(frame_parms,1, 1); - dlsch1_harq->pmi_alloc = pmi_extend(frame_parms,1, 1); - break; - case 2: // PUSCH precoding - dlsch0_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; - dlsch1_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; - if (tbswap==0){ - dlsch0_harq->pmi_alloc = pmi_alloc; - dlsch1_harq->pmi_alloc = pmi_alloc^0x1555; - } else { - dlsch1_harq->pmi_alloc = pmi_alloc; - dlsch0_harq->pmi_alloc = pmi_alloc^0x1555; - } -#ifdef DEBUG_HARQ - printf ("\n \n compute_precoding_info_2cw pmi_alloc_new = %d\n", dlsch0_harq->pmi_alloc); - #endif - break; - default: - break; - } -} + uint32_t rballoc = 0; + uint8_t rah = 0; + uint8_t mcs1 = 0; + uint8_t mcs2 = 0; + uint8_t rv1 = 0; + uint8_t rv2 = 0; + uint8_t ndi1 = 0; + uint8_t ndi2 = 0; + uint8_t tbswap = 0; + uint8_t tpmi = 0; + uint8_t harq_pid = 0; + uint8_t TPC = 0; -void compute_precoding_info_1cw(uint8_t tpmi, uint16_t pmi_alloc, LTE_DL_FRAME_PARMS *frame_parms, LTE_DL_UE_HARQ_t *dlsch_harq) -{ - -switch (tpmi) { - case 0 : - dlsch_harq->mimo_mode = ALAMOUTI; - break; - case 1: - dlsch_harq->mimo_mode = UNIFORM_PRECODING11; - dlsch_harq->pmi_alloc = pmi_extend(frame_parms,0, 0); - break; - case 2: - dlsch_harq->mimo_mode = UNIFORM_PRECODING1m1; - dlsch_harq->pmi_alloc = pmi_extend(frame_parms,1, 0); - break; - case 3: - dlsch_harq->mimo_mode = UNIFORM_PRECODING1j; - dlsch_harq->pmi_alloc = pmi_extend(frame_parms,2, 0); - break; - case 4: - dlsch_harq->mimo_mode = UNIFORM_PRECODING1mj; - dlsch_harq->pmi_alloc = pmi_extend(frame_parms,3, 0); - break; - case 5: - dlsch_harq->mimo_mode = PUSCH_PRECODING0; - dlsch_harq->pmi_alloc = pmi_alloc;//pmi_convert(frame_parms,dlsch0->pmi_alloc,0); - break; - case 6: - dlsch_harq->mimo_mode = PUSCH_PRECODING1; - dlsch_harq->pmi_alloc = pmi_alloc;//pmi_convert(frame_parms,dlsch0->pmi_alloc,1); - break; - } - #ifdef DEBUG_HARQ - printf ("[DCI UE] I am calling from the UE side pmi_alloc_new = %d with tpmi %d\n", dlsch_harq->pmi_alloc, tpmi); - #endif - } - -void compute_precoding_info_format2A(uint8_t tpmi, - uint8_t nb_antenna_ports_eNB, - uint8_t tb0_active, - uint8_t tb1_active, - LTE_DL_UE_HARQ_t *dlsch0_harq, - LTE_DL_UE_HARQ_t *dlsch1_harq) -{ - - dlsch0_harq->dl_power_off = 0; - dlsch1_harq->dl_power_off = 0; + switch (N_RB_DL) { + case 6: if (nb_antenna_ports_eNB == 2) { - if ((tb0_active==1) && (tb1_active==1)) { - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->dl_power_off = 1; - dlsch1_harq->dl_power_off = 1; - } else { - dlsch0_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->mimo_mode = ALAMOUTI; - } - } else if (nb_antenna_ports_eNB == 4) { // 4 antenna case - if ((tb0_active==1) && (tb1_active==1)) { - switch (tpmi) { - case 0: // one layer per transport block - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->dl_power_off = 1; - dlsch1_harq->dl_power_off = 1; - break; - - case 1: // one-layers on TB 0, two on TB 1 - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->Nl = 2; - dlsch0_harq->dl_power_off = 1; - dlsch1_harq->dl_power_off = 1; - break; - - case 2: // two-layers on TB 0, two on TB 1 - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->Nl = 2; - dlsch0_harq->dl_power_off = 1; - dlsch1_harq->dl_power_off = 1; - break; - - case 3: // - LOG_E(PHY,"Illegal value (3) for TPMI in Format 2A DCI\n"); - break; - } - } else if (tb0_active == 1) { - switch (tpmi) { - case 0: // one layer per transport block - dlsch0_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->mimo_mode = ALAMOUTI; - break; - - case 1: // two-layers on TB 0 - dlsch0_harq->mimo_mode = LARGE_CDD; - dlsch0_harq->Nl = 2; - dlsch0_harq->dl_power_off = 1; - break; - - case 2: // two-layers on TB 0, two on TB 1 - case 3: // - LOG_E(PHY,"Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n",tpmi); - break; - } - } else if (tb1_active == 1) { - switch (tpmi) { - case 0: // one layer per transport block - dlsch0_harq->mimo_mode = ALAMOUTI; - dlsch1_harq->mimo_mode = ALAMOUTI; - break; - - case 1: // two-layers on TB 0 - dlsch1_harq->mimo_mode = LARGE_CDD; - dlsch1_harq->Nl = 2; - dlsch0_harq->dl_power_off = 1; - break; - - case 2: // two-layers on TB 0, two on TB 1 - case 3: // - LOG_E(PHY,"Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n",tpmi); - break; - } - } + if (frame_type == TDD) { + rah = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->ndi2; } - // printf("Format 2A: NPRB=%d (rballoc %x,mcs1 %d, mcs2 %d, frame_type %d N_RB_DL %d,active %d/%d)\n",NPRB,rballoc,mcs1,mcs2,frame_parms->frame_type,frame_parms->N_RB_DL,dlsch0->active,dlsch1->active); - //printf("UE (%x/%d): Subframe %d Format2A DCI: ndi1 %d, old_ndi1 %d, ndi2 %d, old_ndi2 %d (first tx1 %d, first tx2 %d) harq_status1 %d, harq_status2 %d\n",dlsch0->rnti,harq_pid,subframe,ndi,dlsch0_harq->DCINdi, - // dlsch0_harq->first_tx,dlsch1_harq->first_tx,dlsch0_harq->status,dlsch1_harq->status); - //printf("TBS0 %d, TBS1 %d\n",dlsch0_harq->TBS,dlsch1_harq->TBS); + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + rah = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->ndi2; + } + } else { + LOG_E (PHY, "UE: Format2 DCI: unsupported number of TX antennas %d\n", nb_antenna_ports_eNB); + } + + break; + + case 25: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + rah = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_2A_FDD_t *) dci_pdu)->ndi2; + } + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + rah = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_4A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_2A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_5MHz_4A_FDD_t *) dci_pdu)->ndi2; + } + } else { + LOG_E (PHY, "UE: Format2 DCI: unsupported number of TX antennas %d\n", nb_antenna_ports_eNB); + } + + break; + + case 50: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + rah = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_10MHz_2A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_10MHz_2A_FDD_t *) dci_pdu)->ndi2; + } + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + rah = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_10MHz_4A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_10MHz_4A_FDD_t *) dci_pdu)->ndi2; + } + } else { + LOG_E (PHY, "UE: Format2A DCI: unsupported number of TX antennas %d\n", nb_antenna_ports_eNB); + } + + break; + + case 100: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + rah = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_20MHz_2A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_20MHz_2A_FDD_t *) dci_pdu)->ndi2; + } + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + rah = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_20MHz_4A_TDD_t *) dci_pdu)->ndi2; + } else { + rah = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->rah; + mcs1 = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->rv2; + harq_pid = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->TPC; + ndi1 = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2_20MHz_4A_FDD_t *) dci_pdu)->ndi2; + } + } else { + LOG_E (PHY, "UE: Format2A DCI: unsupported number of TX antennas %d\n", nb_antenna_ports_eNB); + } + + break; + } + + pdci_info_extarcted->rah = rah; + pdci_info_extarcted->mcs1 = mcs1; + pdci_info_extarcted->mcs2 = mcs2; + pdci_info_extarcted->rv1 = rv1; + pdci_info_extarcted->rv2 = rv2; + pdci_info_extarcted->harq_pid = harq_pid; + pdci_info_extarcted->rballoc = rballoc; + pdci_info_extarcted->tb_swap = tbswap; + pdci_info_extarcted->tpmi = tpmi; + pdci_info_extarcted->TPC = TPC; + pdci_info_extarcted->ndi1 = ndi1; + pdci_info_extarcted->ndi2 = ndi2; } -void prepare_dl_decoding_format2_2A(DCI_format_t dci_format, - DCI_INFO_EXTRACTED_t *pdci_info_extarcted, - LTE_DL_FRAME_PARMS *frame_parms, - LTE_UE_PDCCH *pdcch_vars, - LTE_UE_PDSCH *pdsch_vars, - uint16_t rnti, - uint8_t subframe, - LTE_DL_UE_HARQ_t *dlsch0_harq, - LTE_DL_UE_HARQ_t *dlsch1_harq, - LTE_UE_DLSCH_t *pdlsch0, - LTE_UE_DLSCH_t *pdlsch1) +void +extract_dci2A_info (uint8_t N_RB_DL, lte_frame_type_t frame_type, uint8_t nb_antenna_ports_eNB, void *dci_pdu, DCI_INFO_EXTRACTED_t * pdci_info_extarcted) { - uint8_t rah = pdci_info_extarcted->rah; - uint8_t mcs1 = pdci_info_extarcted->mcs1; - uint8_t mcs2 = pdci_info_extarcted->mcs2; - uint8_t rv1 = pdci_info_extarcted->rv1; - uint8_t rv2 = pdci_info_extarcted->rv2; - uint8_t harq_pid = pdci_info_extarcted->harq_pid; - uint32_t rballoc = pdci_info_extarcted->rballoc; - uint8_t tbswap = pdci_info_extarcted->tb_swap; - uint8_t tpmi = pdci_info_extarcted->tpmi; - uint8_t TPC = pdci_info_extarcted->TPC; - uint8_t ndi1 = pdci_info_extarcted->ndi1; - uint8_t ndi2 = pdci_info_extarcted->ndi2; + uint32_t rballoc = 0; + uint8_t rah = 0; + uint8_t mcs1 = 0; + uint8_t mcs2 = 0; + uint8_t rv1 = 0; + uint8_t rv2 = 0; + uint8_t ndi1 = 0; + uint8_t ndi2 = 0; + uint8_t tbswap = 0; + uint8_t tpmi = 0; + uint8_t harq_pid = 0; + uint8_t TPC = 0; - uint8_t TB0_active = 1; - uint8_t TB1_active = 1; + AssertFatal ((nb_antenna_ports_eNB == 2) || (nb_antenna_ports_eNB == 4), "unsupported nb_antenna_ports_eNB %d\n", nb_antenna_ports_eNB); + switch (N_RB_DL) { - // printf("inside prepare pdlsch1->pmi_alloc %d \n",pdlsch1->pmi_alloc); - - - if ((rv1 == 1) && (mcs1 == 0)) { - TB0_active=0; + case 6: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_1_5MHz_2A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_1_5MHz_2A_FDD_t *) dci_pdu)->TPC; } - if ((rv2 == 1) && (mcs2 == 0)) { - TB1_active=0; + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_1_5MHz_4A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->rballoc; + rv1 = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_1_5MHz_4A_FDD_t *) dci_pdu)->TPC; } + } -#ifdef DEBUG_HARQ - printf("[DCI UE]: TB0 status %d , TB1 status %d\n", TB0_active, TB1_active); + break; + + case 25: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_5MHz_2A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_5MHz_2A_FDD_t *) dci_pdu)->TPC; + } + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_5MHz_4A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_5MHz_4A_FDD_t *) dci_pdu)->TPC; + } + } + break; + + case 50: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_10MHz_2A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_10MHz_2A_FDD_t *) dci_pdu)->TPC; + } + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_10MHz_4A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_10MHz_4A_FDD_t *) dci_pdu)->TPC; + } + } + + break; + + case 100: + if (nb_antenna_ports_eNB == 2) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_20MHz_2A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->tb_swap; + TPC = ((DCI2A_20MHz_2A_FDD_t *) dci_pdu)->TPC; + } + } else if (nb_antenna_ports_eNB == 4) { + if (frame_type == TDD) { + mcs1 = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_20MHz_4A_TDD_t *) dci_pdu)->TPC; + } else { + mcs1 = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->mcs1; + mcs2 = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->mcs2; + rballoc = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->rballoc; + rah = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->rah; + rv1 = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->rv1; + rv2 = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->rv2; + ndi1 = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->ndi1; + ndi2 = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->ndi2; + harq_pid = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->harq_pid; + tbswap = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->tb_swap; + tpmi = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->tpmi; + TPC = ((DCI2A_20MHz_4A_FDD_t *) dci_pdu)->TPC; + } + } + + break; + } + + pdci_info_extarcted->mcs1 = mcs1; + pdci_info_extarcted->mcs2 = mcs2; + pdci_info_extarcted->rballoc = rballoc; + pdci_info_extarcted->rah = rah; + pdci_info_extarcted->rv1 = rv1; + pdci_info_extarcted->rv2 = rv2; + pdci_info_extarcted->ndi1 = ndi1; + pdci_info_extarcted->ndi2 = ndi2; + pdci_info_extarcted->harq_pid = harq_pid; + pdci_info_extarcted->tb_swap = tbswap; + pdci_info_extarcted->TPC = TPC; + pdci_info_extarcted->tpmi = tpmi; +} + +int +check_dci_format1_1a_coherency (DCI_format_t dci_format, + uint8_t N_RB_DL, + uint16_t rnti, + uint16_t tc_rnti, + uint16_t si_rnti, uint16_t ra_rnti, uint16_t p_rnti, uint32_t frame, uint8_t subframe, DCI_INFO_EXTRACTED_t * pdci_info_extarcted, LTE_DL_UE_HARQ_t * pdlsch0_harq) +{ + uint8_t harq_pid = pdci_info_extarcted->harq_pid; + uint32_t rballoc = pdci_info_extarcted->rballoc; + uint8_t mcs1 = pdci_info_extarcted->mcs1; + uint8_t TPC = pdci_info_extarcted->TPC; + uint8_t rah = pdci_info_extarcted->rah; +#ifdef DEBUG_DCI + uint8_t rv1 = pdci_info_extarcted->rv1; + uint8_t ndi1 = pdci_info_extarcted->ndi1; #endif - dlsch0_harq->mcs = mcs1; - dlsch1_harq->mcs = mcs2; - dlsch0_harq->rvidx = rv1; - dlsch1_harq->rvidx = rv2; - dlsch0_harq->DCINdi = ndi1; - dlsch1_harq->DCINdi = ndi2; + uint8_t NPRB = 0; + long long int RIV_max = 0; - dlsch0_harq->codeword = 0; - dlsch1_harq->codeword = 1; - dlsch0_harq->Nl = 1; - dlsch1_harq->Nl = 1; - dlsch0_harq->delta_PUCCH = delta_PUCCH_lut[TPC&3]; - dlsch1_harq->delta_PUCCH = delta_PUCCH_lut[TPC&3]; +#ifdef DEBUG_DCI + LOG_I (PHY, "[DCI-FORMAT-1-1A] AbsSubframe %d.%d dci_format %d\n", frame, subframe, dci_format); + LOG_I (PHY, "[DCI-FORMAT-1-1A] rnti %x\n", rnti); + LOG_I (PHY, "[DCI-FORMAT-1-1A] harq_pid %d\n", harq_pid); + LOG_I (PHY, "[DCI-FORMAT-1-1A] rah %d\n", rah); + LOG_I (PHY, "[DCI-FORMAT-1-1A] rballoc %x\n", rballoc); + LOG_I (PHY, "[DCI-FORMAT-1-1A] mcs1 %d\n", mcs1); + LOG_I (PHY, "[DCI-FORMAT-1-1A] rv1 %d\n", rv1); + LOG_I (PHY, "[DCI-FORMAT-1-1A] ndi1 %d\n", ndi1); + LOG_I (PHY, "[DCI-FORMAT-1-1A] TPC %d\n", TPC); +#endif + + + // I- check dci content minimum coherency + if (((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) && harq_pid > 0) { + return (0); + } + + if (harq_pid >= 8) { + LOG_I (PHY, "bad harq id \n"); + return (0); + } + + if (dci_format == format1 && ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti))) { + LOG_I (PHY, "bad dci format \n"); + return (0); + } + + + if (mcs1 > 28) { + if (pdlsch0_harq->round == 0) { + LOG_I (PHY, "bad dci mcs + round \n"); + return (0); + } + + if ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) { + LOG_I (PHY, "bad dci mcs + rnti \n"); + return (0); + } + } + + if ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) { + NPRB = (TPC & 1) + 2; + switch (N_RB_DL) { + case 6: + RIV_max = RIV_max6; + break; + case 25: + RIV_max = RIV_max25; + break; + case 50: + RIV_max = RIV_max50; + break; + case 100: + RIV_max = RIV_max100; + break; + } + } else { + switch (N_RB_DL) { + case 6: + NPRB = RIV2nb_rb_LUT6[rballoc]; //NPRB; + if (rah) + RIV_max = RIV_max6; + else + RIV_max = 0x3F; + break; + case 25: + NPRB = RIV2nb_rb_LUT25[rballoc]; //NPRB; + if (rah) + RIV_max = RIV_max25; + else + RIV_max = 0x1FFF; + break; + case 50: + NPRB = RIV2nb_rb_LUT50[rballoc]; //NPRB; + if (rah) + RIV_max = RIV_max50; + else + RIV_max = 0x1FFFF; + break; + case 100: + NPRB = RIV2nb_rb_LUT100[rballoc]; //NPRB; + if (rah) + RIV_max = RIV_max100; + else + RIV_max = 0x1FFFFFF; + break; + } + } + + + if (dci_format == format1) { + NPRB = conv_nprb (rah, rballoc, N_RB_DL); + } + + + if (rballoc > RIV_max) { + LOG_I (PHY, "bad dci rballoc rballoc %d RIV_max %lld \n", rballoc, RIV_max); + // DCI false detection + return (0); + } + + if (NPRB == 0) { + // DCI false detection + LOG_I (PHY, "bad NPRB = 0 \n"); + return (0); + } + // this a retransmission + if (pdlsch0_harq->round > 0) { + // compare old TBS to new TBS + if ((mcs1 < 29) && (pdlsch0_harq->TBS != TBStable[get_I_TBS (mcs1)][NPRB - 1])) { + // this is an eNB issue + // retransmisison but old and new TBS are different !!! + // work around, consider it as a new transmission + LOG_E (PHY, "Format1A Retransmission but TBS are different: consider it as new transmission !!! \n"); + pdlsch0_harq->round = 0; + //return(0); // ?? to cross check + } + } + + return (1); +} + +int +check_dci_format1c_coherency (uint8_t N_RB_DL, DCI_INFO_EXTRACTED_t * pdci_info_extarcted, uint16_t rnti, uint16_t si_rnti, uint16_t ra_rnti, uint16_t p_rnti, LTE_DL_UE_HARQ_t * pdlsch0_harq) +{ + uint32_t rballoc = pdci_info_extarcted->rballoc; + + uint8_t NPRB = 0; + uint32_t RIV_max = 0; + + // I- check dci content minimum coherency + + if ((rnti != si_rnti) && (rnti != p_rnti) && (rnti != ra_rnti)) + return (0); + + switch (N_RB_DL) { + case 6: + NPRB = RIV2nb_rb_LUT6[rballoc]; //NPRB; + RIV_max = RIV_max6; + break; + case 25: + NPRB = RIV2nb_rb_LUT25[rballoc]; //NPRB; + RIV_max = RIV_max25; + break; + case 50: + NPRB = RIV2nb_rb_LUT50[rballoc]; //NPRB; + RIV_max = RIV_max50; + break; + case 100: + NPRB = RIV2nb_rb_LUT100[rballoc]; //NPRB; + RIV_max = RIV_max100; + break; + } + + if (rballoc > RIV_max) { + // DCI false detection + return (0); + } + + if (NPRB == 0) { + // DCI false detection + return (0); + } + + return (1); +} + +int +check_dci_format2_2a_coherency (DCI_format_t dci_format, + uint8_t N_RB_DL, + DCI_INFO_EXTRACTED_t * pdci_info_extarcted, + uint16_t rnti, uint16_t si_rnti, uint16_t ra_rnti, uint16_t p_rnti, LTE_DL_UE_HARQ_t * pdlsch0_harq, LTE_DL_UE_HARQ_t * pdlsch1_harq) +{ + uint8_t rah = pdci_info_extarcted->rah; + uint8_t mcs1 = pdci_info_extarcted->mcs1; + uint8_t mcs2 = pdci_info_extarcted->mcs2; + uint8_t rv1 = pdci_info_extarcted->rv1; + uint8_t rv2 = pdci_info_extarcted->rv2; + uint8_t harq_pid = pdci_info_extarcted->harq_pid; + uint32_t rballoc = pdci_info_extarcted->rballoc; + +#ifdef DEBUG_DCI + uint8_t ndi1 = pdci_info_extarcted->ndi1; + uint8_t ndi2 = pdci_info_extarcted->ndi2; +#endif + + uint8_t NPRB = 0; + long long RIV_max = 0; + +#ifdef DEBUG_DCI + LOG_I (PHY, "extarcted dci - dci_format %d \n", dci_format); + LOG_I (PHY, "extarcted dci - rnti %d \n", rnti); + LOG_I (PHY, "extarcted dci - rah %d \n", rah); + LOG_I (PHY, "extarcted dci - mcs1 %d \n", mcs1); + LOG_I (PHY, "extarcted dci - mcs2 %d \n", mcs2); + LOG_I (PHY, "extarcted dci - rv1 %d \n", rv1); + LOG_I (PHY, "extarcted dci - rv2 %d \n", rv2); + //LOG_I(PHY, "extarcted dci - ndi1 %d \n", ndi1); + //LOG_I(PHY, "extarcted dci - ndi2 %d \n", ndi2); + LOG_I (PHY, "extarcted dci - rballoc %x \n", rballoc); + LOG_I (PHY, "extarcted dci - harq pid %d \n", harq_pid); + LOG_I (PHY, "extarcted dci - round0 %d \n", pdlsch0_harq->round); + LOG_I (PHY, "extarcted dci - round1 %d \n", pdlsch1_harq->round); +#endif + + // I- check dci content minimum coherency + if (harq_pid >= 8) { + LOG_I (PHY, "bad harq pid\n"); + return (0); + } + + if ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) { + LOG_I (PHY, "bad rnti\n"); + return (0); + } + + + if (mcs1 > 28) { + if (pdlsch0_harq->round == 0) { + LOG_I (PHY, "bad mcs1\n"); + return (0); + } + } + + if (mcs2 > 28) { + if (pdlsch1_harq->round == 0) { + LOG_I (PHY, "bad mcs2\n"); + return (0); + } + } + + + if ((pdlsch0_harq->round == 0) && (rv1 > 0) && (mcs1 != 0)) { + // DCI false detection + LOG_I (PHY, "bad rv1\n"); + return (0); + } + + if ((pdlsch1_harq->round == 0) && (rv2 > 0) && (mcs2 != 0)) { + // DCI false detection + LOG_I (PHY, "bad rv2\n"); + return (0); + } + + + switch (N_RB_DL) { + case 6: + if (rah == 0) { + //RBG = 1; + RIV_max = 0x3F; + } else { + RIV_max = RIV_max6; + } + break; + case 25: + if (rah == 0) { + //RBG = 2; + RIV_max = 0x1FFF; + } else { + RIV_max = RIV_max25; + } + break; + case 50: + if (rah == 0) { + //RBG = 3; + RIV_max = 0x1FFFF; + } else { + RIV_max = RIV_max50; + } + break; + case 100: + if (rah == 0) { + //RBG = 4; + RIV_max = 0x1FFFFFF; + } else { + RIV_max = RIV_max100; + } + break; + } + + NPRB = conv_nprb (rah, rballoc, N_RB_DL); + + + + if ((rballoc > RIV_max) && (rah == 1)) { + // DCI false detection + LOG_I (PHY, "bad rballoc %d RIV_max %lld\n", rballoc, RIV_max); + return (0); + } + + if (NPRB == 0) { + // DCI false detection + LOG_I (PHY, "bad NPRB\n"); + return (0); + } + + return (1); +} + +void +compute_llr_offset (LTE_DL_FRAME_PARMS * frame_parms, LTE_UE_PDCCH * pdcch_vars, LTE_UE_PDSCH * pdsch_vars, LTE_DL_UE_HARQ_t * dlsch0_harq, uint8_t nb_rb_alloc, uint8_t subframe) +{ + uint32_t pbch_pss_sss_re; + uint32_t crs_re; + uint32_t granted_re; + uint32_t data_re; + uint32_t llr_offset; + uint8_t symbol; + uint8_t symbol_mod; + + pdsch_vars->llr_offset[pdcch_vars->num_pdcch_symbols] = 0; + + //LOG_I(PHY,"compute_llr_offset: nb RB %d - Qm %d \n", nb_rb_alloc, dlsch0_harq->Qm); + + //dlsch0_harq->rb_alloc_even; + //dlsch0_harq->rb_alloc_odd; + + for (symbol = pdcch_vars->num_pdcch_symbols; symbol < frame_parms->symbols_per_tti; symbol++) { + symbol_mod = (symbol >= (7 - frame_parms->Ncp)) ? (symbol - (7 - frame_parms->Ncp)) : symbol; + if ((symbol_mod == 0) || symbol_mod == (4 - frame_parms->Ncp)) { + if (frame_parms->nb_antennas_tx == 2) + crs_re = 4; + else + crs_re = 2; + } else { + crs_re = 0; + } + + granted_re = nb_rb_alloc * (12 - crs_re); + pbch_pss_sss_re = adjust_G2 (frame_parms, dlsch0_harq->rb_alloc_even, dlsch0_harq->Qm, subframe, symbol); + pbch_pss_sss_re = (double) pbch_pss_sss_re *((double) (12 - crs_re) / 12); + data_re = granted_re - pbch_pss_sss_re; + llr_offset = data_re * dlsch0_harq->Qm * 2; + + pdsch_vars->llr_length[symbol] = data_re; + if (symbol < (frame_parms->symbols_per_tti - 1)) + pdsch_vars->llr_offset[symbol + 1] = pdsch_vars->llr_offset[symbol] + llr_offset; + + //LOG_I(PHY,"Granted Re subframe %d / symbol %d => %d (%d RBs)\n", subframe, symbol_mod, granted_re,dlsch0_harq->nb_rb); + //LOG_I(PHY,"Pbch/PSS/SSS Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, pbch_pss_sss_re); + //LOG_I(PHY,"CRS Re Per PRB subframe %d / symbol %d => %d \n", subframe, symbol_mod, crs_re); + //LOG_I(PHY,"Data Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, data_re); + + + + //LOG_I(PHY,"Data Re subframe %d-symbol %d => llr length %d, llr offset %d \n", subframe, symbol, + // pdsch_vars->llr_length[symbol], pdsch_vars->llr_offset[symbol]); + } +} + +void +prepare_dl_decoding_format1_1A (DCI_format_t dci_format, + uint8_t N_RB_DL, + DCI_INFO_EXTRACTED_t * pdci_info_extarcted, + LTE_DL_FRAME_PARMS * frame_parms, + LTE_UE_PDCCH * pdcch_vars, + LTE_UE_PDSCH * pdsch_vars, + uint8_t subframe, uint16_t rnti, uint16_t tc_rnti, uint16_t si_rnti, uint16_t ra_rnti, uint16_t p_rnti, LTE_DL_UE_HARQ_t * pdlsch0_harq, LTE_UE_DLSCH_t * pdlsch0) +{ + + uint8_t harq_pid = pdci_info_extarcted->harq_pid; + uint8_t vrb_type = pdci_info_extarcted->vrb_type; + uint32_t rballoc = pdci_info_extarcted->rballoc; + uint8_t mcs1 = pdci_info_extarcted->mcs1; + uint8_t rv1 = pdci_info_extarcted->rv1; + uint8_t ndi1 = pdci_info_extarcted->ndi1; + uint8_t TPC = pdci_info_extarcted->TPC; + uint8_t rah = pdci_info_extarcted->rah; + uint8_t dai = pdci_info_extarcted->dai; + + + uint8_t NPRB = 0; + uint8_t NPRB4TBS = 0; + uint8_t nb_rb_alloc = 0; + + if (dci_format == format1A) { + switch (N_RB_DL) { + case 6: + NPRB = RIV2nb_rb_LUT6[rballoc]; + break; + case 25: + NPRB = RIV2nb_rb_LUT25[rballoc]; + break; + case 50: + NPRB = RIV2nb_rb_LUT50[rballoc]; + break; + case 100: + NPRB = RIV2nb_rb_LUT100[rballoc]; + break; + } + if ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) { + NPRB4TBS = (TPC & 1) + 2; + } else { + NPRB4TBS = NPRB; + /* + switch (N_RB_DL) { + case 6: + NPRB = RIV2nb_rb_LUT6[rballoc];//NPRB; + break; + case 25: + NPRB = RIV2nb_rb_LUT25[rballoc];//NPRB; + break; + case 50: + NPRB = RIV2nb_rb_LUT50[rballoc];//NPRB; + break; + case 100: + NPRB = RIV2nb_rb_LUT100[rballoc];//NPRB; + break; + } + + */ + nb_rb_alloc = NPRB; + } + } else // format1 + { + NPRB = conv_nprb (rah, rballoc, N_RB_DL); + NPRB4TBS = NPRB; + nb_rb_alloc = NPRB; + } + + pdlsch0->current_harq_pid = harq_pid; + pdlsch0->active = 1; + pdlsch0->rnti = rnti; + if (dci_format == format1A) + pdlsch0->harq_ack[subframe].vDAI_DL = dai + 1; + + if ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) { + pdlsch0_harq->round = 0; + pdlsch0_harq->status = ACTIVE; + } else //CRNTI + { + if (rnti == tc_rnti) { + //fix for standalone Contention Resolution Id + pdlsch0_harq->DCINdi = (uint8_t) - 1; + LOG_D (PHY, "UE (%x/%d): Format1A DCI: C-RNTI is temporary. Set NDI = %d and to be ignored\n", rnti, harq_pid, pdlsch0_harq->DCINdi); + } + // NDI has been toggled or this is the first transmission + if ((ndi1 != pdlsch0_harq->DCINdi) || (pdlsch0_harq->first_tx == 1)) { + pdlsch0_harq->round = 0; + pdlsch0_harq->first_tx = 0; + pdlsch0_harq->status = ACTIVE; + + } else if (rv1 != 0) + //NDI has not been toggled but rv was increased by eNB: retransmission + { + if (pdlsch0_harq->status == SCH_IDLE) + //packet was actually decoded in previous transmission (ACK was missed by eNB) + //However, the round is not a good check as it might have been decoded in a retransmission prior to this one. + { + LOG_D (PHY, "skip pdsch decoding and report ack\n"); + // skip pdsch decoding and report ack + //pdlsch0_harq->status = SCH_IDLE; + pdlsch0->active = 0; + pdlsch0->harq_ack[subframe].ack = 1; + pdlsch0->harq_ack[subframe].harq_id = harq_pid; + pdlsch0->harq_ack[subframe].send_harq_status = 1; + + //pdlsch0_harq->first_tx = 0; + } else //normal retransmission + { + // nothing special to do + } + } else { + pdlsch0_harq->status = ACTIVE; + } + } + + pdlsch0_harq->DCINdi = ndi1; + pdlsch0_harq->mcs = mcs1; + pdlsch0_harq->rvidx = rv1; + pdlsch0_harq->nb_rb = NPRB; + + pdlsch0_harq->codeword = 0; + pdlsch0_harq->Nl = 1; + pdlsch0_harq->mimo_mode = frame_parms->nb_antenna_ports_eNB == 1 ? SISO : ALAMOUTI; + pdlsch0_harq->dl_power_off = 1; //no power offset + pdlsch0_harq->delta_PUCCH = delta_PUCCH_lut[TPC & 3]; + + // compute resource allocation + if (dci_format == format1A) { + switch (N_RB_DL) { + case 6: + if (vrb_type == LOCALIZED) { + pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT6[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT6[rballoc]; + } else { + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT6[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT6[rballoc]; + } + break; + + case 25: + if (vrb_type == LOCALIZED) { + pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT25[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT25[rballoc]; + } else { + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT25[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT25[rballoc]; + } + break; + + case 50: + if (vrb_type == LOCALIZED) { + pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = localRIV2alloc_LUT50_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = localRIV2alloc_LUT50_1[rballoc]; + printf ("rballoc: %08x.%08x\n", pdlsch0_harq->rb_alloc_even[0], pdlsch0_harq->rb_alloc_even[1]); + } else { // DISTRIBUTED + if ((rballoc & (1 << 10)) == 0) { + rballoc = rballoc & (~(1 << 10)); + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT50_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT50_1[rballoc]; + } else { + rballoc = rballoc & (~(1 << 10)); + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT50_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT50_1[rballoc]; + } + } + break; + + case 100: + if (vrb_type == LOCALIZED) { + pdlsch0_harq->rb_alloc_even[0] = localRIV2alloc_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = localRIV2alloc_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_even[2] = localRIV2alloc_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_even[3] = localRIV2alloc_LUT100_3[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = localRIV2alloc_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = localRIV2alloc_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[2] = localRIV2alloc_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_odd[3] = localRIV2alloc_LUT100_3[rballoc]; + } else { + if ((rballoc & (1 << 10)) == 0) { //Gap 1 + rballoc = rballoc & (~(1 << 12)); + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap0_even_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap0_even_LUT100_3[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap0_odd_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap0_odd_LUT100_3[rballoc]; + } else { //Gap 2 + rballoc = rballoc & (~(1 << 12)); + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap1_even_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap1_even_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap1_even_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap1_even_LUT100_3[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap1_odd_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap1_odd_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap1_odd_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap1_odd_LUT100_3[rballoc]; + } + } + break; + } + } else // format1 + { + conv_rballoc (rah, rballoc, frame_parms->N_RB_DL, pdlsch0_harq->rb_alloc_even); + pdlsch0_harq->rb_alloc_odd[0] = pdlsch0_harq->rb_alloc_even[0]; + pdlsch0_harq->rb_alloc_odd[1] = pdlsch0_harq->rb_alloc_even[1]; + pdlsch0_harq->rb_alloc_odd[2] = pdlsch0_harq->rb_alloc_even[2]; + pdlsch0_harq->rb_alloc_odd[3] = pdlsch0_harq->rb_alloc_even[3]; + } + if ((rnti == si_rnti) || (rnti == p_rnti) || (rnti == ra_rnti)) { + pdlsch0_harq->TBS = TBStable[mcs1][NPRB4TBS - 1]; + pdlsch0_harq->Qm = 2; + } else { + if (mcs1 < 29) { + pdlsch0_harq->TBS = TBStable[get_I_TBS (mcs1)][NPRB4TBS - 1]; + pdlsch0_harq->Qm = get_Qm (mcs1); + } + } + + compute_llr_offset (frame_parms, pdcch_vars, pdsch_vars, pdlsch0_harq, nb_rb_alloc, subframe); +} + +void +prepare_dl_decoding_format1C (uint8_t N_RB_DL, + DCI_INFO_EXTRACTED_t * pdci_info_extarcted, + LTE_DL_FRAME_PARMS * frame_parms, + LTE_UE_PDCCH * pdcch_vars, + LTE_UE_PDSCH * pdsch_vars, + uint32_t rnti, uint32_t si_rnti, uint32_t ra_rnti, uint32_t p_rnti, uint32_t frame, uint8_t subframe, LTE_DL_UE_HARQ_t * pdlsch0_harq, LTE_UE_DLSCH_t * pdlsch0) +{ + + uint8_t harq_pid = pdci_info_extarcted->harq_pid; + uint32_t rballoc = pdci_info_extarcted->rballoc; + uint8_t mcs1 = pdci_info_extarcted->mcs1; + uint8_t Ngap = pdci_info_extarcted->Ngap; + + pdlsch0_harq->round = 0; + pdlsch0_harq->first_tx = 1; + pdlsch0_harq->vrb_type = DISTRIBUTED; + + if (rnti == si_rnti) { // rule from Section 5.3.1 of 36.321 + if (((frame & 1) == 0) && (subframe == 5)) + pdlsch0_harq->rvidx = (((3 * ((frame >> 1) & 3)) + 1) >> 1) & 3; // SIB1 + else + pdlsch0_harq->rvidx = (((3 * (subframe & 3)) + 1) >> 1) & 3; // other SIBs + } else if ((rnti == p_rnti) || (rnti == ra_rnti)) { // Section 7.1.7.3 + pdlsch0_harq->rvidx = 0; + } + + + pdlsch0_harq->Nl = 1; + pdlsch0_harq->mimo_mode = frame_parms->nb_antenna_ports_eNB == 1 ? SISO : ALAMOUTI; + pdlsch0_harq->dl_power_off = 1; //no power offset + + pdlsch0_harq->codeword = 0; + pdlsch0_harq->mcs = mcs1; + pdlsch0_harq->TBS = TBStable1C[mcs1]; + pdlsch0_harq->Qm = 2; + + + pdlsch0->current_harq_pid = harq_pid; + pdlsch0->active = 1; + pdlsch0->rnti = rnti; + + switch (N_RB_DL) { + case 6: + pdlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rballoc]; + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT6[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT6[rballoc]; + + break; + + case 25: + pdlsch0_harq->nb_rb = RIV2nb_rb_LUT25[rballoc]; + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_even_LUT25[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_odd_LUT25[rballoc]; + break; + + case 50: + pdlsch0_harq->nb_rb = RIV2nb_rb_LUT50[rballoc]; + if (Ngap == 0) { + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT50_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT50_1[rballoc]; + } else { + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap1_even_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap1_odd_LUT50_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap1_even_LUT50_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap1_odd_LUT50_1[rballoc]; + } + break; + + case 100: + pdlsch0_harq->nb_rb = RIV2nb_rb_LUT100[rballoc]; + if (Ngap == 0) { + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap0_even_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap0_odd_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap0_even_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap0_odd_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap0_even_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap0_odd_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap0_even_LUT100_3[rballoc]; + pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap0_odd_LUT100_3[rballoc]; + } else { + pdlsch0_harq->rb_alloc_even[0] = distRIV2alloc_gap1_even_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_odd[0] = distRIV2alloc_gap1_odd_LUT100_0[rballoc]; + pdlsch0_harq->rb_alloc_even[1] = distRIV2alloc_gap1_even_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_odd[1] = distRIV2alloc_gap1_odd_LUT100_1[rballoc]; + pdlsch0_harq->rb_alloc_even[2] = distRIV2alloc_gap1_even_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_odd[2] = distRIV2alloc_gap1_odd_LUT100_2[rballoc]; + pdlsch0_harq->rb_alloc_even[3] = distRIV2alloc_gap1_even_LUT100_3[rballoc]; + pdlsch0_harq->rb_alloc_odd[3] = distRIV2alloc_gap1_odd_LUT100_3[rballoc]; + } + break; + + default: + AssertFatal (0, "Format 1C: Unknown N_RB_DL %d\n", frame_parms->N_RB_DL); + break; + } + + compute_llr_offset (frame_parms, pdcch_vars, pdsch_vars, pdlsch0_harq, pdlsch0_harq->nb_rb, subframe); + +} + +void +compute_precoding_info_2cw (uint8_t tpmi, uint8_t tbswap, uint16_t pmi_alloc, LTE_DL_FRAME_PARMS * frame_parms, LTE_DL_UE_HARQ_t * dlsch0_harq, LTE_DL_UE_HARQ_t * dlsch1_harq) +{ + + switch (tpmi) { + case 0: + dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; + dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODING1; + dlsch0_harq->pmi_alloc = pmi_extend (frame_parms, 0, 1); + dlsch1_harq->pmi_alloc = pmi_extend (frame_parms, 0, 1); + break; + case 1: + dlsch0_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; + dlsch1_harq->mimo_mode = DUALSTREAM_UNIFORM_PRECODINGj; + dlsch0_harq->pmi_alloc = pmi_extend (frame_parms, 1, 1); + dlsch1_harq->pmi_alloc = pmi_extend (frame_parms, 1, 1); + break; + case 2: // PUSCH precoding + dlsch0_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; + dlsch1_harq->mimo_mode = DUALSTREAM_PUSCH_PRECODING; + if (tbswap == 0) { + dlsch0_harq->pmi_alloc = pmi_alloc; + dlsch1_harq->pmi_alloc = pmi_alloc ^ 0x1555; + } else { + dlsch1_harq->pmi_alloc = pmi_alloc; + dlsch0_harq->pmi_alloc = pmi_alloc ^ 0x1555; + } +#ifdef DEBUG_HARQ + printf ("\n \n compute_precoding_info_2cw pmi_alloc_new = %d\n", dlsch0_harq->pmi_alloc); +#endif + break; + default: + break; + } +} + +void +compute_precoding_info_1cw (uint8_t tpmi, uint16_t pmi_alloc, LTE_DL_FRAME_PARMS * frame_parms, LTE_DL_UE_HARQ_t * dlsch_harq) +{ + + switch (tpmi) { + case 0: + dlsch_harq->mimo_mode = ALAMOUTI; + break; + case 1: + dlsch_harq->mimo_mode = UNIFORM_PRECODING11; + dlsch_harq->pmi_alloc = pmi_extend (frame_parms, 0, 0); + break; + case 2: + dlsch_harq->mimo_mode = UNIFORM_PRECODING1m1; + dlsch_harq->pmi_alloc = pmi_extend (frame_parms, 1, 0); + break; + case 3: + dlsch_harq->mimo_mode = UNIFORM_PRECODING1j; + dlsch_harq->pmi_alloc = pmi_extend (frame_parms, 2, 0); + break; + case 4: + dlsch_harq->mimo_mode = UNIFORM_PRECODING1mj; + dlsch_harq->pmi_alloc = pmi_extend (frame_parms, 3, 0); + break; + case 5: + dlsch_harq->mimo_mode = PUSCH_PRECODING0; + dlsch_harq->pmi_alloc = pmi_alloc; //pmi_convert(frame_parms,dlsch0->pmi_alloc,0); + break; + case 6: + dlsch_harq->mimo_mode = PUSCH_PRECODING1; + dlsch_harq->pmi_alloc = pmi_alloc; //pmi_convert(frame_parms,dlsch0->pmi_alloc,1); + break; + } +#ifdef DEBUG_HARQ + printf ("[DCI UE] I am calling from the UE side pmi_alloc_new = %d with tpmi %d\n", dlsch_harq->pmi_alloc, tpmi); +#endif +} + +void +compute_precoding_info_format2A (uint8_t tpmi, uint8_t nb_antenna_ports_eNB, uint8_t tb0_active, uint8_t tb1_active, LTE_DL_UE_HARQ_t * dlsch0_harq, LTE_DL_UE_HARQ_t * dlsch1_harq) +{ + + dlsch0_harq->dl_power_off = 0; + dlsch1_harq->dl_power_off = 0; + + if (nb_antenna_ports_eNB == 2) { + if ((tb0_active == 1) && (tb1_active == 1)) { + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch0_harq->dl_power_off = 1; + dlsch1_harq->dl_power_off = 1; + } else { + dlsch0_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->mimo_mode = ALAMOUTI; + } + } else if (nb_antenna_ports_eNB == 4) { // 4 antenna case + if ((tb0_active == 1) && (tb1_active == 1)) { + switch (tpmi) { + case 0: // one layer per transport block + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; dlsch0_harq->dl_power_off = 1; dlsch1_harq->dl_power_off = 1; + break; - pdlsch0->current_harq_pid = harq_pid; - pdlsch0->harq_ack[subframe].harq_id = harq_pid; - pdlsch1->current_harq_pid = harq_pid; - pdlsch1->harq_ack[subframe].harq_id = harq_pid; + case 1: // one-layers on TB 0, two on TB 1 + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->Nl = 2; + dlsch0_harq->dl_power_off = 1; + dlsch1_harq->dl_power_off = 1; + break; - // assume two CW are active - dlsch0_harq->status = ACTIVE; - dlsch1_harq->status = ACTIVE; - pdlsch0->active = 1; - pdlsch1->active = 1; - pdlsch0->rnti = rnti; - pdlsch1->rnti = rnti; + case 2: // two-layers on TB 0, two on TB 1 + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch0_harq->Nl = 2; + dlsch0_harq->dl_power_off = 1; + dlsch1_harq->dl_power_off = 1; + break; - - if (TB0_active && TB1_active && tbswap==1) { - dlsch0_harq->codeword = 1; - dlsch1_harq->codeword = 0; + case 3: // + LOG_E (PHY, "Illegal value (3) for TPMI in Format 2A DCI\n"); + break; } + } else if (tb0_active == 1) { + switch (tpmi) { + case 0: // one layer per transport block + dlsch0_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->mimo_mode = ALAMOUTI; + break; + case 1: // two-layers on TB 0 + dlsch0_harq->mimo_mode = LARGE_CDD; + dlsch0_harq->Nl = 2; + dlsch0_harq->dl_power_off = 1; + break; - if (!TB0_active && TB1_active){ - dlsch1_harq->codeword = 0; + case 2: // two-layers on TB 0, two on TB 1 + case 3: // + LOG_E (PHY, "Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n", tpmi); + break; } + } else if (tb1_active == 1) { + switch (tpmi) { + case 0: // one layer per transport block + dlsch0_harq->mimo_mode = ALAMOUTI; + dlsch1_harq->mimo_mode = ALAMOUTI; + break; - if (TB0_active && !TB1_active){ - dlsch0_harq->codeword = 0; + case 1: // two-layers on TB 0 + dlsch1_harq->mimo_mode = LARGE_CDD; + dlsch1_harq->Nl = 2; + dlsch0_harq->dl_power_off = 1; + break; + + case 2: // two-layers on TB 0, two on TB 1 + case 3: // + LOG_E (PHY, "Illegal value %d for TPMI in Format 2A DCI with one transport block enabled\n", tpmi); + break; } + } + } + // printf("Format 2A: NPRB=%d (rballoc %x,mcs1 %d, mcs2 %d, frame_type %d N_RB_DL %d,active %d/%d)\n",NPRB,rballoc,mcs1,mcs2,frame_parms->frame_type,frame_parms->N_RB_DL,dlsch0->active,dlsch1->active); + //printf("UE (%x/%d): Subframe %d Format2A DCI: ndi1 %d, old_ndi1 %d, ndi2 %d, old_ndi2 %d (first tx1 %d, first tx2 %d) harq_status1 %d, harq_status2 %d\n",dlsch0->rnti,harq_pid,subframe,ndi,dlsch0_harq->DCINdi, + // dlsch0_harq->first_tx,dlsch1_harq->first_tx,dlsch0_harq->status,dlsch1_harq->status); + //printf("TBS0 %d, TBS1 %d\n",dlsch0_harq->TBS,dlsch1_harq->TBS); - - if (TB0_active==0) { - dlsch0_harq->status = SCH_IDLE; - pdlsch0->active = 0; - #ifdef DEBUG_HARQ - printf("[DCI UE]: TB0 is deactivated, retransmit TB1 transmit in TM6\n"); - #endif - } - - if (TB1_active==0) { - dlsch1_harq->status = SCH_IDLE; - pdlsch1->active = 0; - } - -#ifdef DEBUG_HARQ - printf("[DCI UE]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); -#endif - - // compute resource allocation - if (TB0_active == 1){ - - dlsch0_harq->nb_rb = conv_nprb(rah, - rballoc, - frame_parms->N_RB_DL); - conv_rballoc(rah, - rballoc, - frame_parms->N_RB_DL, - dlsch0_harq->rb_alloc_even); - - dlsch0_harq->rb_alloc_odd[0]= dlsch0_harq->rb_alloc_even[0]; - dlsch0_harq->rb_alloc_odd[1]= dlsch0_harq->rb_alloc_even[1]; - dlsch0_harq->rb_alloc_odd[2]= dlsch0_harq->rb_alloc_even[2]; - dlsch0_harq->rb_alloc_odd[3]= dlsch0_harq->rb_alloc_even[3]; - - if (TB1_active == 1){ - dlsch1_harq->rb_alloc_even[0]= dlsch0_harq->rb_alloc_even[0]; - dlsch1_harq->rb_alloc_even[1]= dlsch0_harq->rb_alloc_even[1]; - dlsch1_harq->rb_alloc_even[2]= dlsch0_harq->rb_alloc_even[2]; - dlsch1_harq->rb_alloc_even[3]= dlsch0_harq->rb_alloc_even[3]; - dlsch1_harq->rb_alloc_odd[0] = dlsch0_harq->rb_alloc_odd[0]; - dlsch1_harq->rb_alloc_odd[1] = dlsch0_harq->rb_alloc_odd[1]; - dlsch1_harq->rb_alloc_odd[2] = dlsch0_harq->rb_alloc_odd[2]; - dlsch1_harq->rb_alloc_odd[3] = dlsch0_harq->rb_alloc_odd[3]; - - dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; - - //dlsch0_harq->Nl = 1; - //dlsch1_harq->Nl = 1; - } - } else if ((TB0_active == 0) && (TB1_active == 1)){ - - conv_rballoc(rah, - rballoc, - frame_parms->N_RB_DL, - dlsch1_harq->rb_alloc_even); - - dlsch1_harq->rb_alloc_odd[0]= dlsch1_harq->rb_alloc_even[0]; - dlsch1_harq->rb_alloc_odd[1]= dlsch1_harq->rb_alloc_even[1]; - dlsch1_harq->rb_alloc_odd[2]= dlsch1_harq->rb_alloc_even[2]; - dlsch1_harq->rb_alloc_odd[3]= dlsch1_harq->rb_alloc_even[3]; - dlsch1_harq->nb_rb = conv_nprb(rah, - rballoc, - frame_parms->N_RB_DL); - } - - - // compute precoding matrix + mimo mode - if(dci_format == format2) - { - if ((TB0_active) && (TB1_active)){ //two CW active - compute_precoding_info_2cw(tpmi, tbswap, pdlsch0->pmi_alloc,frame_parms, dlsch0_harq, dlsch1_harq); - - // printf("[DCI UE 1]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); - } else if ((TB0_active) && (!TB1_active)) { // only CW 0 active - compute_precoding_info_1cw(tpmi, pdlsch0->pmi_alloc, frame_parms, dlsch0_harq); - } else { - compute_precoding_info_1cw(tpmi, pdlsch1->pmi_alloc, frame_parms, dlsch1_harq); - // printf("I am doing compute_precoding_info_1cw with tpmi %d \n", tpmi); - } - //printf(" UE DCI harq0 MIMO mode = %d\n", dlsch0_harq->mimo_mode); - if ((frame_parms->nb_antenna_ports_eNB == 1) && (TB0_active)) - dlsch0_harq->mimo_mode = SISO; - } - else - { - compute_precoding_info_format2A( tpmi, - frame_parms->nb_antenna_ports_eNB, - TB0_active, - TB1_active, - dlsch0_harq, - dlsch1_harq); - } - // printf("[DCI UE 2]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); - // reset round + compute Qm - if (TB0_active) { - // printf("TB0 ndi1 =%d, dlsch0_harq->DCINdi =%d, dlsch0_harq->first_tx = %d\n", ndi1, dlsch0_harq->DCINdi, dlsch0_harq->first_tx); - if ((ndi1!=dlsch0_harq->DCINdi) || (dlsch0_harq->first_tx==1)) { - dlsch0_harq->round = 0; - dlsch0_harq->status = ACTIVE; - dlsch0_harq->DCINdi = ndi1; - - //LOG_I(PHY,"[UE] DLSCH: New Data Indicator CW0 subframe %d (pid %d, round %d)\n", - // subframe,harq_pid,dlsch0_harq->round); - if ( dlsch0_harq->first_tx==1) { - LOG_D(PHY,"Format 2 DCI First TX0: Clearing flag\n"); - dlsch0_harq->first_tx = 0; - } - } - /*else if (rv1 != 0 ) - //NDI has not been toggled but rv was increased by eNB: retransmission - { - if(dlsch0_harq->status == SCH_IDLE) { - // skip pdsch decoding and report ack - //dlsch0_harq->status = SCH_IDLE; - pdlsch0->active = 0; - pdlsch0->harq_ack[subframe].ack = 1; - pdlsch0->harq_ack[subframe].harq_id = harq_pid; - pdlsch0->harq_ack[subframe].send_harq_status = 1; - }*/ - - // if Imcs in [29..31] TBS is assumed to be as determined from DCI transported in the latest - // PDCCH for the same trasport block using Imcs in [0 .. 28] - if(dlsch0_harq->mcs <= 28) - { - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; - LOG_D(PHY,"[UE] DLSCH: New TBS CW0 subframe %d (pid %d, round %d) TBS %d \n", - subframe,harq_pid,dlsch0_harq->round, dlsch0_harq->TBS); - } - else - { - LOG_D(PHY,"[UE] DLSCH: Keep the same TBS CW0 subframe %d (pid %d, round %d) TBS %d \n", - subframe,harq_pid,dlsch0_harq->round, dlsch0_harq->TBS); - } - //if(dlsch0_harq->Nl == 2) - //dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][(dlsch0_harq->nb_rb<<1)-1]; - if (mcs1 <= 28) - dlsch0_harq->Qm = get_Qm(mcs1); - else if (mcs1<=31) - dlsch0_harq->Qm = (mcs1-28)<<1; - } - - // printf("[DCI UE 3]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); - - if (TB1_active) { - // printf("TB1 ndi2 =%d, dlsch1_harq->DCINdi =%d, dlsch1_harq->first_tx = %d\n", ndi2, dlsch1_harq->DCINdi, dlsch1_harq->first_tx); - if ((ndi2!=dlsch1_harq->DCINdi) || (dlsch1_harq->first_tx==1)) { - dlsch1_harq->round = 0; - dlsch1_harq->status = ACTIVE; - dlsch1_harq->DCINdi = ndi2; - //LOG_I(PHY,"[UE] DLSCH: New Data Indicator CW1 subframe %d (pid %d, round %d)\n", - // subframe,harq_pid,dlsch0_harq->round); - if (dlsch1_harq->first_tx==1) { - LOG_D(PHY,"Format 2 DCI First TX1: Clearing flag\n"); - dlsch1_harq->first_tx = 0; - } - } - /*else if (rv1 != 0 ) - //NDI has not been toggled but rv was increased by eNB: retransmission - { - if(dlsch1_harq->status == SCH_IDLE) { - // skip pdsch decoding and report ack - //dlsch1_harq->status = SCH_IDLE; - pdlsch1->active = 0; - pdlsch1->harq_ack[subframe].ack = 1; - pdlsch1->harq_ack[subframe].harq_id = harq_pid; - pdlsch1->harq_ack[subframe].send_harq_status = 1; - } - }*/ - - // if Imcs in [29..31] TBS is assumed to be as determined from DCI transported in the latest - // PDCCH for the same trasport block using Imcs in [0 .. 28] - if(dlsch1_harq->mcs <= 28) - { - dlsch1_harq->TBS = TBStable[get_I_TBS(dlsch1_harq->mcs)][dlsch1_harq->nb_rb-1]; - LOG_D(PHY,"[UE] DLSCH: New TBS CW1 subframe %d (pid %d, round %d) TBS %d \n", - subframe,harq_pid,dlsch1_harq->round, dlsch1_harq->TBS); - } - else - { - LOG_D(PHY,"[UE] DLSCH: Keep the same TBS CW1 subframe %d (pid %d, round %d) TBS %d \n", - subframe,harq_pid,dlsch1_harq->round, dlsch1_harq->TBS); - } - if (mcs2 <= 28) - dlsch1_harq->Qm = get_Qm(mcs2); - else if (mcs1<=31) - dlsch1_harq->Qm = (mcs2-28)<<1; - } - - - compute_llr_offset(frame_parms, - pdcch_vars, - pdsch_vars, - dlsch0_harq, - dlsch0_harq->nb_rb, - subframe); - - - /* #ifdef DEBUG_HARQ - printf("[DCI UE]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); - printf("[DCI UE]: TB0_active %d , TB1_active %d\n", TB0_active, TB1_active); - if (dlsch0 != NULL && dlsch1 != NULL) - printf("[DCI UE] dlsch0_harq status = %d, dlsch1_harq status = %d\n", dlsch0_harq->status, dlsch1_harq->status); - else if (dlsch0 == NULL && dlsch1 != NULL) - printf("[DCI UE] dlsch0_harq NULL dlsch1_harq status = %d\n", dlsch1_harq->status); - else if (dlsch0 != NULL && dlsch1 == NULL) - printf("[DCI UE] dlsch1_harq NULL dlsch0_harq status = %d\n", dlsch0_harq->status); - #endif*/ } -int generate_ue_dlsch_params_from_dci(int frame, - uint8_t subframe, - void *dci_pdu, - uint16_t rnti, - DCI_format_t dci_format, - LTE_UE_PDCCH *pdcch_vars, - LTE_UE_PDSCH *pdsch_vars, - LTE_UE_DLSCH_t **dlsch, - LTE_DL_FRAME_PARMS *frame_parms, - PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated, - uint16_t si_rnti, - uint16_t ra_rnti, - uint16_t p_rnti, - uint8_t beamforming_mode, - uint16_t tc_rnti) +void +prepare_dl_decoding_format2_2A (DCI_format_t dci_format, + DCI_INFO_EXTRACTED_t * pdci_info_extarcted, + LTE_DL_FRAME_PARMS * frame_parms, + LTE_UE_PDCCH * pdcch_vars, + LTE_UE_PDSCH * pdsch_vars, + uint16_t rnti, uint8_t subframe, LTE_DL_UE_HARQ_t * dlsch0_harq, LTE_DL_UE_HARQ_t * dlsch1_harq, LTE_UE_DLSCH_t * pdlsch0, LTE_UE_DLSCH_t * pdlsch1) { - uint8_t harq_pid=0; - uint8_t frame_type=frame_parms->frame_type; - uint8_t tpmi=0; - LTE_UE_DLSCH_t *dlsch0=NULL,*dlsch1=NULL; - LTE_DL_UE_HARQ_t *dlsch0_harq=NULL,*dlsch1_harq=NULL; + uint8_t rah = pdci_info_extarcted->rah; + uint8_t mcs1 = pdci_info_extarcted->mcs1; + uint8_t mcs2 = pdci_info_extarcted->mcs2; + uint8_t rv1 = pdci_info_extarcted->rv1; + uint8_t rv2 = pdci_info_extarcted->rv2; + uint8_t harq_pid = pdci_info_extarcted->harq_pid; + uint32_t rballoc = pdci_info_extarcted->rballoc; + uint8_t tbswap = pdci_info_extarcted->tb_swap; + uint8_t tpmi = pdci_info_extarcted->tpmi; + uint8_t TPC = pdci_info_extarcted->TPC; + uint8_t ndi1 = pdci_info_extarcted->ndi1; + uint8_t ndi2 = pdci_info_extarcted->ndi2; - DCI_INFO_EXTRACTED_t dci_info_extarcted; - uint8_t status=0; + uint8_t TB0_active = 1; + uint8_t TB1_active = 1; - if (!dlsch[0]) return -1; + // printf("inside prepare pdlsch1->pmi_alloc %d \n",pdlsch1->pmi_alloc); - #ifdef DEBUG_DCI - LOG_D(PHY,"dci_tools.c: Filling ue dlsch params -> rnti %x, SFN/SF %d/%d, dci_format %s\n", - rnti, - frame%1024, - subframe, - (dci_format==format0? "Format 0":( - dci_format==format1? "format 1":( - dci_format==format1A? "format 1A":( - dci_format==format1B? "format 1B":( - dci_format==format1C? "format 1C":( - dci_format==format1D? "format 1D":( - dci_format==format1E_2A_M10PRB? "format 1E_2A_M10PRB":( - dci_format==format2? "format 2":( - dci_format==format2A? "format 2A":( - dci_format==format2B? "format 2B":( - dci_format==format2C? "format 2C":( - dci_format==format2D? "format 2D":( - dci_format==format3? "format 3": "UNKNOWN" - )))))))))))))); - #endif - memset(&dci_info_extarcted,0,sizeof(dci_info_extarcted)); - switch (dci_format) { + if ((rv1 == 1) && (mcs1 == 0)) { + TB0_active = 0; + } + if ((rv2 == 1) && (mcs2 == 0)) { + TB1_active = 0; + } +#ifdef DEBUG_HARQ + printf ("[DCI UE]: TB0 status %d , TB1 status %d\n", TB0_active, TB1_active); +#endif - case format0: // This is an ULSCH allocation so nothing here, inform MAC - LOG_E(PHY,"format0 not possible\n"); - return(-1); - break; + dlsch0_harq->mcs = mcs1; + dlsch1_harq->mcs = mcs2; + dlsch0_harq->rvidx = rv1; + dlsch1_harq->rvidx = rv2; + dlsch0_harq->DCINdi = ndi1; + dlsch1_harq->DCINdi = ndi2; - case format1A: + dlsch0_harq->codeword = 0; + dlsch1_harq->codeword = 1; + dlsch0_harq->Nl = 1; + dlsch1_harq->Nl = 1; + dlsch0_harq->delta_PUCCH = delta_PUCCH_lut[TPC & 3]; + dlsch1_harq->delta_PUCCH = delta_PUCCH_lut[TPC & 3]; + dlsch0_harq->dl_power_off = 1; + dlsch1_harq->dl_power_off = 1; + + pdlsch0->current_harq_pid = harq_pid; + pdlsch0->harq_ack[subframe].harq_id = harq_pid; + pdlsch1->current_harq_pid = harq_pid; + pdlsch1->harq_ack[subframe].harq_id = harq_pid; + + // assume two CW are active + dlsch0_harq->status = ACTIVE; + dlsch1_harq->status = ACTIVE; + pdlsch0->active = 1; + pdlsch1->active = 1; + pdlsch0->rnti = rnti; + pdlsch1->rnti = rnti; + + + if (TB0_active && TB1_active && tbswap == 1) { + dlsch0_harq->codeword = 1; + dlsch1_harq->codeword = 0; + } + + + if (!TB0_active && TB1_active) { + dlsch1_harq->codeword = 0; + } + + if (TB0_active && !TB1_active) { + dlsch0_harq->codeword = 0; + } + + + if (TB0_active == 0) { + dlsch0_harq->status = SCH_IDLE; + pdlsch0->active = 0; +#ifdef DEBUG_HARQ + printf ("[DCI UE]: TB0 is deactivated, retransmit TB1 transmit in TM6\n"); +#endif + } + + if (TB1_active == 0) { + dlsch1_harq->status = SCH_IDLE; + pdlsch1->active = 0; + } +#ifdef DEBUG_HARQ + printf ("[DCI UE]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); +#endif + + // compute resource allocation + if (TB0_active == 1) { + + dlsch0_harq->nb_rb = conv_nprb (rah, rballoc, frame_parms->N_RB_DL); + conv_rballoc (rah, rballoc, frame_parms->N_RB_DL, dlsch0_harq->rb_alloc_even); + + dlsch0_harq->rb_alloc_odd[0] = dlsch0_harq->rb_alloc_even[0]; + dlsch0_harq->rb_alloc_odd[1] = dlsch0_harq->rb_alloc_even[1]; + dlsch0_harq->rb_alloc_odd[2] = dlsch0_harq->rb_alloc_even[2]; + dlsch0_harq->rb_alloc_odd[3] = dlsch0_harq->rb_alloc_even[3]; + + if (TB1_active == 1) { + dlsch1_harq->rb_alloc_even[0] = dlsch0_harq->rb_alloc_even[0]; + dlsch1_harq->rb_alloc_even[1] = dlsch0_harq->rb_alloc_even[1]; + dlsch1_harq->rb_alloc_even[2] = dlsch0_harq->rb_alloc_even[2]; + dlsch1_harq->rb_alloc_even[3] = dlsch0_harq->rb_alloc_even[3]; + dlsch1_harq->rb_alloc_odd[0] = dlsch0_harq->rb_alloc_odd[0]; + dlsch1_harq->rb_alloc_odd[1] = dlsch0_harq->rb_alloc_odd[1]; + dlsch1_harq->rb_alloc_odd[2] = dlsch0_harq->rb_alloc_odd[2]; + dlsch1_harq->rb_alloc_odd[3] = dlsch0_harq->rb_alloc_odd[3]; + + dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; + + //dlsch0_harq->Nl = 1; + //dlsch1_harq->Nl = 1; + } + } else if ((TB0_active == 0) && (TB1_active == 1)) { + + conv_rballoc (rah, rballoc, frame_parms->N_RB_DL, dlsch1_harq->rb_alloc_even); + + dlsch1_harq->rb_alloc_odd[0] = dlsch1_harq->rb_alloc_even[0]; + dlsch1_harq->rb_alloc_odd[1] = dlsch1_harq->rb_alloc_even[1]; + dlsch1_harq->rb_alloc_odd[2] = dlsch1_harq->rb_alloc_even[2]; + dlsch1_harq->rb_alloc_odd[3] = dlsch1_harq->rb_alloc_even[3]; + dlsch1_harq->nb_rb = conv_nprb (rah, rballoc, frame_parms->N_RB_DL); + } + + // compute precoding matrix + mimo mode + if (dci_format == format2) { + if ((TB0_active) && (TB1_active)) { //two CW active + compute_precoding_info_2cw (tpmi, tbswap, pdlsch0->pmi_alloc, frame_parms, dlsch0_harq, dlsch1_harq); + + // printf("[DCI UE 1]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); + } else if ((TB0_active) && (!TB1_active)) { // only CW 0 active + compute_precoding_info_1cw (tpmi, pdlsch0->pmi_alloc, frame_parms, dlsch0_harq); + } else { + compute_precoding_info_1cw (tpmi, pdlsch1->pmi_alloc, frame_parms, dlsch1_harq); + // printf("I am doing compute_precoding_info_1cw with tpmi %d \n", tpmi); + } + //printf(" UE DCI harq0 MIMO mode = %d\n", dlsch0_harq->mimo_mode); + if ((frame_parms->nb_antenna_ports_eNB == 1) && (TB0_active)) + dlsch0_harq->mimo_mode = SISO; + } else { + compute_precoding_info_format2A (tpmi, frame_parms->nb_antenna_ports_eNB, TB0_active, TB1_active, dlsch0_harq, dlsch1_harq); + } + // printf("[DCI UE 2]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); + // reset round + compute Qm + if (TB0_active) { + // printf("TB0 ndi1 =%d, dlsch0_harq->DCINdi =%d, dlsch0_harq->first_tx = %d\n", ndi1, dlsch0_harq->DCINdi, dlsch0_harq->first_tx); + if ((ndi1 != dlsch0_harq->DCINdi) || (dlsch0_harq->first_tx == 1)) { + dlsch0_harq->round = 0; + dlsch0_harq->status = ACTIVE; + dlsch0_harq->DCINdi = ndi1; + + //LOG_I(PHY,"[UE] DLSCH: New Data Indicator CW0 subframe %d (pid %d, round %d)\n", + // subframe,harq_pid,dlsch0_harq->round); + if (dlsch0_harq->first_tx == 1) { + LOG_D (PHY, "Format 2 DCI First TX0: Clearing flag\n"); + dlsch0_harq->first_tx = 0; + } + } + /*else if (rv1 != 0 ) + //NDI has not been toggled but rv was increased by eNB: retransmission + { + if(dlsch0_harq->status == SCH_IDLE) { + // skip pdsch decoding and report ack + //dlsch0_harq->status = SCH_IDLE; + pdlsch0->active = 0; + pdlsch0->harq_ack[subframe].ack = 1; + pdlsch0->harq_ack[subframe].harq_id = harq_pid; + pdlsch0->harq_ack[subframe].send_harq_status = 1; + } */ + + // if Imcs in [29..31] TBS is assumed to be as determined from DCI transported in the latest + // PDCCH for the same trasport block using Imcs in [0 .. 28] + if (dlsch0_harq->mcs <= 28) { + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; + LOG_D (PHY, "[UE] DLSCH: New TBS CW0 subframe %d (pid %d, round %d) TBS %d \n", subframe, harq_pid, dlsch0_harq->round, dlsch0_harq->TBS); + } else { + LOG_D (PHY, "[UE] DLSCH: Keep the same TBS CW0 subframe %d (pid %d, round %d) TBS %d \n", subframe, harq_pid, dlsch0_harq->round, dlsch0_harq->TBS); + } + //if(dlsch0_harq->Nl == 2) + //dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][(dlsch0_harq->nb_rb<<1)-1]; + if (mcs1 <= 28) + dlsch0_harq->Qm = get_Qm (mcs1); + else if (mcs1 <= 31) + dlsch0_harq->Qm = (mcs1 - 28) << 1; + } + // printf("[DCI UE 3]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); + + if (TB1_active) { + // printf("TB1 ndi2 =%d, dlsch1_harq->DCINdi =%d, dlsch1_harq->first_tx = %d\n", ndi2, dlsch1_harq->DCINdi, dlsch1_harq->first_tx); + if ((ndi2 != dlsch1_harq->DCINdi) || (dlsch1_harq->first_tx == 1)) { + dlsch1_harq->round = 0; + dlsch1_harq->status = ACTIVE; + dlsch1_harq->DCINdi = ndi2; + //LOG_I(PHY,"[UE] DLSCH: New Data Indicator CW1 subframe %d (pid %d, round %d)\n", + // subframe,harq_pid,dlsch0_harq->round); + if (dlsch1_harq->first_tx == 1) { + LOG_D (PHY, "Format 2 DCI First TX1: Clearing flag\n"); + dlsch1_harq->first_tx = 0; + } + } + /*else if (rv1 != 0 ) + //NDI has not been toggled but rv was increased by eNB: retransmission + { + if(dlsch1_harq->status == SCH_IDLE) { + // skip pdsch decoding and report ack + //dlsch1_harq->status = SCH_IDLE; + pdlsch1->active = 0; + pdlsch1->harq_ack[subframe].ack = 1; + pdlsch1->harq_ack[subframe].harq_id = harq_pid; + pdlsch1->harq_ack[subframe].send_harq_status = 1; + } + } */ + + // if Imcs in [29..31] TBS is assumed to be as determined from DCI transported in the latest + // PDCCH for the same trasport block using Imcs in [0 .. 28] + if (dlsch1_harq->mcs <= 28) { + dlsch1_harq->TBS = TBStable[get_I_TBS (dlsch1_harq->mcs)][dlsch1_harq->nb_rb - 1]; + LOG_D (PHY, "[UE] DLSCH: New TBS CW1 subframe %d (pid %d, round %d) TBS %d \n", subframe, harq_pid, dlsch1_harq->round, dlsch1_harq->TBS); + } else { + LOG_D (PHY, "[UE] DLSCH: Keep the same TBS CW1 subframe %d (pid %d, round %d) TBS %d \n", subframe, harq_pid, dlsch1_harq->round, dlsch1_harq->TBS); + } + if (mcs2 <= 28) + dlsch1_harq->Qm = get_Qm (mcs2); + else if (mcs1 <= 31) + dlsch1_harq->Qm = (mcs2 - 28) << 1; + } + + + compute_llr_offset (frame_parms, pdcch_vars, pdsch_vars, dlsch0_harq, dlsch0_harq->nb_rb, subframe); + + + /* #ifdef DEBUG_HARQ + printf("[DCI UE]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status); + printf("[DCI UE]: TB0_active %d , TB1_active %d\n", TB0_active, TB1_active); + if (dlsch0 != NULL && dlsch1 != NULL) + printf("[DCI UE] dlsch0_harq status = %d, dlsch1_harq status = %d\n", dlsch0_harq->status, dlsch1_harq->status); + else if (dlsch0 == NULL && dlsch1 != NULL) + printf("[DCI UE] dlsch0_harq NULL dlsch1_harq status = %d\n", dlsch1_harq->status); + else if (dlsch0 != NULL && dlsch1 == NULL) + printf("[DCI UE] dlsch1_harq NULL dlsch0_harq status = %d\n", dlsch0_harq->status); + #endif */ +} + +int +generate_ue_dlsch_params_from_dci (int frame, + uint8_t subframe, + void *dci_pdu, + uint16_t rnti, + DCI_format_t dci_format, + LTE_UE_PDCCH * pdcch_vars, + LTE_UE_PDSCH * pdsch_vars, + LTE_UE_DLSCH_t ** dlsch, + LTE_DL_FRAME_PARMS * frame_parms, + PDSCH_CONFIG_DEDICATED * pdsch_config_dedicated, uint16_t si_rnti, uint16_t ra_rnti, uint16_t p_rnti, uint8_t beamforming_mode, uint16_t tc_rnti) +{ + + uint8_t harq_pid = 0; + uint8_t frame_type = frame_parms->frame_type; + uint8_t tpmi = 0; + LTE_UE_DLSCH_t *dlsch0 = NULL, *dlsch1 = NULL; + LTE_DL_UE_HARQ_t *dlsch0_harq = NULL, *dlsch1_harq = NULL; + + DCI_INFO_EXTRACTED_t dci_info_extarcted; + uint8_t status = 0; + + if (!dlsch[0]) + return -1; + +#ifdef DEBUG_DCI + LOG_D (PHY, "dci_tools.c: Filling ue dlsch params -> rnti %x, SFN/SF %d/%d, dci_format %s\n", + rnti, + frame % 1024, + subframe, + (dci_format == + format0 ? "Format 0" : (dci_format == + format1 ? "format 1" : (dci_format == + format1A ? "format 1A" : (dci_format == + format1B ? "format 1B" : (dci_format == + format1C ? "format 1C" : (dci_format == + format1D ? "format 1D" : (dci_format == + format1E_2A_M10PRB ? + "format 1E_2A_M10PRB" : (dci_format == + format2 ? + "format 2" + : (dci_format + == + format2A ? + "format 2A" + : + (dci_format + == + format2B + ? + "format 2B" + : + (dci_format + == + format2C + ? + "format 2C" + : + (dci_format + == + format2D + ? + "format 2D" + : + (dci_format + == + format3 + ? + "format 3" + : + "UNKNOWN")))))))))))))); +#endif + + memset (&dci_info_extarcted, 0, sizeof (dci_info_extarcted)); + switch (dci_format) { + + case format0: // This is an ULSCH allocation so nothing here, inform MAC + LOG_E (PHY, "format0 not possible\n"); + return (-1); + break; + + case format1A: { // extract dci infomation #ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1A] AbsSubframe %d.%d extarct dci info \n", frame, subframe); + LOG_I (PHY, "[DCI-FORMAT-1A] AbsSubframe %d.%d extarct dci info \n", frame, subframe); #endif - extract_dci1A_info(frame_parms->N_RB_DL, - frame_type, - dci_pdu, - &dci_info_extarcted); + extract_dci1A_info (frame_parms->N_RB_DL, frame_type, dci_pdu, &dci_info_extarcted); // check dci content dlsch0 = dlsch[0]; dlsch0->active = 0; - dlsch0_harq = dlsch[0]->harq_processes[dci_info_extarcted.harq_pid]; + dlsch0_harq = dlsch[0]->harq_processes[dci_info_extarcted.harq_pid]; #ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1A] AbsSubframe %d.%d check dci coherency \n", frame, subframe); + LOG_I (PHY, "[DCI-FORMAT-1A] AbsSubframe %d.%d check dci coherency \n", frame, subframe); #endif - status = check_dci_format1_1a_coherency(format1A, - frame_parms->N_RB_DL, - rnti, - tc_rnti, - si_rnti, - ra_rnti, - p_rnti,frame,subframe, - &dci_info_extarcted, - dlsch0_harq); - if(status == 0) - { - printf("bad DCI 1A !!! \n"); - return(-1); + status = check_dci_format1_1a_coherency (format1A, frame_parms->N_RB_DL, rnti, tc_rnti, si_rnti, ra_rnti, p_rnti, frame, subframe, &dci_info_extarcted, dlsch0_harq); + if (status == 0) { + printf ("bad DCI 1A !!! \n"); + return (-1); } - // dci is correct ==> update internal structure and prepare dl decoding #ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1A] AbsSubframe %d.%d prepare dl decoding \n", frame, subframe); + LOG_I (PHY, "[DCI-FORMAT-1A] AbsSubframe %d.%d prepare dl decoding \n", frame, subframe); #endif - prepare_dl_decoding_format1_1A(format1A, - frame_parms->N_RB_DL, - &dci_info_extarcted, - frame_parms, - pdcch_vars, - pdsch_vars, - subframe, - rnti, - tc_rnti, - si_rnti, - ra_rnti, - p_rnti, - dlsch0_harq, - dlsch0); + prepare_dl_decoding_format1_1A (format1A, frame_parms->N_RB_DL, &dci_info_extarcted, frame_parms, pdcch_vars, pdsch_vars, subframe, rnti, tc_rnti, si_rnti, ra_rnti, p_rnti, dlsch0_harq, dlsch0); break; } - case format1C: + case format1C: { // extract dci infomation #ifdef DEBUG_DL_DECODING - LOG_I(PHY,"[DCI Format-1C] extact dci information \n"); + LOG_I (PHY, "[DCI Format-1C] extact dci information \n"); #endif - extract_dci1C_info(frame_parms->N_RB_DL, - frame_type, - dci_pdu, - &dci_info_extarcted); + extract_dci1C_info (frame_parms->N_RB_DL, frame_type, dci_pdu, &dci_info_extarcted); // check dci content #ifdef DEBUG_DL_DECODING - LOG_I(PHY,"[DCI Format-1C] check dci content \n"); + LOG_I (PHY, "[DCI Format-1C] check dci content \n"); #endif dlsch0 = dlsch[0]; dlsch0->active = 0; dlsch0_harq = dlsch[0]->harq_processes[dci_info_extarcted.harq_pid]; - status = check_dci_format1c_coherency(frame_parms->N_RB_DL, - &dci_info_extarcted, - rnti, - si_rnti, - ra_rnti, - p_rnti, - dlsch0_harq); - if(status == 0) - return(-1); + status = check_dci_format1c_coherency (frame_parms->N_RB_DL, &dci_info_extarcted, rnti, si_rnti, ra_rnti, p_rnti, dlsch0_harq); + if (status == 0) + return (-1); // dci is correct ==> update internal structure and prepare dl decoding #ifdef DEBUG_DL_DECODING - LOG_I(PHY,"[DCI Format-1C] prepare downlink decoding \n"); + LOG_I (PHY, "[DCI Format-1C] prepare downlink decoding \n"); #endif - prepare_dl_decoding_format1C(frame_parms->N_RB_DL, - &dci_info_extarcted, - frame_parms, - pdcch_vars, - pdsch_vars, - rnti, - si_rnti, - ra_rnti, - p_rnti, - frame, - subframe, - dlsch0_harq, - dlsch0); + prepare_dl_decoding_format1C (frame_parms->N_RB_DL, &dci_info_extarcted, frame_parms, pdcch_vars, pdsch_vars, rnti, si_rnti, ra_rnti, p_rnti, frame, subframe, dlsch0_harq, dlsch0); break; } - case format1: + case format1: { // extract dci infomation #ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1] AbsSubframe %d.%d extarct dci info \n", frame, subframe); + LOG_I (PHY, "[DCI-FORMAT-1] AbsSubframe %d.%d extarct dci info \n", frame, subframe); #endif - extract_dci1_info(frame_parms->N_RB_DL, - frame_type, - dci_pdu, - &dci_info_extarcted); + extract_dci1_info (frame_parms->N_RB_DL, frame_type, dci_pdu, &dci_info_extarcted); // check dci content dlsch0 = dlsch[0]; @@ -6029,403 +5683,324 @@ int generate_ue_dlsch_params_from_dci(int frame, dlsch0_harq = dlsch[0]->harq_processes[dci_info_extarcted.harq_pid]; #ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1] AbsSubframe %d.%d check dci coherency \n", frame, subframe); + LOG_I (PHY, "[DCI-FORMAT-1] AbsSubframe %d.%d check dci coherency \n", frame, subframe); #endif - status = check_dci_format1_1a_coherency(format1, - frame_parms->N_RB_DL, - rnti, - tc_rnti, - si_rnti, - ra_rnti, - p_rnti,frame,subframe, - &dci_info_extarcted, - dlsch0_harq); - if(status == 0) - { - printf("bad DCI 1 !!! \n"); - return(-1); + status = check_dci_format1_1a_coherency (format1, frame_parms->N_RB_DL, rnti, tc_rnti, si_rnti, ra_rnti, p_rnti, frame, subframe, &dci_info_extarcted, dlsch0_harq); + if (status == 0) { + printf ("bad DCI 1 !!! \n"); + return (-1); } - // dci is correct ==> update internal structure and prepare dl decoding #ifdef DEBUG_DCI - LOG_I(PHY,"[DCI-FORMAT-1] AbsSubframe %d.%d prepare dl decoding \n", frame, subframe); + LOG_I (PHY, "[DCI-FORMAT-1] AbsSubframe %d.%d prepare dl decoding \n", frame, subframe); #endif - prepare_dl_decoding_format1_1A(format1, - frame_parms->N_RB_DL, - &dci_info_extarcted, - frame_parms, - pdcch_vars, - pdsch_vars, - subframe, - rnti, - tc_rnti, - si_rnti, - ra_rnti, - p_rnti, - dlsch0_harq, - dlsch0); + prepare_dl_decoding_format1_1A (format1, frame_parms->N_RB_DL, &dci_info_extarcted, frame_parms, pdcch_vars, pdsch_vars, subframe, rnti, tc_rnti, si_rnti, ra_rnti, p_rnti, dlsch0_harq, dlsch0); break; } - case format2: + case format2: { - // extract dci infomation - //LOG_I(PHY,"[DCI-format2] AbsSubframe %d.%d extract dci infomation \n", frame, subframe); - extract_dci2_info(frame_parms->N_RB_DL, - frame_type, - frame_parms->nb_antenna_ports_eNB, - dci_pdu, - &dci_info_extarcted); + // extract dci infomation + //LOG_I(PHY,"[DCI-format2] AbsSubframe %d.%d extract dci infomation \n", frame, subframe); + extract_dci2_info (frame_parms->N_RB_DL, frame_type, frame_parms->nb_antenna_ports_eNB, dci_pdu, &dci_info_extarcted); - // check dci content - dlsch[0]->active = 1; - dlsch[1]->active = 1; + // check dci content + dlsch[0]->active = 1; + dlsch[1]->active = 1; - dlsch0 = dlsch[0]; - dlsch1 = dlsch[1]; + dlsch0 = dlsch[0]; + dlsch1 = dlsch[1]; - dlsch0_harq = dlsch0->harq_processes[dci_info_extarcted.harq_pid]; - dlsch1_harq = dlsch1->harq_processes[dci_info_extarcted.harq_pid]; - // printf("before coherency dlsch[1]->pmi_alloc %d\n",dlsch[1]->pmi_alloc); - // printf("before coherency dlsch1->pmi_alloc %d\n",dlsch1->pmi_alloc); - // printf("before coherency dlsch1_harq->pmi_alloc %d\n",dlsch1_harq->pmi_alloc); + dlsch0_harq = dlsch0->harq_processes[dci_info_extarcted.harq_pid]; + dlsch1_harq = dlsch1->harq_processes[dci_info_extarcted.harq_pid]; + // printf("before coherency dlsch[1]->pmi_alloc %d\n",dlsch[1]->pmi_alloc); + // printf("before coherency dlsch1->pmi_alloc %d\n",dlsch1->pmi_alloc); + // printf("before coherency dlsch1_harq->pmi_alloc %d\n",dlsch1_harq->pmi_alloc); - //LOG_I(PHY,"[DCI-format2] check dci content \n"); - status = check_dci_format2_2a_coherency(format2, - frame_parms->N_RB_DL, - &dci_info_extarcted, - rnti, - si_rnti, - ra_rnti, - p_rnti, - dlsch0_harq, - dlsch1_harq); - if(status == 0) - return(-1); + //LOG_I(PHY,"[DCI-format2] check dci content \n"); + status = check_dci_format2_2a_coherency (format2, frame_parms->N_RB_DL, &dci_info_extarcted, rnti, si_rnti, ra_rnti, p_rnti, dlsch0_harq, dlsch1_harq); + if (status == 0) + return (-1); - // dci is correct ==> update internal structure and prepare dl decoding - //LOG_I(PHY,"[DCI-format2] update internal structure and prepare dl decoding \n"); - prepare_dl_decoding_format2_2A(format2, - &dci_info_extarcted, - frame_parms, - pdcch_vars, - pdsch_vars, - rnti, - subframe, - dlsch0_harq, - dlsch1_harq, - dlsch0, - dlsch1); + // dci is correct ==> update internal structure and prepare dl decoding + //LOG_I(PHY,"[DCI-format2] update internal structure and prepare dl decoding \n"); + prepare_dl_decoding_format2_2A (format2, &dci_info_extarcted, frame_parms, pdcch_vars, pdsch_vars, rnti, subframe, dlsch0_harq, dlsch1_harq, dlsch0, dlsch1); } break; - case format2A: + case format2A: { - // extract dci infomation - LOG_I(PHY,"[DCI-format2] AbsSubframe %d.%d extract dci infomation \n", frame%1024, subframe); - extract_dci2A_info(frame_parms->N_RB_DL, - frame_type, - frame_parms->nb_antenna_ports_eNB, - dci_pdu, - &dci_info_extarcted); + // extract dci infomation + LOG_I (PHY, "[DCI-format2] AbsSubframe %d.%d extract dci infomation \n", frame % 1024, subframe); + extract_dci2A_info (frame_parms->N_RB_DL, frame_type, frame_parms->nb_antenna_ports_eNB, dci_pdu, &dci_info_extarcted); - // check dci content - //LOG_I(PHY,"[DCI-format2A] check dci content \n"); - //LOG_I(PHY,"[DCI-format2A] tb_swap %d harq_pid %d\n", dci_info_extarcted.tb_swap, dci_info_extarcted.harq_pid); + // check dci content + //LOG_I(PHY,"[DCI-format2A] check dci content \n"); + //LOG_I(PHY,"[DCI-format2A] tb_swap %d harq_pid %d\n", dci_info_extarcted.tb_swap, dci_info_extarcted.harq_pid); //dlsch[0]->active = 0; //dlsch[1]->active = 0; - if (dci_info_extarcted.tb_swap == 0) { - dlsch0 = dlsch[0]; - dlsch1 = dlsch[1]; - } else { - dlsch0 = dlsch[1]; - dlsch1 = dlsch[0]; - } - dlsch0_harq = dlsch0->harq_processes[dci_info_extarcted.harq_pid]; - dlsch1_harq = dlsch1->harq_processes[dci_info_extarcted.harq_pid]; - - //LOG_I(PHY,"[DCI-format2A] check dci content \n"); - status = check_dci_format2_2a_coherency(format2A, - frame_parms->N_RB_DL, - &dci_info_extarcted, - rnti, - si_rnti, - ra_rnti, - p_rnti, - dlsch0_harq, - dlsch1_harq); - if(status == 0) - return(-1); - - // dci is correct ==> update internal structure and prepare dl decoding - //LOG_I(PHY,"[DCI-format2A] update internal structure and prepare dl decoding \n"); - prepare_dl_decoding_format2_2A(format2A, - &dci_info_extarcted, - frame_parms, - pdcch_vars, - pdsch_vars, - rnti, - subframe, - dlsch0_harq, - dlsch1_harq, - dlsch0, - dlsch1); - } - break; - - case format1E_2A_M10PRB: - if (!dlsch[0]) return -1; - - harq_pid = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->harq_pid; - - if (harq_pid>=8) { - LOG_E(PHY,"Format 1E_2A_M10PRB: harq_pid=%d >= 8\n", harq_pid); - return(-1); - } - - dlsch[0]->current_harq_pid = harq_pid; - dlsch[0]->harq_ack[subframe].harq_id = harq_pid; - - /* - tbswap = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->tb_swap; - if (tbswap == 0) { + if (dci_info_extarcted.tb_swap == 0) { dlsch0 = dlsch[0]; dlsch1 = dlsch[1]; - } - else{ + } else { dlsch0 = dlsch[1]; dlsch1 = dlsch[0]; - } - */ - dlsch0 = dlsch[0]; - - dlsch0_harq = dlsch[0]->harq_processes[harq_pid]; - // Needs to be checked - dlsch0_harq->codeword=0; - conv_rballoc(((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rah, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rballoc,frame_parms->N_RB_DL, - dlsch0_harq->rb_alloc_even); - - dlsch0_harq->rb_alloc_odd[0] = dlsch0_harq->rb_alloc_even[0]; - dlsch0_harq->rb_alloc_odd[1] = dlsch0_harq->rb_alloc_even[1]; - dlsch0_harq->rb_alloc_odd[2] = dlsch0_harq->rb_alloc_even[2]; - dlsch0_harq->rb_alloc_odd[3] = dlsch0_harq->rb_alloc_even[3]; - /* - dlsch1_harq->rb_alloc_even[0] = dlsch0_harq->rb_alloc_even[0]; - dlsch1_harq->rb_alloc_even[1] = dlsch0_harq->rb_alloc_even[1]; - dlsch1_harq->rb_alloc_even[2] = dlsch0_harq->rb_alloc_even[2]; - dlsch1_harq->rb_alloc_even[3] = dlsch0_harq->rb_alloc_even[3]; - */ - dlsch0_harq->nb_rb = conv_nprb(((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rah, - ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rballoc, - frame_parms->N_RB_DL); - //dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; - - dlsch0_harq->mcs = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->mcs; - dlsch0_harq->delta_PUCCH = delta_PUCCH_lut[((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->TPC&3]; - - - - /* - if (dlsch0_harq->mcs>20) { - printf("dci_tools.c: mcs > 20 disabled for now (asked %d)\n",dlsch0_harq->mcs); - return(-1); - } - */ - - //dlsch1_harq->mcs = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->mcs2; - dlsch0_harq->rvidx = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rv; - //dlsch1_harq->rvidx = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rv2; - - // check if either TB is disabled (see 36-213 V8.6 p. 26) - - if ((dlsch0_harq->rvidx == 1) && (dlsch0_harq->mcs == 0)) { - dlsch0_harq->status = DISABLED; } + dlsch0_harq = dlsch0->harq_processes[dci_info_extarcted.harq_pid]; + dlsch1_harq = dlsch1->harq_processes[dci_info_extarcted.harq_pid]; - //if ((dlsch1_harq->rvidx == 1) && (dlsch1_harq->mcs == 0)) { - //dlsch1_harq->status = DISABLED; - //} - dlsch0_harq->Nl = 1; + //LOG_I(PHY,"[DCI-format2A] check dci content \n"); + status = check_dci_format2_2a_coherency (format2A, frame_parms->N_RB_DL, &dci_info_extarcted, rnti, si_rnti, ra_rnti, p_rnti, dlsch0_harq, dlsch1_harq); + if (status == 0) + return (-1); - //dlsch0->layer_index = tbswap; - //dlsch1->layer_index = 1-tbswap; + // dci is correct ==> update internal structure and prepare dl decoding + //LOG_I(PHY,"[DCI-format2A] update internal structure and prepare dl decoding \n"); + prepare_dl_decoding_format2_2A (format2A, &dci_info_extarcted, frame_parms, pdcch_vars, pdsch_vars, rnti, subframe, dlsch0_harq, dlsch1_harq, dlsch0, dlsch1); + } + break; + + case format1E_2A_M10PRB: + if (!dlsch[0]) + return -1; + + harq_pid = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->harq_pid; + + if (harq_pid >= 8) { + LOG_E (PHY, "Format 1E_2A_M10PRB: harq_pid=%d >= 8\n", harq_pid); + return (-1); + } + + dlsch[0]->current_harq_pid = harq_pid; + dlsch[0]->harq_ack[subframe].harq_id = harq_pid; + + /* + tbswap = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->tb_swap; + if (tbswap == 0) { + dlsch0 = dlsch[0]; + dlsch1 = dlsch[1]; + } + else{ + dlsch0 = dlsch[1]; + dlsch1 = dlsch[0]; + } + */ + dlsch0 = dlsch[0]; + + dlsch0_harq = dlsch[0]->harq_processes[harq_pid]; + // Needs to be checked + dlsch0_harq->codeword = 0; + conv_rballoc (((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->rah, ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->rballoc, frame_parms->N_RB_DL, dlsch0_harq->rb_alloc_even); + + dlsch0_harq->rb_alloc_odd[0] = dlsch0_harq->rb_alloc_even[0]; + dlsch0_harq->rb_alloc_odd[1] = dlsch0_harq->rb_alloc_even[1]; + dlsch0_harq->rb_alloc_odd[2] = dlsch0_harq->rb_alloc_even[2]; + dlsch0_harq->rb_alloc_odd[3] = dlsch0_harq->rb_alloc_even[3]; + /* + dlsch1_harq->rb_alloc_even[0] = dlsch0_harq->rb_alloc_even[0]; + dlsch1_harq->rb_alloc_even[1] = dlsch0_harq->rb_alloc_even[1]; + dlsch1_harq->rb_alloc_even[2] = dlsch0_harq->rb_alloc_even[2]; + dlsch1_harq->rb_alloc_even[3] = dlsch0_harq->rb_alloc_even[3]; + */ + dlsch0_harq->nb_rb = conv_nprb (((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->rah, ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->rballoc, frame_parms->N_RB_DL); + //dlsch1_harq->nb_rb = dlsch0_harq->nb_rb; + + dlsch0_harq->mcs = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->mcs; + dlsch0_harq->delta_PUCCH = delta_PUCCH_lut[((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->TPC & 3]; - // Fix this - tpmi = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->tpmi; - // printf("ue: tpmi %d\n",tpmi); - switch (tpmi) { - case 0 : - dlsch0_harq->mimo_mode = ALAMOUTI; - break; + /* + if (dlsch0_harq->mcs>20) { + printf("dci_tools.c: mcs > 20 disabled for now (asked %d)\n",dlsch0_harq->mcs); + return(-1); + } + */ - case 1: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING11; - dlsch0_harq->pmi_alloc = pmi_extend(frame_parms,0,0); - break; + //dlsch1_harq->mcs = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->mcs2; + dlsch0_harq->rvidx = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->rv; + //dlsch1_harq->rvidx = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->rv2; - case 2: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING1m1; - dlsch0_harq->pmi_alloc = pmi_extend(frame_parms,1, 0); - break; + // check if either TB is disabled (see 36-213 V8.6 p. 26) - case 3: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING1j; - dlsch0_harq->pmi_alloc = pmi_extend(frame_parms,2, 0); + if ((dlsch0_harq->rvidx == 1) && (dlsch0_harq->mcs == 0)) { + dlsch0_harq->status = DISABLED; + } + //if ((dlsch1_harq->rvidx == 1) && (dlsch1_harq->mcs == 0)) { + //dlsch1_harq->status = DISABLED; + //} + dlsch0_harq->Nl = 1; - break; - - case 4: - dlsch0_harq->mimo_mode = UNIFORM_PRECODING1mj; - dlsch0_harq->pmi_alloc = pmi_extend(frame_parms,3, 0); - break; - - case 5: - dlsch0_harq->mimo_mode = PUSCH_PRECODING0; - // pmi stored from ulsch allocation routine - dlsch0_harq->pmi_alloc = dlsch0->pmi_alloc; - //LOG_I(PHY,"XXX using PMI %x\n",pmi2hex_2Ar1(dlsch0_harq->pmi_alloc)); - break; + //dlsch0->layer_index = tbswap; + //dlsch1->layer_index = 1-tbswap; - case 6: - dlsch0_harq->mimo_mode = PUSCH_PRECODING1; - LOG_E(PHY,"Unsupported TPMI\n"); - return(-1); - break; - } + // Fix this + tpmi = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->tpmi; + // printf("ue: tpmi %d\n",tpmi); + switch (tpmi) { + case 0: + dlsch0_harq->mimo_mode = ALAMOUTI; + break; - if (frame_parms->nb_antenna_ports_eNB == 1) - dlsch0_harq->mimo_mode = SISO; + case 1: + dlsch0_harq->mimo_mode = UNIFORM_PRECODING11; + dlsch0_harq->pmi_alloc = pmi_extend (frame_parms, 0, 0); + break; + case 2: + dlsch0_harq->mimo_mode = UNIFORM_PRECODING1m1; + dlsch0_harq->pmi_alloc = pmi_extend (frame_parms, 1, 0); + break; - if ((dlsch0_harq->DCINdi != ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->ndi) || - (dlsch0_harq->first_tx==1)) { - - dlsch0_harq->round = 0; - dlsch0_harq->first_tx = 0; - dlsch0_harq->status = ACTIVE; - } - /* - else if (dlsch0_harq->status == SCH_IDLE) { // we got same ndi for a previously decoded process, - // this happens if either another harq process in the same - // is NAK or an ACK was not received - - dlsch0->harq_ack[subframe].ack = 1; - dlsch0->harq_ack[subframe].harq_id = harq_pid; - dlsch0->harq_ack[subframe].send_harq_status = 1; - dlsch0->active = 0; - return(0); - } - */ - - dlsch0_harq->DCINdi = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->ndi; - dlsch0_harq->mcs = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->mcs; - - if (dlsch0_harq->nb_rb>1) { - dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; - } else - dlsch0_harq->TBS =0; - - dlsch0->rnti = rnti; - //dlsch1->rnti = rnti; - - dlsch0->active = 1; - //dlsch1->active = 1; - - dlsch0_harq->dl_power_off = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->dl_power_off; - //dlsch1_harq->dl_power_off = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->dl_power_off; - + case 3: + dlsch0_harq->mimo_mode = UNIFORM_PRECODING1j; + dlsch0_harq->pmi_alloc = pmi_extend (frame_parms, 2, 0); break; - default: - LOG_E(PHY,"format %d not yet implemented\n",dci_format); - return(-1); + case 4: + dlsch0_harq->mimo_mode = UNIFORM_PRECODING1mj; + dlsch0_harq->pmi_alloc = pmi_extend (frame_parms, 3, 0); + break; + + case 5: + dlsch0_harq->mimo_mode = PUSCH_PRECODING0; + // pmi stored from ulsch allocation routine + dlsch0_harq->pmi_alloc = dlsch0->pmi_alloc; + //LOG_I(PHY,"XXX using PMI %x\n",pmi2hex_2Ar1(dlsch0_harq->pmi_alloc)); + break; + + + case 6: + dlsch0_harq->mimo_mode = PUSCH_PRECODING1; + LOG_E (PHY, "Unsupported TPMI\n"); + return (-1); break; } + + if (frame_parms->nb_antenna_ports_eNB == 1) + dlsch0_harq->mimo_mode = SISO; + + + if ((dlsch0_harq->DCINdi != ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->ndi) || (dlsch0_harq->first_tx == 1)) { + + dlsch0_harq->round = 0; + dlsch0_harq->first_tx = 0; + dlsch0_harq->status = ACTIVE; + } + /* + else if (dlsch0_harq->status == SCH_IDLE) { // we got same ndi for a previously decoded process, + // this happens if either another harq process in the same + // is NAK or an ACK was not received + + dlsch0->harq_ack[subframe].ack = 1; + dlsch0->harq_ack[subframe].harq_id = harq_pid; + dlsch0->harq_ack[subframe].send_harq_status = 1; + dlsch0->active = 0; + return(0); + } + */ + + dlsch0_harq->DCINdi = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->ndi; + dlsch0_harq->mcs = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->mcs; + + if (dlsch0_harq->nb_rb > 1) { + dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; + } else + dlsch0_harq->TBS = 0; + + dlsch0->rnti = rnti; + //dlsch1->rnti = rnti; + + dlsch0->active = 1; + //dlsch1->active = 1; + + dlsch0_harq->dl_power_off = ((DCI1E_5MHz_2A_M10PRB_TDD_t *) dci_pdu)->dl_power_off; + //dlsch1_harq->dl_power_off = ((DCI1E_5MHz_2A_M10PRB_TDD_t *)dci_pdu)->dl_power_off; + + + break; + + default: + LOG_E (PHY, "format %d not yet implemented\n", dci_format); + return (-1); + break; + } + #ifdef UE_DEBUG_TRACE - if (dlsch[0] && (dlsch[0]->rnti != 0xffff)) { - LOG_I(PHY,"dci_format:%d Abssubframe: %d.%d \n",dci_format,frame%1024,subframe); - LOG_I(PHY,"PDSCH dlsch0 UE: rnti %x\n",dlsch[0]->rnti); - LOG_D(PHY,"PDSCH dlsch0 UE: NBRB %d\n",dlsch0_harq->nb_rb); - LOG_D(PHY,"PDSCH dlsch0 UE: rballoc %x\n",dlsch0_harq->rb_alloc_even[0]); - LOG_I(PHY,"PDSCH dlsch0 UE: harq_pid %d\n",dci_info_extarcted.harq_pid); - LOG_I(PHY,"PDSCH dlsch0 UE: g %d\n",dlsch[0]->g_pucch); - LOG_D(PHY,"PDSCH dlsch0 UE: round %d\n",dlsch0_harq->round); - LOG_D(PHY,"PDSCH dlsch0 UE: DCINdi %d\n",dlsch0_harq->DCINdi); - LOG_D(PHY,"PDSCH dlsch0 UE: rvidx %d\n",dlsch0_harq->rvidx); - LOG_D(PHY,"PDSCH dlsch0 UE: TBS %d\n",dlsch0_harq->TBS); - LOG_D(PHY,"PDSCH dlsch0 UE: mcs %d\n",dlsch0_harq->mcs); - LOG_D(PHY,"PDSCH dlsch0 UE: pwr_off %d\n",dlsch0_harq->dl_power_off); - } + if (dlsch[0] && (dlsch[0]->rnti != 0xffff)) { + LOG_I (PHY, "dci_format:%d Abssubframe: %d.%d \n", dci_format, frame % 1024, subframe); + LOG_I (PHY, "PDSCH dlsch0 UE: rnti %x\n", dlsch[0]->rnti); + LOG_D (PHY, "PDSCH dlsch0 UE: NBRB %d\n", dlsch0_harq->nb_rb); + LOG_D (PHY, "PDSCH dlsch0 UE: rballoc %x\n", dlsch0_harq->rb_alloc_even[0]); + LOG_I (PHY, "PDSCH dlsch0 UE: harq_pid %d\n", dci_info_extarcted.harq_pid); + LOG_I (PHY, "PDSCH dlsch0 UE: g %d\n", dlsch[0]->g_pucch); + LOG_D (PHY, "PDSCH dlsch0 UE: round %d\n", dlsch0_harq->round); + LOG_D (PHY, "PDSCH dlsch0 UE: DCINdi %d\n", dlsch0_harq->DCINdi); + LOG_D (PHY, "PDSCH dlsch0 UE: rvidx %d\n", dlsch0_harq->rvidx); + LOG_D (PHY, "PDSCH dlsch0 UE: TBS %d\n", dlsch0_harq->TBS); + LOG_D (PHY, "PDSCH dlsch0 UE: mcs %d\n", dlsch0_harq->mcs); + LOG_D (PHY, "PDSCH dlsch0 UE: pwr_off %d\n", dlsch0_harq->dl_power_off); + } #endif #if T_TRACER - if( (dlsch[0]->rnti != si_rnti) && (dlsch[0]->rnti != ra_rnti) && (dlsch[0]->rnti != p_rnti)) - { - T(T_UE_PHY_DLSCH_UE_DCI, T_INT(0), T_INT(frame%1024), T_INT(subframe), - T_INT(dlsch[0]->rnti), T_INT(dci_format), - T_INT(harq_pid), - T_INT(dlsch0_harq->mcs), - T_INT(dlsch0_harq->TBS)); - } + if ((dlsch[0]->rnti != si_rnti) && (dlsch[0]->rnti != ra_rnti) && (dlsch[0]->rnti != p_rnti)) { + T (T_UE_PHY_DLSCH_UE_DCI, T_INT (0), T_INT (frame % 1024), T_INT (subframe), T_INT (dlsch[0]->rnti), T_INT (dci_format), T_INT (harq_pid), T_INT (dlsch0_harq->mcs), T_INT (dlsch0_harq->TBS)); + } #endif - // compute DL power control parameters - if (dlsch0_harq != NULL){ - computeRhoA_UE(pdsch_config_dedicated, dlsch[0],dlsch0_harq->dl_power_off, frame_parms->nb_antenna_ports_eNB); - computeRhoB_UE(pdsch_config_dedicated,&(frame_parms->pdsch_config_common),frame_parms->nb_antenna_ports_eNB,dlsch[0],dlsch0_harq->dl_power_off); - } + // compute DL power control parameters + if (dlsch0_harq != NULL) { + computeRhoA_UE (pdsch_config_dedicated, dlsch[0], dlsch0_harq->dl_power_off, frame_parms->nb_antenna_ports_eNB); + computeRhoB_UE (pdsch_config_dedicated, &(frame_parms->pdsch_config_common), frame_parms->nb_antenna_ports_eNB, dlsch[0], dlsch0_harq->dl_power_off); + } - if (dlsch1_harq != NULL) { - computeRhoA_UE(pdsch_config_dedicated, dlsch[1],dlsch1_harq->dl_power_off, frame_parms->nb_antenna_ports_eNB); - computeRhoB_UE(pdsch_config_dedicated,&(frame_parms->pdsch_config_common),frame_parms->nb_antenna_ports_eNB,dlsch[1],dlsch1_harq->dl_power_off); - } + if (dlsch1_harq != NULL) { + computeRhoA_UE (pdsch_config_dedicated, dlsch[1], dlsch1_harq->dl_power_off, frame_parms->nb_antenna_ports_eNB); + computeRhoB_UE (pdsch_config_dedicated, &(frame_parms->pdsch_config_common), frame_parms->nb_antenna_ports_eNB, dlsch[1], dlsch1_harq->dl_power_off); + } - return(0); + return (0); } -uint8_t subframe2harq_pid(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame,uint8_t subframe) +uint8_t +subframe2harq_pid (LTE_DL_FRAME_PARMS * frame_parms, uint32_t frame, uint8_t subframe) { - uint8_t ret = 255; + uint8_t ret = 255; if (frame_parms->frame_type == FDD) { - ret = (((frame<<1)+subframe)&7); + ret = (((frame << 1) + subframe) & 7); } else { switch (frame_parms->tdd_config) { case 1: - if ((subframe==2) || - (subframe==3) || - (subframe==7) || - (subframe==8)) + if ((subframe == 2) || (subframe == 3) || (subframe == 7) || (subframe == 8)) switch (subframe) { case 2: case 3: - ret = (subframe-2); + ret = (subframe - 2); break; case 7: case 8: - ret = (subframe-5); + ret = (subframe - 5); break; default: - LOG_E(PHY,"subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n",subframe,frame_parms->tdd_config); + LOG_E (PHY, "subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n", subframe, frame_parms->tdd_config); ret = (255); break; } @@ -6433,194 +6008,180 @@ uint8_t subframe2harq_pid(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame,uint8_t break; case 2: - if ((subframe!=2) && (subframe!=7)) { - LOG_E(PHY,"subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n",subframe,frame_parms->tdd_config); - ret=255; - } - else ret = (subframe/7); + if ((subframe != 2) && (subframe != 7)) { + LOG_E (PHY, "subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n", subframe, frame_parms->tdd_config); + ret = 255; + } else + ret = (subframe / 7); break; case 3: - if ((subframe<2) || (subframe>4)) { - LOG_E(PHY,"subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n",subframe,frame_parms->tdd_config); + if ((subframe < 2) || (subframe > 4)) { + LOG_E (PHY, "subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n", subframe, frame_parms->tdd_config); ret = (255); - } - else ret = (subframe-2); + } else + ret = (subframe - 2); break; case 4: - if ((subframe<2) || (subframe>3)) { - LOG_E(PHY,"subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n",subframe,frame_parms->tdd_config); + if ((subframe < 2) || (subframe > 3)) { + LOG_E (PHY, "subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n", subframe, frame_parms->tdd_config); ret = (255); - } - else ret = (subframe-2); + } else + ret = (subframe - 2); break; case 5: - if (subframe!=2) { - LOG_E(PHY,"subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n",subframe,frame_parms->tdd_config); + if (subframe != 2) { + LOG_E (PHY, "subframe2_harq_pid, Illegal subframe %d for TDD mode %d\n", subframe, frame_parms->tdd_config); ret = (255); - } - else ret = (subframe-2); + } else + ret = (subframe - 2); break; default: - LOG_E(PHY,"subframe2_harq_pid, Unsupported TDD mode %d\n",frame_parms->tdd_config); + LOG_E (PHY, "subframe2_harq_pid, Unsupported TDD mode %d\n", frame_parms->tdd_config); ret = (255); } } - AssertFatal(ret!=255, - "invalid harq_pid(%d) at SFN/SF = %d/%d\n", (int8_t)ret, frame, subframe); + AssertFatal (ret != 255, "invalid harq_pid(%d) at SFN/SF = %d/%d\n", (int8_t) ret, frame, subframe); return ret; } -uint8_t pdcch_alloc2ul_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n) +uint8_t +pdcch_alloc2ul_subframe (LTE_DL_FRAME_PARMS * frame_parms, uint8_t n) { - uint8_t ul_subframe = 255; + uint8_t ul_subframe = 255; - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 1) && - ((n==1)||(n==6))) // tdd_config 0,1 SF 1,5 - ul_subframe = ((n+6)%10); - else if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 6) && - ((n==0)||(n==1)||(n==5)||(n==6))) - ul_subframe = ((n+7)%10); - else if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 6) && - (n==9)) // tdd_config 6 SF 9 - ul_subframe = ((n+5)%10); + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 1) && ((n == 1) || (n == 6))) // tdd_config 0,1 SF 1,5 + ul_subframe = ((n + 6) % 10); + else if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 6) && ((n == 0) || (n == 1) || (n == 5) || (n == 6))) + ul_subframe = ((n + 7) % 10); + else if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 6) && (n == 9)) // tdd_config 6 SF 9 + ul_subframe = ((n + 5) % 10); else - ul_subframe = ((n+4)%10); + ul_subframe = ((n + 4) % 10); - if (subframe_select(frame_parms,ul_subframe) != SF_UL) return(255); + if (subframe_select (frame_parms, ul_subframe) != SF_UL) + return (255); - LOG_D(PHY, "subframe %d: PUSCH subframe = %d\n", n, ul_subframe); + LOG_D (PHY, "subframe %d: PUSCH subframe = %d\n", n, ul_subframe); return ul_subframe; } -uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n) +uint8_t +ul_subframe2pdcch_alloc_subframe (LTE_DL_FRAME_PARMS * frame_parms, uint8_t n) { - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 1) && - ((n==7)||(n==2))) // tdd_config 0,1 SF 1,5 - return((n==7)? 1 : 6); - else if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 6) && - ((n==7)||(n==8)||(n==2)||(n==3))) - return((n+3)%10); - else if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 6) && - (n==4)) // tdd_config 6 SF 9 - return(9); + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 1) && ((n == 7) || (n == 2))) // tdd_config 0,1 SF 1,5 + return ((n == 7) ? 1 : 6); + else if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 6) && ((n == 7) || (n == 8) || (n == 2) || (n == 3))) + return ((n + 3) % 10); + else if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 6) && (n == 4)) // tdd_config 6 SF 9 + return (9); else - return((n+6)%10); + return ((n + 6) % 10); } -uint32_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n) +uint32_t +pdcch_alloc2ul_frame (LTE_DL_FRAME_PARMS * frame_parms, uint32_t frame, uint8_t n) { - uint32_t ul_frame; + uint32_t ul_frame; - if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 1) && - ((n==1)||(n==6))) // tdd_config 0,1 SF 1,5 - ul_frame = (frame + (n==1 ? 0 : 1)); - else if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 6) && - ((n==0)||(n==1)||(n==5)||(n==6))) - ul_frame = (frame + (n>=5 ? 1 : 0)); - else if ((frame_parms->frame_type == TDD) && - (frame_parms->tdd_config == 6) && - (n==9)) // tdd_config 6 SF 9 - ul_frame = (frame+1); + if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 1) && ((n == 1) || (n == 6))) // tdd_config 0,1 SF 1,5 + ul_frame = (frame + (n == 1 ? 0 : 1)); + else if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 6) && ((n == 0) || (n == 1) || (n == 5) || (n == 6))) + ul_frame = (frame + (n >= 5 ? 1 : 0)); + else if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 6) && (n == 9)) // tdd_config 6 SF 9 + ul_frame = (frame + 1); else - ul_frame = (frame+(n>=6 ? 1 : 0)); + ul_frame = (frame + (n >= 6 ? 1 : 0)); - LOG_D(PHY, "frame %d subframe %d: PUSCH frame = %d\n", frame, n, ul_frame); + LOG_D (PHY, "frame %d subframe %d: PUSCH frame = %d\n", frame, n, ul_frame); return ul_frame % 1024; } -int32_t pmi_convert_rank1_from_rank2(uint16_t pmi_alloc, int tpmi, int nb_rb) +int32_t +pmi_convert_rank1_from_rank2 (uint16_t pmi_alloc, int tpmi, int nb_rb) { - int nb_subbands = 0; - int32_t pmi_alloc_new = 0, pmi_new = 0, pmi_old = 0; - int i; + int nb_subbands = 0; + int32_t pmi_alloc_new = 0, pmi_new = 0, pmi_old = 0; + int i; switch (nb_rb) { - case 6: - nb_subbands = 6; - break; - default: - case 25: - nb_subbands = 7; - break; - case 50: - nb_subbands = 9; - break; - case 100: - nb_subbands = 13; - break; - } + case 6: + nb_subbands = 6; + break; + default: + case 25: + nb_subbands = 7; + break; + case 50: + nb_subbands = 9; + break; + case 100: + nb_subbands = 13; + break; + } for (i = 0; i < nb_subbands; i++) { - pmi_old = (pmi_alloc >> i)&1; + pmi_old = (pmi_alloc >> i) & 1; if (pmi_old == 0) if (tpmi == 5) pmi_new = 0; else pmi_new = 1; + else if (tpmi == 5) + pmi_new = 2; else - if (tpmi == 5) - pmi_new = 2; - else - pmi_new = 3; + pmi_new = 3; - pmi_alloc_new|=pmi_new<<(2*i); + pmi_alloc_new |= pmi_new << (2 * i); } #ifdef DEBUG_HARQ -printf(" [DCI UE] pmi_alloc_old %d, pmi_alloc_new %d pmi_old %d , pmi_new %d\n", pmi_alloc, pmi_alloc_new,pmi_old, pmi_new ); + printf (" [DCI UE] pmi_alloc_old %d, pmi_alloc_new %d pmi_old %d , pmi_new %d\n", pmi_alloc, pmi_alloc_new, pmi_old, pmi_new); #endif -return(pmi_alloc_new); + return (pmi_alloc_new); } -uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_rb) +uint16_t +quantize_subband_pmi (PHY_MEASUREMENTS * meas, uint8_t eNB_id, int nb_rb) { - int i, aarx; - uint16_t pmiq=0; - uint32_t pmivect = 0; - uint8_t rank = meas->rank[eNB_id]; - int pmi_re,pmi_im; - int nb_subbands=0; + int i, aarx; + uint16_t pmiq = 0; + uint32_t pmivect = 0; + uint8_t rank = meas->rank[eNB_id]; + int pmi_re, pmi_im; + int nb_subbands = 0; switch (nb_rb) { - case 6: - nb_subbands = 6; - break; - default: - case 25: - nb_subbands = 7; - break; - case 50: - nb_subbands = 9; - break; - case 100: - nb_subbands = 13; - break; - } + case 6: + nb_subbands = 6; + break; + default: + case 25: + nb_subbands = 7; + break; + case 50: + nb_subbands = 9; + break; + case 100: + nb_subbands = 13; + break; + } - for (i=0; inb_antennas_rx; aarx++) { + for (aarx = 0; aarx < meas->nb_antennas_rx; aarx++) { pmi_re += meas->subband_pmi_re[eNB_id][i][aarx]; pmi_im += meas->subband_pmi_im[eNB_id][i][aarx]; } @@ -6639,51 +6200,51 @@ uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_rb) pmiq = PMI_2A_1mj; // printf("subband %d, pmi%d \n",i,pmiq); - pmivect |= (pmiq<<(2*i)); + pmivect |= (pmiq << (2 * i)); } - else if (rank==1) { - for (aarx=0; aarxnb_antennas_rx; aarx++) { + else if (rank == 1) { + for (aarx = 0; aarx < meas->nb_antennas_rx; aarx++) { pmi_re += meas->subband_pmi_re[eNB_id][i][aarx]; - //printf("meas->subband_pmi_re[eNB_id][i][%d]=%d\n", aarx, meas->subband_pmi_re[eNB_id][i][aarx]); + //printf("meas->subband_pmi_re[eNB_id][i][%d]=%d\n", aarx, meas->subband_pmi_re[eNB_id][i][aarx]); pmi_im += meas->subband_pmi_im[eNB_id][i][aarx]; - //printf("meas->subband_pmi_im[eNB_id][i][%d]=%d\n",aarx, meas->subband_pmi_im[eNB_id][i][aarx]); + //printf("meas->subband_pmi_im[eNB_id][i][%d]=%d\n",aarx, meas->subband_pmi_im[eNB_id][i][aarx]); } - if (pmi_re >= pmi_im) // this is not orthogonal - // this is orthogonal - //if (((pmi_re >= pmi_im) && (pmi_re >= -pmi_im)) || ((pmi_re <= pmi_im) && (pmi_re >= -pmi_im))) - pmiq = PMI_2A_R1_11; - else - pmiq = PMI_2A_R1_1j; + if (pmi_re >= pmi_im) // this is not orthogonal + // this is orthogonal + //if (((pmi_re >= pmi_im) && (pmi_re >= -pmi_im)) || ((pmi_re <= pmi_im) && (pmi_re >= -pmi_im))) + pmiq = PMI_2A_R1_11; + else + pmiq = PMI_2A_R1_1j; - // printf("subband %d, pmi_re %d, pmi_im %d, pmiq %d \n",i,pmi_re,pmi_im,pmiq); - // printf("subband %d, pmi%d \n",i,pmiq); + // printf("subband %d, pmi_re %d, pmi_im %d, pmiq %d \n",i,pmi_re,pmi_im,pmiq); + // printf("subband %d, pmi%d \n",i,pmiq); //According to Section 7.2.4 of 36.213 - pmivect |= ((pmiq-1)<<(i)); //shift 1 since only one bit - } - else { - LOG_E(PHY,"PMI feedback for rank>1 not supported!\n"); + pmivect |= ((pmiq - 1) << (i)); //shift 1 since only one bit + } else { + LOG_E (PHY, "PMI feedback for rank>1 not supported!\n"); pmivect = 0; } } #ifdef DEBUG_HARQ - printf( "quantize_subband_pmi pmivect %d \n", pmivect); + printf ("quantize_subband_pmi pmivect %d \n", pmivect); #endif - return(pmivect); + return (pmivect); } -uint16_t quantize_subband_pmi2(PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t a_id,int nb_subbands) +uint16_t +quantize_subband_pmi2 (PHY_MEASUREMENTS * meas, uint8_t eNB_id, uint8_t a_id, int nb_subbands) { - uint8_t i; - uint16_t pmiq=0; - uint16_t pmivect = 0; - uint8_t rank = meas->rank[eNB_id]; - int pmi_re,pmi_im; + uint8_t i; + uint16_t pmiq = 0; + uint16_t pmivect = 0; + uint8_t rank = meas->rank[eNB_id]; + int pmi_re, pmi_im; - for (i=0; isubband_pmi_re[eNB_id][i][a_id]; @@ -6698,23 +6259,24 @@ uint16_t quantize_subband_pmi2(PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t a_i else if ((pmi_re > pmi_im) && (pmi_re < -pmi_im)) pmiq = PMI_2A_1mj; - pmivect |= (pmiq<<(2*i)); + pmivect |= (pmiq << (2 * i)); } else { // This needs to be done properly!!! pmivect = 0; } } - return(pmivect); + return (pmivect); } -uint16_t quantize_wideband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id) +uint16_t +quantize_wideband_pmi (PHY_MEASUREMENTS * meas, uint8_t eNB_id) { - uint16_t pmiq=0; - uint8_t rank = meas->rank[eNB_id]; + uint16_t pmiq = 0; + uint8_t rank = meas->rank[eNB_id]; //int pmi; - int pmi_re,pmi_im; + int pmi_re, pmi_im; if (rank == 1) { //pmi = @@ -6736,8 +6298,9 @@ uint16_t quantize_wideband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id) } - return(pmiq); + return (pmiq); } + /* uint8_t sinr2cqi(int sinr) { if (sinr<-3) @@ -6749,15 +6312,16 @@ uint16_t quantize_wideband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id) } */ -uint8_t sinr2cqi(double sinr,uint8_t trans_mode) +uint8_t +sinr2cqi (double sinr, uint8_t trans_mode) { // int flag_LA=0; - uint8_t retValue = 0; + uint8_t retValue = 0; - if(flag_LA==0) { + if (flag_LA == 0) { // Ideal Channel Estimation - if (sinr<=-4.89) + if (sinr <= -4.89) retValue = (0); else if (sinr < -3.53) retValue = (3); @@ -6786,25 +6350,26 @@ uint8_t sinr2cqi(double sinr,uint8_t trans_mode) else retValue = (15); } else { - int h=0; - int trans_mode_tmp; + int h = 0; + int trans_mode_tmp; - if (trans_mode ==5) - trans_mode_tmp=2; - else if(trans_mode ==6) - trans_mode_tmp=3; + if (trans_mode == 5) + trans_mode_tmp = 2; + else if (trans_mode == 6) + trans_mode_tmp = 3; else - trans_mode_tmp = trans_mode-1; + trans_mode_tmp = trans_mode - 1; - for(h=0; h<16; h++) { - if(sinr<=sinr_to_cqi[trans_mode_tmp][h]) + for (h = 0; h < 16; h++) { + if (sinr <= sinr_to_cqi[trans_mode_tmp][h]) retValue = (h); } } - LOG_D(PHY, "sinr=%f trans_mode=%d cqi=%d\n", sinr, trans_mode, retValue); + LOG_D (PHY, "sinr=%f trans_mode=%d cqi=%d\n", sinr, trans_mode, retValue); return retValue; } + //uint32_t fill_subband_cqi(PHY_MEASUREMENTS *meas,uint8_t eNB_id) { // // uint8_t i; @@ -6831,45 +6396,47 @@ uint8_t sinr2cqi(double sinr,uint8_t trans_mode) //} -uint32_t fill_subband_cqi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t trans_mode,int nb_subbands) +uint32_t +fill_subband_cqi (PHY_MEASUREMENTS * meas, uint8_t eNB_id, uint8_t trans_mode, int nb_subbands) { - uint8_t i; + uint8_t i; - uint32_t cqivect = 0,offset=0; + uint32_t cqivect = 0, offset = 0; - int diff_cqi=0; + int diff_cqi = 0; - for (i=0; iwideband_cqi_avg[eNB_id],trans_mode) + sinr2cqi(meas->subband_cqi_tot_dB[eNB_id][i],trans_mode); + diff_cqi = -sinr2cqi (meas->wideband_cqi_avg[eNB_id], trans_mode) + sinr2cqi (meas->subband_cqi_tot_dB[eNB_id][i], trans_mode); // Note, this is Table 7.2.1-2 from 36.213 - if (diff_cqi<=-1) + if (diff_cqi <= -1) offset = 3; - else if (diff_cqi>=2) + else if (diff_cqi >= 2) offset = 2; else - offset=(uint32_t)diff_cqi; + offset = (uint32_t) diff_cqi; - cqivect |= (offset<<(2*i)); + cqivect |= (offset << (2 * i)); } - return(cqivect); + return (cqivect); } -void fill_CQI(LTE_UE_ULSCH_t *ulsch,PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t harq_pid,int N_RB_DL,uint16_t rnti, uint8_t trans_mode, double sinr_eff) +void +fill_CQI (LTE_UE_ULSCH_t * ulsch, PHY_MEASUREMENTS * meas, uint8_t eNB_id, uint8_t harq_pid, int N_RB_DL, uint16_t rnti, uint8_t trans_mode, double sinr_eff) { // printf("[PHY][UE] Filling CQI for eNB %d, meas->wideband_cqi_tot[%d] %d\n", // eNB_id,eNB_id,meas->wideband_cqi_tot[eNB_id]); - double sinr_tmp; - uint8_t *o = ulsch->o; - UCI_format_t uci_format = ulsch->uci_format; + double sinr_tmp; + uint8_t *o = ulsch->o; + UCI_format_t uci_format = ulsch->uci_format; - if(flag_LA==1) + if (flag_LA == 1) sinr_tmp = sinr_eff; else sinr_tmp = (double) meas->wideband_cqi_avg[eNB_id]; @@ -6883,51 +6450,51 @@ void fill_CQI(LTE_UE_ULSCH_t *ulsch,PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_ case 6: switch (uci_format) { case wideband_cqi_rank1_2A: - ((wideband_cqi_rank1_2A_1_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((wideband_cqi_rank1_2A_1_5MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,6); + ((wideband_cqi_rank1_2A_1_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((wideband_cqi_rank1_2A_1_5MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 6); break; case wideband_cqi_rank2_2A: - ((wideband_cqi_rank2_2A_1_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_1_5MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_1_5MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,6); + ((wideband_cqi_rank2_2A_1_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_1_5MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_1_5MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 6); break; case HLC_subband_cqi_nopmi: - ((HLC_subband_cqi_nopmi_1_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_nopmi_1_5MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,6); + ((HLC_subband_cqi_nopmi_1_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_nopmi_1_5MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 6); break; case HLC_subband_cqi_rank1_2A: - ((HLC_subband_cqi_rank1_2A_1_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank1_2A_1_5MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,6); - ((HLC_subband_cqi_rank1_2A_1_5MHz *)o)->pmi = quantize_wideband_pmi(meas,eNB_id); + ((HLC_subband_cqi_rank1_2A_1_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank1_2A_1_5MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 6); + ((HLC_subband_cqi_rank1_2A_1_5MHz *) o)->pmi = quantize_wideband_pmi (meas, eNB_id); break; case HLC_subband_cqi_rank2_2A: // This has to be improved!!! - ((HLC_subband_cqi_rank2_2A_1_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_1_5MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,6); - ((HLC_subband_cqi_rank2_2A_1_5MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_1_5MHz *)o)->diffcqi2 = fill_subband_cqi(meas,eNB_id,trans_mode,6); - ((HLC_subband_cqi_rank2_2A_1_5MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,6); + ((HLC_subband_cqi_rank2_2A_1_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_1_5MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 6); + ((HLC_subband_cqi_rank2_2A_1_5MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_1_5MHz *) o)->diffcqi2 = fill_subband_cqi (meas, eNB_id, trans_mode, 6); + ((HLC_subband_cqi_rank2_2A_1_5MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 6); break; case HLC_subband_cqi_mcs_CBA: // this is the cba mcs uci for cba transmission - ((HLC_subband_cqi_mcs_CBA_1_5MHz *)o)->mcs = ulsch->harq_processes[harq_pid]->mcs; - ((HLC_subband_cqi_mcs_CBA_1_5MHz *)o)->crnti = rnti; - LOG_D(PHY,"fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); + ((HLC_subband_cqi_mcs_CBA_1_5MHz *) o)->mcs = ulsch->harq_processes[harq_pid]->mcs; + ((HLC_subband_cqi_mcs_CBA_1_5MHz *) o)->crnti = rnti; + LOG_D (PHY, "fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); break; case ue_selected: - LOG_E(PHY,"fill_CQI ue_selected CQI not supported yet!!!\n"); - AssertFatal(1==0,"fill_CQI ue_selected CQI not supported yet!!!"); + LOG_E (PHY, "fill_CQI ue_selected CQI not supported yet!!!\n"); + AssertFatal (1 == 0, "fill_CQI ue_selected CQI not supported yet!!!"); break; default: - LOG_E(PHY,"unsupported CQI mode (%d)!!!\n",uci_format); - AssertFatal(1==0,"unsupported CQI mode !!!"); + LOG_E (PHY, "unsupported CQI mode (%d)!!!\n", uci_format); + AssertFatal (1 == 0, "unsupported CQI mode !!!"); break; } @@ -6937,51 +6504,51 @@ void fill_CQI(LTE_UE_ULSCH_t *ulsch,PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_ case 25: switch (uci_format) { case wideband_cqi_rank1_2A: - ((wideband_cqi_rank1_2A_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((wideband_cqi_rank1_2A_5MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,7); + ((wideband_cqi_rank1_2A_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((wideband_cqi_rank1_2A_5MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 7); break; case wideband_cqi_rank2_2A: - ((wideband_cqi_rank2_2A_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_5MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_5MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,7); + ((wideband_cqi_rank2_2A_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_5MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_5MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 7); break; case HLC_subband_cqi_nopmi: - ((HLC_subband_cqi_nopmi_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_nopmi_5MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,7); + ((HLC_subband_cqi_nopmi_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_nopmi_5MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 7); break; case HLC_subband_cqi_rank1_2A: - ((HLC_subband_cqi_rank1_2A_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank1_2A_5MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,7); - ((HLC_subband_cqi_rank1_2A_5MHz *)o)->pmi = quantize_wideband_pmi(meas,eNB_id); + ((HLC_subband_cqi_rank1_2A_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank1_2A_5MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 7); + ((HLC_subband_cqi_rank1_2A_5MHz *) o)->pmi = quantize_wideband_pmi (meas, eNB_id); break; case HLC_subband_cqi_rank2_2A: // This has to be improved!!! - ((HLC_subband_cqi_rank2_2A_5MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_5MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,7); - ((HLC_subband_cqi_rank2_2A_5MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_5MHz *)o)->diffcqi2 = fill_subband_cqi(meas,eNB_id,trans_mode,7); - ((HLC_subband_cqi_rank2_2A_5MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,7); + ((HLC_subband_cqi_rank2_2A_5MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_5MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 7); + ((HLC_subband_cqi_rank2_2A_5MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_5MHz *) o)->diffcqi2 = fill_subband_cqi (meas, eNB_id, trans_mode, 7); + ((HLC_subband_cqi_rank2_2A_5MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 7); break; case HLC_subband_cqi_mcs_CBA: // this is the cba mcs uci for cba transmission - ((HLC_subband_cqi_mcs_CBA_5MHz *)o)->mcs = ulsch->harq_processes[harq_pid]->mcs; - ((HLC_subband_cqi_mcs_CBA_5MHz *)o)->crnti = rnti; - LOG_N(PHY,"fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); + ((HLC_subband_cqi_mcs_CBA_5MHz *) o)->mcs = ulsch->harq_processes[harq_pid]->mcs; + ((HLC_subband_cqi_mcs_CBA_5MHz *) o)->crnti = rnti; + LOG_N (PHY, "fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); break; case ue_selected: - LOG_E(PHY,"fill_CQI ue_selected CQI not supported yet!!!\n"); - AssertFatal(1==0,"fill_CQI ue_selected CQI not supported yet!!!"); + LOG_E (PHY, "fill_CQI ue_selected CQI not supported yet!!!\n"); + AssertFatal (1 == 0, "fill_CQI ue_selected CQI not supported yet!!!"); break; default: - LOG_E(PHY,"unsupported CQI mode (%d)!!!\n",uci_format); - AssertFatal(1==0,"unsupported CQI mode !!!"); + LOG_E (PHY, "unsupported CQI mode (%d)!!!\n", uci_format); + AssertFatal (1 == 0, "unsupported CQI mode !!!"); break; } @@ -6991,51 +6558,51 @@ void fill_CQI(LTE_UE_ULSCH_t *ulsch,PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_ case 50: switch (uci_format) { case wideband_cqi_rank1_2A: - ((wideband_cqi_rank1_2A_10MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((wideband_cqi_rank1_2A_10MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,9); + ((wideband_cqi_rank1_2A_10MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((wideband_cqi_rank1_2A_10MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 9); break; case wideband_cqi_rank2_2A: - ((wideband_cqi_rank2_2A_10MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_10MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_10MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,9); + ((wideband_cqi_rank2_2A_10MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_10MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_10MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 9); break; case HLC_subband_cqi_nopmi: - ((HLC_subband_cqi_nopmi_10MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_nopmi_10MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,9); + ((HLC_subband_cqi_nopmi_10MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_nopmi_10MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 9); break; case HLC_subband_cqi_rank1_2A: - ((HLC_subband_cqi_rank1_2A_10MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank1_2A_10MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,9); - ((HLC_subband_cqi_rank1_2A_10MHz *)o)->pmi = quantize_wideband_pmi(meas,eNB_id); + ((HLC_subband_cqi_rank1_2A_10MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank1_2A_10MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 9); + ((HLC_subband_cqi_rank1_2A_10MHz *) o)->pmi = quantize_wideband_pmi (meas, eNB_id); break; case HLC_subband_cqi_rank2_2A: // This has to be improved!!! - ((HLC_subband_cqi_rank2_2A_10MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_10MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,9); - ((HLC_subband_cqi_rank2_2A_10MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_10MHz *)o)->diffcqi2 = fill_subband_cqi(meas,eNB_id,trans_mode,9); - ((HLC_subband_cqi_rank2_2A_10MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,9); + ((HLC_subband_cqi_rank2_2A_10MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_10MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 9); + ((HLC_subband_cqi_rank2_2A_10MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_10MHz *) o)->diffcqi2 = fill_subband_cqi (meas, eNB_id, trans_mode, 9); + ((HLC_subband_cqi_rank2_2A_10MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 9); break; case HLC_subband_cqi_mcs_CBA: // this is the cba mcs uci for cba transmission - ((HLC_subband_cqi_mcs_CBA_10MHz *)o)->mcs = ulsch->harq_processes[harq_pid]->mcs; - ((HLC_subband_cqi_mcs_CBA_10MHz *)o)->crnti = rnti; - LOG_N(PHY,"fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); + ((HLC_subband_cqi_mcs_CBA_10MHz *) o)->mcs = ulsch->harq_processes[harq_pid]->mcs; + ((HLC_subband_cqi_mcs_CBA_10MHz *) o)->crnti = rnti; + LOG_N (PHY, "fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); break; case ue_selected: - LOG_E(PHY,"fill_CQI ue_selected CQI not supported yet!!!\n"); - AssertFatal(1==0,"fill_CQI ue_selected CQI not supported yet!!!"); + LOG_E (PHY, "fill_CQI ue_selected CQI not supported yet!!!\n"); + AssertFatal (1 == 0, "fill_CQI ue_selected CQI not supported yet!!!"); break; default: - LOG_E(PHY,"unsupported CQI mode (%d)!!!\n",uci_format); - AssertFatal(1==0,"unsupported CQI mode !!!"); + LOG_E (PHY, "unsupported CQI mode (%d)!!!\n", uci_format); + AssertFatal (1 == 0, "unsupported CQI mode !!!"); break; } @@ -7045,51 +6612,51 @@ void fill_CQI(LTE_UE_ULSCH_t *ulsch,PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_ case 100: switch (uci_format) { case wideband_cqi_rank1_2A: - ((wideband_cqi_rank1_2A_20MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((wideband_cqi_rank1_2A_20MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,13); + ((wideband_cqi_rank1_2A_20MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((wideband_cqi_rank1_2A_20MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 13); break; case wideband_cqi_rank2_2A: - ((wideband_cqi_rank2_2A_20MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_20MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); //FIXME: calculate rank2 cqi - ((wideband_cqi_rank2_2A_20MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,13); + ((wideband_cqi_rank2_2A_20MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_20MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); //FIXME: calculate rank2 cqi + ((wideband_cqi_rank2_2A_20MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 13); break; case HLC_subband_cqi_nopmi: - ((HLC_subband_cqi_nopmi_20MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_nopmi_20MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,13); + ((HLC_subband_cqi_nopmi_20MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_nopmi_20MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 13); break; case HLC_subband_cqi_rank1_2A: - ((HLC_subband_cqi_rank1_2A_20MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank1_2A_20MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,13); - ((HLC_subband_cqi_rank1_2A_20MHz *)o)->pmi = quantize_wideband_pmi(meas,eNB_id); + ((HLC_subband_cqi_rank1_2A_20MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank1_2A_20MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 13); + ((HLC_subband_cqi_rank1_2A_20MHz *) o)->pmi = quantize_wideband_pmi (meas, eNB_id); break; case HLC_subband_cqi_rank2_2A: // This has to be improved!!! - ((HLC_subband_cqi_rank2_2A_20MHz *)o)->cqi1 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_20MHz *)o)->diffcqi1 = fill_subband_cqi(meas,eNB_id,trans_mode,13); - ((HLC_subband_cqi_rank2_2A_20MHz *)o)->cqi2 = sinr2cqi(sinr_tmp,trans_mode); - ((HLC_subband_cqi_rank2_2A_20MHz *)o)->diffcqi2 = fill_subband_cqi(meas,eNB_id,trans_mode,13); - ((HLC_subband_cqi_rank2_2A_20MHz *)o)->pmi = quantize_subband_pmi(meas,eNB_id,13); + ((HLC_subband_cqi_rank2_2A_20MHz *) o)->cqi1 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_20MHz *) o)->diffcqi1 = fill_subband_cqi (meas, eNB_id, trans_mode, 13); + ((HLC_subband_cqi_rank2_2A_20MHz *) o)->cqi2 = sinr2cqi (sinr_tmp, trans_mode); + ((HLC_subband_cqi_rank2_2A_20MHz *) o)->diffcqi2 = fill_subband_cqi (meas, eNB_id, trans_mode, 13); + ((HLC_subband_cqi_rank2_2A_20MHz *) o)->pmi = quantize_subband_pmi (meas, eNB_id, 13); break; case HLC_subband_cqi_mcs_CBA: // this is the cba mcs uci for cba transmission - ((HLC_subband_cqi_mcs_CBA_20MHz *)o)->mcs = ulsch->harq_processes[harq_pid]->mcs; - ((HLC_subband_cqi_mcs_CBA_20MHz *)o)->crnti = rnti; - LOG_N(PHY,"fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); + ((HLC_subband_cqi_mcs_CBA_20MHz *) o)->mcs = ulsch->harq_processes[harq_pid]->mcs; + ((HLC_subband_cqi_mcs_CBA_20MHz *) o)->crnti = rnti; + LOG_N (PHY, "fill uci for cba rnti %x, mcs %d \n", rnti, ulsch->harq_processes[harq_pid]->mcs); break; case ue_selected: - LOG_E(PHY,"fill_CQI ue_selected CQI not supported yet!!!\n"); - AssertFatal(1==0,"fill_CQI ue_selected CQI not supported yet!!!"); + LOG_E (PHY, "fill_CQI ue_selected CQI not supported yet!!!\n"); + AssertFatal (1 == 0, "fill_CQI ue_selected CQI not supported yet!!!"); break; default: - LOG_E(PHY,"unsupported CQI mode (%d)!!!\n",uci_format); - AssertFatal(1==0,"unsupported CQI mode !!!"); + LOG_E (PHY, "unsupported CQI mode (%d)!!!\n", uci_format); + AssertFatal (1 == 0, "unsupported CQI mode !!!"); break; } @@ -7101,85 +6668,76 @@ void fill_CQI(LTE_UE_ULSCH_t *ulsch,PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_ } -void reset_cba_uci(void *o) +void +reset_cba_uci (void *o) { // this is the cba mcs uci for cba transmission - ((HLC_subband_cqi_mcs_CBA_5MHz *)o)->mcs = 0; //fixme - ((HLC_subband_cqi_mcs_CBA_5MHz *)o)->crnti = 0x0; + ((HLC_subband_cqi_mcs_CBA_5MHz *) o)->mcs = 0; //fixme + ((HLC_subband_cqi_mcs_CBA_5MHz *) o)->crnti = 0x0; } -uint32_t pmi_extend(LTE_DL_FRAME_PARMS *frame_parms,uint8_t wideband_pmi, uint8_t rank) +uint32_t +pmi_extend (LTE_DL_FRAME_PARMS * frame_parms, uint8_t wideband_pmi, uint8_t rank) { - uint8_t i,wideband_pmi2; - uint32_t pmi_ex = 0; + uint8_t i, wideband_pmi2; + uint32_t pmi_ex = 0; - if (frame_parms->N_RB_DL!=25) { - LOG_E(PHY,"pmi_extend not yet implemented for anything else than 25PRB\n"); - return(-1); + if (frame_parms->N_RB_DL != 25) { + LOG_E (PHY, "pmi_extend not yet implemented for anything else than 25PRB\n"); + return (-1); } - if (rank==0) { - wideband_pmi2=wideband_pmi&3; - for (i=0; i<14; i+=2) - pmi_ex|=(wideband_pmi2<transmission_mode[eNB_id]; - ANFBmode_t AckNackFBMode; + uint8_t harq_pid; + uint8_t transmission_mode = ue->transmission_mode[eNB_id]; + ANFBmode_t AckNackFBMode; LTE_UE_ULSCH_t *ulsch = ue->ulsch[eNB_id]; LTE_UE_DLSCH_t **dlsch = ue->dlsch[ue->current_thread_id[subframe]][0]; PHY_MEASUREMENTS *meas = &ue->measurements; LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms; // uint32_t current_dlsch_cqi = ue->current_dlsch_cqi[eNB_id]; - if(frame_parms->frame_type == TDD) - { - AckNackFBMode = ue->pucch_config_dedicated[eNB_id].tdd_AckNackFeedbackMode; - } - else - { - AckNackFBMode = 1; // 1: multiplexing for FDD + if (frame_parms->frame_type == TDD) { + AckNackFBMode = ue->pucch_config_dedicated[eNB_id].tdd_AckNackFeedbackMode; + } else { + AckNackFBMode = 1; // 1: multiplexing for FDD } - uint32_t cqi_req; - uint32_t dai=3; - uint32_t cshift; - uint32_t TPC; - uint32_t ndi; - uint32_t mcs; - uint32_t rballoc,RIV_max; - uint16_t* RIV2first_rb_LUT; - uint16_t* RIV2nb_rb_LUT; + uint32_t cqi_req; + uint32_t dai = 3; + uint32_t cshift; + uint32_t TPC; + uint32_t ndi; + uint32_t mcs; + uint32_t rballoc, RIV_max; + uint16_t *RIV2first_rb_LUT; + uint16_t *RIV2nb_rb_LUT; // uint32_t hopping; // uint32_t type; @@ -7192,35 +6750,32 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if (rnti == ra_rnti) harq_pid = 0; else - harq_pid = subframe2harq_pid(frame_parms, - pdcch_alloc2ul_frame(frame_parms,proc->frame_rx,subframe), - pdcch_alloc2ul_subframe(frame_parms,subframe)); + harq_pid = subframe2harq_pid (frame_parms, pdcch_alloc2ul_frame (frame_parms, proc->frame_rx, subframe), pdcch_alloc2ul_subframe (frame_parms, subframe)); if (harq_pid == 255) { - LOG_E(PHY, "frame %d, subframe %d, rnti %x, format %d: illegal harq_pid!\n", - proc->frame_rx, subframe, rnti, dci_format); - return(-1); + LOG_E (PHY, "frame %d, subframe %d, rnti %x, format %d: illegal harq_pid!\n", proc->frame_rx, subframe, rnti, dci_format); + return (-1); } switch (frame_parms->N_RB_DL) { case 6: if (frame_parms->frame_type == TDD) { - cqi_req = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->cqi_req; - dai = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->dai; - cshift = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->cshift; - TPC = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->TPC; - ndi = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->ndi; - mcs = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->cqi_req; + dai = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->dai; + cshift = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->cshift; + TPC = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->TPC; + ndi = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->ndi; + mcs = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI0_1_5MHz_TDD_1_6_t *) dci_pdu)->rballoc; // hopping = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_1_5MHz_TDD_1_6_t *)dci_pdu)->type; } else { - cqi_req = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->cqi_req; - cshift = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->cshift; - TPC = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->ndi; - mcs = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_1_5MHz_FDD_t *) dci_pdu)->cqi_req; + cshift = ((DCI0_1_5MHz_FDD_t *) dci_pdu)->cshift; + TPC = ((DCI0_1_5MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI0_1_5MHz_FDD_t *) dci_pdu)->ndi; + mcs = ((DCI0_1_5MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI0_1_5MHz_FDD_t *) dci_pdu)->rballoc; // hopping = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_1_5MHz_FDD_t *)dci_pdu)->type; } @@ -7233,22 +6788,22 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, case 25: if (frame_parms->frame_type == TDD) { - cqi_req = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cqi_req; - dai = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->dai; - cshift = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cshift; - TPC = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->TPC; - ndi = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->ndi; - mcs = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->cqi_req; + dai = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->dai; + cshift = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->cshift; + TPC = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->TPC; + ndi = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->ndi; + mcs = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI0_5MHz_TDD_1_6_t *) dci_pdu)->rballoc; // hopping = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->type; } else { - cqi_req = ((DCI0_5MHz_FDD_t *)dci_pdu)->cqi_req; - cshift = ((DCI0_5MHz_FDD_t *)dci_pdu)->cshift; - TPC = ((DCI0_5MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI0_5MHz_FDD_t *)dci_pdu)->ndi; - mcs = ((DCI0_5MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI0_5MHz_FDD_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_5MHz_FDD_t *) dci_pdu)->cqi_req; + cshift = ((DCI0_5MHz_FDD_t *) dci_pdu)->cshift; + TPC = ((DCI0_5MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI0_5MHz_FDD_t *) dci_pdu)->ndi; + mcs = ((DCI0_5MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI0_5MHz_FDD_t *) dci_pdu)->rballoc; // hopping = ((DCI0_5MHz_FDD_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_5MHz_FDD_t *)dci_pdu)->type; } @@ -7261,22 +6816,22 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, case 50: if (frame_parms->frame_type == TDD) { - cqi_req = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->cqi_req; - dai = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->dai; - cshift = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->cshift; - TPC = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->TPC; - ndi = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->ndi; - mcs = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->cqi_req; + dai = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->dai; + cshift = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->cshift; + TPC = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->TPC; + ndi = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->ndi; + mcs = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI0_10MHz_TDD_1_6_t *) dci_pdu)->rballoc; // hopping = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_10MHz_TDD_1_6_t *)dci_pdu)->type; } else { - cqi_req = ((DCI0_10MHz_FDD_t *)dci_pdu)->cqi_req; - cshift = ((DCI0_10MHz_FDD_t *)dci_pdu)->cshift; - TPC = ((DCI0_10MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI0_10MHz_FDD_t *)dci_pdu)->ndi; - mcs = ((DCI0_10MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI0_10MHz_FDD_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_10MHz_FDD_t *) dci_pdu)->cqi_req; + cshift = ((DCI0_10MHz_FDD_t *) dci_pdu)->cshift; + TPC = ((DCI0_10MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI0_10MHz_FDD_t *) dci_pdu)->ndi; + mcs = ((DCI0_10MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI0_10MHz_FDD_t *) dci_pdu)->rballoc; // hopping = ((DCI0_10MHz_FDD_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_10MHz_FDD_t *)dci_pdu)->type; } @@ -7289,22 +6844,22 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, case 100: if (frame_parms->frame_type == TDD) { - cqi_req = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->cqi_req; - dai = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->dai; - cshift = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->cshift; - TPC = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->TPC; - ndi = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->ndi; - mcs = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->mcs; - rballoc = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->cqi_req; + dai = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->dai; + cshift = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->cshift; + TPC = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->TPC; + ndi = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->ndi; + mcs = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->mcs; + rballoc = ((DCI0_20MHz_TDD_1_6_t *) dci_pdu)->rballoc; // hopping = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_20MHz_TDD_1_6_t *)dci_pdu)->type; } else { - cqi_req = ((DCI0_20MHz_FDD_t *)dci_pdu)->cqi_req; - cshift = ((DCI0_20MHz_FDD_t *)dci_pdu)->cshift; - TPC = ((DCI0_20MHz_FDD_t *)dci_pdu)->TPC; - ndi = ((DCI0_20MHz_FDD_t *)dci_pdu)->ndi; - mcs = ((DCI0_20MHz_FDD_t *)dci_pdu)->mcs; - rballoc = ((DCI0_20MHz_FDD_t *)dci_pdu)->rballoc; + cqi_req = ((DCI0_20MHz_FDD_t *) dci_pdu)->cqi_req; + cshift = ((DCI0_20MHz_FDD_t *) dci_pdu)->cshift; + TPC = ((DCI0_20MHz_FDD_t *) dci_pdu)->TPC; + ndi = ((DCI0_20MHz_FDD_t *) dci_pdu)->ndi; + mcs = ((DCI0_20MHz_FDD_t *) dci_pdu)->mcs; + rballoc = ((DCI0_20MHz_FDD_t *) dci_pdu)->rballoc; // hopping = ((DCI0_20MHz_FDD_t *)dci_pdu)->hopping=hopping; // type = ((DCI0_20MHz_FDD_t *)dci_pdu)->type; } @@ -7317,58 +6872,52 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, break; default: - LOG_E(PHY,"Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); DevParam (frame_parms->N_RB_DL, 0, 0); break; } if (rballoc > RIV_max) { - LOG_E(PHY,"frame %d, subframe %d, rnti %x, format %d: FATAL ERROR: generate_ue_ulsch_params_from_dci, rb_alloc[%d] > RIV_max[%d]\n", - proc->frame_rx, subframe, rnti, dci_format,rballoc,RIV_max); - LOG_E(PHY,"Wrong DCI0 detection, do not transmit PUSCH for HARQID: %d\n",harq_pid); + LOG_E (PHY, "frame %d, subframe %d, rnti %x, format %d: FATAL ERROR: generate_ue_ulsch_params_from_dci, rb_alloc[%d] > RIV_max[%d]\n", + proc->frame_rx, subframe, rnti, dci_format, rballoc, RIV_max); + LOG_E (PHY, "Wrong DCI0 detection, do not transmit PUSCH for HARQID: %d\n", harq_pid); ulsch->harq_processes[harq_pid]->subframe_scheduling_flag = 0; - return(-1); + return (-1); } - // indicate that this process is to be serviced in subframe n+4 if ((rnti >= cba_rnti) && (rnti < p_rnti)) - ulsch->harq_processes[harq_pid]->subframe_cba_scheduling_flag = 1; //+=1 this indicates the number of dci / cba group: not supported in the data struct - else - { - ulsch->harq_processes[harq_pid]->subframe_scheduling_flag = 1; - //LOG_I(PHY,"[HARQ-UL harqId: %d] DCI0 ==> subframe_scheduling_flag = %d round: %d\n", harq_pid, ulsch->harq_processes[harq_pid]->subframe_scheduling_flag, ulsch->harq_processes[harq_pid]->round); + ulsch->harq_processes[harq_pid]->subframe_cba_scheduling_flag = 1; //+=1 this indicates the number of dci / cba group: not supported in the data struct + else { + ulsch->harq_processes[harq_pid]->subframe_scheduling_flag = 1; + //LOG_I(PHY,"[HARQ-UL harqId: %d] DCI0 ==> subframe_scheduling_flag = %d round: %d\n", harq_pid, ulsch->harq_processes[harq_pid]->subframe_scheduling_flag, ulsch->harq_processes[harq_pid]->round); } - ulsch->harq_processes[harq_pid]->TPC = TPC; - ulsch->harq_processes[harq_pid]->first_rb = RIV2first_rb_LUT[rballoc]; - ulsch->harq_processes[harq_pid]->nb_rb = RIV2nb_rb_LUT[rballoc]; + ulsch->harq_processes[harq_pid]->TPC = TPC; + ulsch->harq_processes[harq_pid]->first_rb = RIV2first_rb_LUT[rballoc]; + ulsch->harq_processes[harq_pid]->nb_rb = RIV2nb_rb_LUT[rballoc]; if (ue->ul_power_control_dedicated[eNB_id].accumulationEnabled == 1) { - LOG_D(PHY,"[UE %d][PUSCH %d] Frame %d subframe %d: f_pusch (ACC) %d, adjusting by %d (TPC %d)\n", - ue->Mod_id,harq_pid,proc->frame_rx,subframe,ulsch->f_pusch, - delta_PUSCH_acc[ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC], - ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC); + LOG_D (PHY, "[UE %d][PUSCH %d] Frame %d subframe %d: f_pusch (ACC) %d, adjusting by %d (TPC %d)\n", + ue->Mod_id, harq_pid, proc->frame_rx, subframe, ulsch->f_pusch, delta_PUSCH_acc[ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC], ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC); ulsch->f_pusch += delta_PUSCH_acc[ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC]; } else { - LOG_D(PHY,"[UE %d][PUSCH %d] Frame %d subframe %d: f_pusch (ABS) %d, adjusting to %d (TPC %d)\n", - ue->Mod_id,harq_pid,proc->frame_rx,subframe,ulsch->f_pusch, - delta_PUSCH_abs[ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC], - ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC); + LOG_D (PHY, "[UE %d][PUSCH %d] Frame %d subframe %d: f_pusch (ABS) %d, adjusting to %d (TPC %d)\n", + ue->Mod_id, harq_pid, proc->frame_rx, subframe, ulsch->f_pusch, delta_PUSCH_abs[ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC], ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC); ulsch->f_pusch = delta_PUSCH_abs[ue->ulsch[eNB_id]->harq_processes[harq_pid]->TPC]; } - if (ulsch->harq_processes[harq_pid]->first_tx==1) { + if (ulsch->harq_processes[harq_pid]->first_tx == 1) { // ulsch->harq_processes[harq_pid]->Ndi = 1; - ulsch->harq_processes[harq_pid]->first_tx=0; - ulsch->harq_processes[harq_pid]->DCINdi= ndi; + ulsch->harq_processes[harq_pid]->first_tx = 0; + ulsch->harq_processes[harq_pid]->DCINdi = ndi; ulsch->harq_processes[harq_pid]->round = 0; } else { - if (ulsch->harq_processes[harq_pid]->DCINdi!=ndi) { // new SDU opportunity + if (ulsch->harq_processes[harq_pid]->DCINdi != ndi) { // new SDU opportunity // ulsch->harq_processes[harq_pid]->Ndi = 1; - ulsch->harq_processes[harq_pid]->DCINdi= ndi; + ulsch->harq_processes[harq_pid]->DCINdi = ndi; ulsch->harq_processes[harq_pid]->round = 0; } else { // ulsch->harq_processes[harq_pid]->Ndi = 0; @@ -7411,7 +6960,7 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, } } - ulsch->harq_processes[harq_pid]->n_DMRS = cshift; + ulsch->harq_processes[harq_pid]->n_DMRS = cshift; //printf("nb_rb %d, first_rb %d (RIV %d)\n",ulsch->harq_processes[harq_pid]->nb_rb,ulsch->harq_processes[harq_pid]->first_rb,rballoc); if ((rnti >= cba_rnti) && (rnti < p_rnti)) { @@ -7423,34 +6972,34 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, // printf("[PHY][UE] DCI format 0: harq_pid %d nb_rb %d, rballoc %d\n",harq_pid,ulsch->harq_processes[harq_pid]->nb_rb, // ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->rballoc); //Mapping of cyclic shift field in DCI format0 to n_DMRS2 (3GPP 36.211, Table 5.5.2.1.1-1) - if(cshift == 0) + if (cshift == 0) ulsch->harq_processes[harq_pid]->n_DMRS2 = 0; - else if(cshift == 1) + else if (cshift == 1) ulsch->harq_processes[harq_pid]->n_DMRS2 = 6; - else if(cshift == 2) + else if (cshift == 2) ulsch->harq_processes[harq_pid]->n_DMRS2 = 3; - else if(cshift == 3) + else if (cshift == 3) ulsch->harq_processes[harq_pid]->n_DMRS2 = 4; - else if(cshift == 4) + else if (cshift == 4) ulsch->harq_processes[harq_pid]->n_DMRS2 = 2; - else if(cshift == 5) + else if (cshift == 5) ulsch->harq_processes[harq_pid]->n_DMRS2 = 8; - else if(cshift == 6) + else if (cshift == 6) ulsch->harq_processes[harq_pid]->n_DMRS2 = 10; - else if(cshift == 7) + else if (cshift == 7) ulsch->harq_processes[harq_pid]->n_DMRS2 = 9; //reserved for cooperative communication /* - if(ulsch->n_DMRS2 == 6) - ulsch->cooperation_flag = 2; - else - ulsch->cooperation_flag = 0; - */ + if(ulsch->n_DMRS2 == 6) + ulsch->cooperation_flag = 2; + else + ulsch->cooperation_flag = 0; + */ - if ((ulsch->harq_processes[harq_pid]->nb_rb>0) && (ulsch->harq_processes[harq_pid]->nb_rb < 25)) - ulsch->power_offset = ue_power_offsets[ulsch->harq_processes[harq_pid]->nb_rb-1]; + if ((ulsch->harq_processes[harq_pid]->nb_rb > 0) && (ulsch->harq_processes[harq_pid]->nb_rb < 25)) + ulsch->power_offset = ue_power_offsets[ulsch->harq_processes[harq_pid]->nb_rb - 1]; // if (ulsch->harq_processes[harq_pid]->Ndi == 1) // ulsch->harq_processes[harq_pid]->status = ACTIVE; @@ -7458,82 +7007,79 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if (cqi_req == 1) { - if( (AntennaInfoDedicated__transmissionMode_tm3 == transmission_mode) || (AntennaInfoDedicated__transmissionMode_tm4 == transmission_mode) ) - { - ulsch->O_RI = 1; - } - else - { - ulsch->O_RI = 0; + if ((AntennaInfoDedicated__transmissionMode_tm3 == transmission_mode) || (AntennaInfoDedicated__transmissionMode_tm4 == transmission_mode)) { + ulsch->O_RI = 1; + } else { + ulsch->O_RI = 0; } //ulsch->O_RI = 0; //we only support 2 antenna ports, so this is always 1 according to 3GPP 36.213 Table - switch(transmission_mode) { + switch (transmission_mode) { // The aperiodic CQI reporting mode is fixed for every transmission mode instead of being configured by higher layer signaling case 1: if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 0; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 1; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 1; } break; @@ -7542,66 +7088,66 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 0; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 1; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 1; } break; @@ -7610,66 +7156,66 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 0; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 1; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 1; } break; @@ -7678,66 +7224,66 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_wideband_cqi_rank1_2A_1_5MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_1_5MHz; break; case 25: - ulsch->O = sizeof_wideband_cqi_rank1_2A_5MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_5MHz; break; case 50: - ulsch->O = sizeof_wideband_cqi_rank1_2A_10MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_10MHz; break; case 100: - ulsch->O = sizeof_wideband_cqi_rank1_2A_20MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_20MHz; break; } - ulsch->uci_format = wideband_cqi_rank1_2A; - ulsch->o_RI[0] = 0; + ulsch->uci_format = wideband_cqi_rank1_2A; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_wideband_cqi_rank2_2A_1_5MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_1_5MHz; break; case 25: - ulsch->O = sizeof_wideband_cqi_rank2_2A_5MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_5MHz; break; case 50: - ulsch->O = sizeof_wideband_cqi_rank2_2A_10MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_10MHz; break; case 100: - ulsch->O = sizeof_wideband_cqi_rank2_2A_20MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_20MHz; break; } - ulsch->uci_format = wideband_cqi_rank2_2A; - ulsch->o_RI[0] = 1; + ulsch->uci_format = wideband_cqi_rank2_2A; + ulsch->o_RI[0] = 1; } break; @@ -7746,66 +7292,66 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_wideband_cqi_rank1_2A_1_5MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_1_5MHz; break; case 25: - ulsch->O = sizeof_wideband_cqi_rank1_2A_5MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_5MHz; break; case 50: - ulsch->O = sizeof_wideband_cqi_rank1_2A_10MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_10MHz; break; case 100: - ulsch->O = sizeof_wideband_cqi_rank1_2A_20MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_20MHz; break; } - ulsch->uci_format = wideband_cqi_rank1_2A; - ulsch->o_RI[0] = 0; + ulsch->uci_format = wideband_cqi_rank1_2A; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_wideband_cqi_rank2_2A_1_5MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_1_5MHz; break; case 25: - ulsch->O = sizeof_wideband_cqi_rank2_2A_5MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_5MHz; break; case 50: - ulsch->O = sizeof_wideband_cqi_rank2_2A_10MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_10MHz; break; case 100: - ulsch->O = sizeof_wideband_cqi_rank2_2A_20MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_20MHz; break; } - ulsch->uci_format = wideband_cqi_rank2_2A; - ulsch->o_RI[0] = 1; + ulsch->uci_format = wideband_cqi_rank2_2A; + ulsch->o_RI[0] = 1; } break; @@ -7814,66 +7360,66 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_wideband_cqi_rank1_2A_1_5MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_1_5MHz; break; case 25: - ulsch->O = sizeof_wideband_cqi_rank1_2A_5MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_5MHz; break; case 50: - ulsch->O = sizeof_wideband_cqi_rank1_2A_10MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_10MHz; break; case 100: - ulsch->O = sizeof_wideband_cqi_rank1_2A_20MHz; + ulsch->O = sizeof_wideband_cqi_rank1_2A_20MHz; break; } - ulsch->uci_format = wideband_cqi_rank1_2A; - ulsch->o_RI[0] = 0; + ulsch->uci_format = wideband_cqi_rank1_2A; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_wideband_cqi_rank2_2A_1_5MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_1_5MHz; break; case 25: - ulsch->O = sizeof_wideband_cqi_rank2_2A_5MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_5MHz; break; case 50: - ulsch->O = sizeof_wideband_cqi_rank2_2A_10MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_10MHz; break; case 100: - ulsch->O = sizeof_wideband_cqi_rank2_2A_20MHz; + ulsch->O = sizeof_wideband_cqi_rank2_2A_20MHz; break; } - ulsch->uci_format = wideband_cqi_rank2_2A; - ulsch->o_RI[0] = 1; + ulsch->uci_format = wideband_cqi_rank2_2A; + ulsch->o_RI[0] = 1; } break; @@ -7882,130 +7428,128 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, if ((rnti >= cba_rnti) && (rnti < p_rnti)) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_mcs_CBA_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_mcs_CBA; - ulsch->o_RI[0] = 0; - } else if(meas->rank[eNB_id] == 0) { + ulsch->uci_format = HLC_subband_cqi_mcs_CBA; + ulsch->o_RI[0] = 0; + } else if (meas->rank[eNB_id] == 0) { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 0; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 0; } else { switch (ue->frame_parms.N_RB_DL) { case 6: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_1_5MHz; break; case 25: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_5MHz; break; case 50: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_10MHz; break; case 100: - ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; + ulsch->O = sizeof_HLC_subband_cqi_nopmi_20MHz; break; } - ulsch->uci_format = HLC_subband_cqi_nopmi; - ulsch->o_RI[0] = 1; + ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->o_RI[0] = 1; } break; default: - LOG_E(PHY,"Incorrect Transmission Mode \n"); + LOG_E (PHY, "Incorrect Transmission Mode \n"); break; } } else { ulsch->O_RI = 0; - ulsch->O = 0; - ulsch->uci_format = HLC_subband_cqi_nopmi; + ulsch->O = 0; + ulsch->uci_format = HLC_subband_cqi_nopmi; } - print_CQI(ulsch->o,ulsch->uci_format,eNB_id,ue->frame_parms.N_RB_DL); + print_CQI (ulsch->o, ulsch->uci_format, eNB_id, ue->frame_parms.N_RB_DL); - ulsch->bundling = 1-AckNackFBMode; + ulsch->bundling = 1 - AckNackFBMode; if (frame_parms->frame_type == FDD) { //int dl_subframe = (subframe<4) ? (subframe+6) : (subframe-4); - int dl_subframe = subframe; + int dl_subframe = subframe; - if (ue->dlsch[ue->current_thread_id[subframe]][eNB_id][0]->harq_ack[dl_subframe].send_harq_status>0) { // we have downlink transmission + if (ue->dlsch[ue->current_thread_id[subframe]][eNB_id][0]->harq_ack[dl_subframe].send_harq_status > 0) { // we have downlink transmission ulsch->harq_processes[harq_pid]->O_ACK = 1; } else { ulsch->harq_processes[harq_pid]->O_ACK = 0; } /*LOG_I(PHY,"DCI 0 Processing: dl_subframe %d send_harq_status Odd %d send_harq_status Even %d harq_pid %d O_ACK %d\n", dl_subframe, - ue->dlsch[0][eNB_id][0]->harq_ack[dl_subframe].send_harq_status, - ue->dlsch[1][eNB_id][0]->harq_ack[dl_subframe].send_harq_status, - harq_pid, - ulsch->harq_processes[harq_pid]->O_ACK);*/ + ue->dlsch[0][eNB_id][0]->harq_ack[dl_subframe].send_harq_status, + ue->dlsch[1][eNB_id][0]->harq_ack[dl_subframe].send_harq_status, + harq_pid, + ulsch->harq_processes[harq_pid]->O_ACK); */ } else { if (ulsch->bundling) - ulsch->harq_processes[harq_pid]->O_ACK = (dai == 3)? 0 : 1; + ulsch->harq_processes[harq_pid]->O_ACK = (dai == 3) ? 0 : 1; else - ulsch->harq_processes[harq_pid]->O_ACK = (dai >= 2)? 2 : (dai+1)&3; //(dai+1)&3; + ulsch->harq_processes[harq_pid]->O_ACK = (dai >= 2) ? 2 : (dai + 1) & 3; //(dai+1)&3; // ulsch->harq_processes[harq_pid]->V_UL_DAI = dai+1; } - dlsch[0]->harq_ack[subframe].vDAI_UL = dai+1; + dlsch[0]->harq_ack[subframe].vDAI_UL = dai + 1; /*LOG_I(PHY, "[PUSCH %d] Format0 DCI %s, CQI_req=%d, cshift=%d, TPC=%d, DAI=%d, vDAI_UL[sf#%d]=%d, NDI=%d, MCS=%d, RBalloc=%d, first_rb=%d, harq_pid=%d, nb_rb=%d, subframe_scheduling_flag=%d" - " ulsch->bundling %d, O_ACK %d \n", - harq_pid, - (frame_parms->frame_type == TDD? "TDD" : "FDD"), - cqi_req, cshift, TPC, dai, subframe, dlsch[0]->harq_ack[subframe].vDAI_UL, ndi, mcs, rballoc, - ulsch->harq_processes[harq_pid]->first_rb, harq_pid, ulsch->harq_processes[harq_pid]->nb_rb, - ulsch->harq_processes[harq_pid]->subframe_scheduling_flag, - ulsch->bundling, - ulsch->harq_processes[harq_pid]->O_ACK);*/ - LOG_D(PHY,"Setting beta_offset_cqi_times8 to %d, index %d\n", - beta_cqi[ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index], - ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index); + " ulsch->bundling %d, O_ACK %d \n", + harq_pid, + (frame_parms->frame_type == TDD? "TDD" : "FDD"), + cqi_req, cshift, TPC, dai, subframe, dlsch[0]->harq_ack[subframe].vDAI_UL, ndi, mcs, rballoc, + ulsch->harq_processes[harq_pid]->first_rb, harq_pid, ulsch->harq_processes[harq_pid]->nb_rb, + ulsch->harq_processes[harq_pid]->subframe_scheduling_flag, + ulsch->bundling, + ulsch->harq_processes[harq_pid]->O_ACK); */ + LOG_D (PHY, "Setting beta_offset_cqi_times8 to %d, index %d\n", beta_cqi[ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index], ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index); - ulsch->beta_offset_cqi_times8 = beta_cqi[ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index];//18; - ulsch->beta_offset_ri_times8 = beta_ri[ue->pusch_config_dedicated[eNB_id].betaOffset_RI_Index];//10; - ulsch->beta_offset_harqack_times8 = beta_ack[ue->pusch_config_dedicated[eNB_id].betaOffset_ACK_Index];//16; + ulsch->beta_offset_cqi_times8 = beta_cqi[ue->pusch_config_dedicated[eNB_id].betaOffset_CQI_Index]; //18; + ulsch->beta_offset_ri_times8 = beta_ri[ue->pusch_config_dedicated[eNB_id].betaOffset_RI_Index]; //10; + ulsch->beta_offset_harqack_times8 = beta_ack[ue->pusch_config_dedicated[eNB_id].betaOffset_ACK_Index]; //16; - ulsch->Nsymb_pusch = 12-(frame_parms->Ncp<<1)-(use_srs==0?0:1); - ulsch->srs_active = use_srs; + ulsch->Nsymb_pusch = 12 - (frame_parms->Ncp << 1) - (use_srs == 0 ? 0 : 1); + ulsch->srs_active = use_srs; if ((rnti >= cba_rnti) && (rnti < p_rnti)) ulsch->harq_processes[harq_pid]->status = CBA_ACTIVE; @@ -8021,47 +7565,47 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, } else { ulsch->harq_processes[harq_pid]->rvidx = mcs - 28; if (ulsch->harq_processes[harq_pid]->round == 0) { - LOG_W(PHY,"PUSCH::mcs = %d and DCI0::mcs(%d) > 28 and round == %d\n", ulsch->harq_processes[harq_pid]->mcs, mcs, ulsch->harq_processes[harq_pid]->round); + LOG_W (PHY, "PUSCH::mcs = %d and DCI0::mcs(%d) > 28 and round == %d\n", ulsch->harq_processes[harq_pid]->mcs, mcs, ulsch->harq_processes[harq_pid]->round); } else { - LOG_D(PHY,"PUSCH::mcs = %d and DCI0::mcs(%d) > 28 and round == %d\n", ulsch->harq_processes[harq_pid]->mcs, mcs, ulsch->harq_processes[harq_pid]->round); + LOG_D (PHY, "PUSCH::mcs = %d and DCI0::mcs(%d) > 28 and round == %d\n", ulsch->harq_processes[harq_pid]->mcs, mcs, ulsch->harq_processes[harq_pid]->round); } //LOG_E(PHY,"Fatal: mcs(%d) > 28!!! and round == 0\n", mcs); } - ulsch->harq_processes[harq_pid]->TBS = TBStable[get_I_TBS_UL(ulsch->harq_processes[harq_pid]->mcs)][ulsch->harq_processes[harq_pid]->nb_rb-1]; + ulsch->harq_processes[harq_pid]->TBS = TBStable[get_I_TBS_UL (ulsch->harq_processes[harq_pid]->mcs)][ulsch->harq_processes[harq_pid]->nb_rb - 1]; /* else if (ulsch->harq_processes[harq_pid]->mcs == 29) { ulsch->harq_processes[harq_pid]->mcs = 4; ulsch->harq_processes[harq_pid]->TBS = TBStable[get_I_TBS_UL(ulsch->harq_processes[harq_pid]->mcs)][ulsch->harq_processes[harq_pid]->nb_rb-1]; - // ulsch->harq_processes[harq_pid]->calibration_flag =1; - // printf("Auto-Calibration (UE): mcs %d, TBS %d, nb_rb %d\n",ulsch->harq_processes[harq_pid]->mcs,ulsch->harq_processes[harq_pid]->TBS,ulsch->harq_processes[harq_pid]->nb_rb); - }*/ - ulsch->harq_processes[harq_pid]->Msc_initial = 12*ulsch->harq_processes[harq_pid]->nb_rb; + // ulsch->harq_processes[harq_pid]->calibration_flag =1; + // printf("Auto-Calibration (UE): mcs %d, TBS %d, nb_rb %d\n",ulsch->harq_processes[harq_pid]->mcs,ulsch->harq_processes[harq_pid]->TBS,ulsch->harq_processes[harq_pid]->nb_rb); + } */ + ulsch->harq_processes[harq_pid]->Msc_initial = 12 * ulsch->harq_processes[harq_pid]->nb_rb; ulsch->harq_processes[harq_pid]->Nsymb_initial = ulsch->Nsymb_pusch; // a Ndi=1 automatically acknowledges previous PUSCH transmission if (ue->ulsch_Msg3_active[eNB_id] == 1) ue->ulsch_Msg3_active[eNB_id] = 0; - LOG_D(PHY,"[UE %d][PUSCH %d] Frame %d, subframe %d : Programming PUSCH with n_DMRS2 %d (cshift %d), nb_rb %d, first_rb %d, mcs %d, round %d, rv %d, ulsch_ue_Msg3_active %d, cqi_req %d => O %d\n", - ue->Mod_id,harq_pid, - proc->frame_rx,subframe,ulsch->harq_processes[harq_pid]->n_DMRS2,cshift,ulsch->harq_processes[harq_pid]->nb_rb,ulsch->harq_processes[harq_pid]->first_rb, - ulsch->harq_processes[harq_pid]->mcs,ulsch->harq_processes[harq_pid]->round,ulsch->harq_processes[harq_pid]->rvidx, ue->ulsch_Msg3_active[eNB_id],cqi_req,ulsch->O); + LOG_D (PHY, + "[UE %d][PUSCH %d] Frame %d, subframe %d : Programming PUSCH with n_DMRS2 %d (cshift %d), nb_rb %d, first_rb %d, mcs %d, round %d, rv %d, ulsch_ue_Msg3_active %d, cqi_req %d => O %d\n", + ue->Mod_id, harq_pid, proc->frame_rx, subframe, ulsch->harq_processes[harq_pid]->n_DMRS2, cshift, ulsch->harq_processes[harq_pid]->nb_rb, ulsch->harq_processes[harq_pid]->first_rb, + ulsch->harq_processes[harq_pid]->mcs, ulsch->harq_processes[harq_pid]->round, ulsch->harq_processes[harq_pid]->rvidx, ue->ulsch_Msg3_active[eNB_id], cqi_req, ulsch->O); - // ulsch->n_DMRS2 = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cshift; + // ulsch->n_DMRS2 = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cshift; #ifdef UE_DEBUG_TRACE - LOG_I(PHY,"Format 0 DCI : ulsch (ue): AbsSubframe %d.%d\n",proc->frame_rx%1024,subframe); - LOG_D(PHY,"Format 0 DCI : ulsch (ue): NBRB %d\n",ulsch->harq_processes[harq_pid]->nb_rb); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): first_rb %d\n",ulsch->harq_processes[harq_pid]->first_rb); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): rballoc %d\n",rballoc); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): harq_pid %d\n",harq_pid); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): first_tx %d\n",ulsch->harq_processes[harq_pid]->first_tx); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): DCINdi %d\n",ulsch->harq_processes[harq_pid]->DCINdi); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): round %d\n",ulsch->harq_processes[harq_pid]->round); + LOG_I (PHY, "Format 0 DCI : ulsch (ue): AbsSubframe %d.%d\n", proc->frame_rx % 1024, subframe); + LOG_D (PHY, "Format 0 DCI : ulsch (ue): NBRB %d\n", ulsch->harq_processes[harq_pid]->nb_rb); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): first_rb %d\n", ulsch->harq_processes[harq_pid]->first_rb); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): rballoc %d\n", rballoc); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): harq_pid %d\n", harq_pid); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): first_tx %d\n", ulsch->harq_processes[harq_pid]->first_tx); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): DCINdi %d\n", ulsch->harq_processes[harq_pid]->DCINdi); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): round %d\n", ulsch->harq_processes[harq_pid]->round); //LOG_I(PHY,"Format 0 DCI :ulsch (ue): TBS %d\n",ulsch->harq_processes[harq_pid]->TBS); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): mcs %d\n",ulsch->harq_processes[harq_pid]->mcs); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): mcs %d\n", ulsch->harq_processes[harq_pid]->mcs); //LOG_I(PHY,"Format 0 DCI :ulsch (ue): O %d\n",ulsch->O); //LOG_I(PHY,"Format 0 DCI :ulsch (ue): cqiReq %d\n",cqi_req); //if (frame_parms->frame_type == TDD) @@ -8069,17 +7613,16 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu, //else // LOG_I(PHY,"Format 0 DCI :ulsch (ue): O_ACK %d\n",ulsch->harq_processes[harq_pid]->O_ACK); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): Nsymb_pusch %d\n",ulsch->Nsymb_pusch); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): cshift %d\n",ulsch->harq_processes[harq_pid]->n_DMRS2); - LOG_D(PHY,"Format 0 DCI :ulsch (ue): phich status %d\n",ulsch->harq_processes[harq_pid]->status); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): Nsymb_pusch %d\n", ulsch->Nsymb_pusch); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): cshift %d\n", ulsch->harq_processes[harq_pid]->n_DMRS2); + LOG_D (PHY, "Format 0 DCI :ulsch (ue): phich status %d\n", ulsch->harq_processes[harq_pid]->status); #else - UNUSED_VARIABLE(dai); + UNUSED_VARIABLE (dai); #endif - return(0); + return (0); } else { - LOG_E(PHY,"frame %d, subframe %d: FATAL ERROR, generate_ue_ulsch_params_from_dci, Illegal dci_format %d\n", - proc->frame_rx, subframe,dci_format); - return(-1); + LOG_E (PHY, "frame %d, subframe %d: FATAL ERROR, generate_ue_ulsch_params_from_dci, Illegal dci_format %d\n", proc->frame_rx, subframe, dci_format); + return (-1); } } @@ -8718,32 +8261,34 @@ int generate_eNB_ulsch_params_from_dci(PHY_VARS_eNB *eNB, } */ -double sinr_eff_cqi_calc(PHY_VARS_UE *ue, uint8_t eNB_id, uint8_t subframe) +double +sinr_eff_cqi_calc (PHY_VARS_UE * ue, uint8_t eNB_id, uint8_t subframe) { - uint8_t transmission_mode = ue->transmission_mode[eNB_id]; + uint8_t transmission_mode = ue->transmission_mode[eNB_id]; PHY_MEASUREMENTS *meas = &ue->measurements; - LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms; - int32_t **dl_channel_est = ue->common_vars.common_vars_rx_data_per_thread[ue->current_thread_id[subframe]].dl_ch_estimates[eNB_id]; - double *s_dB; + LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms; + int32_t **dl_channel_est = ue->common_vars.common_vars_rx_data_per_thread[ue->current_thread_id[subframe]].dl_ch_estimates[eNB_id]; + double *s_dB; s_dB = ue->sinr_CQI_dB; // LTE_UE_ULSCH_t *ulsch = ue->ulsch[eNB_id]; //for the calculation of SINR_eff for CQI calculation - int count,a_rx,a_tx; - double abs_channel=0; - double channelx=0; - double channely=0; - double channelx_i=0; - double channely_i=0; - uint16_t q = quantize_subband_pmi(meas,eNB_id,7); - uint8_t qq; + int count, a_rx, a_tx; + double abs_channel = 0; + double channelx = 0; + double channely = 0; + double channelx_i = 0; + double channely_i = 0; + uint16_t q = quantize_subband_pmi (meas, eNB_id, 7); + uint8_t qq; - switch(transmission_mode) { + switch (transmission_mode) { case 1: - for (count=0; countN_RB_DL*12; count++) { - for(a_tx=0; a_txnb_antenna_ports_eNB; a_tx++) { - for (a_rx=0; a_rxnb_antennas_rx; a_rx++) { - s_dB[count] = 10*log10(pow(((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2],2) + pow(((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2], - 2)) - meas->n0_power_avg_dB; + for (count = 0; count < frame_parms->N_RB_DL * 12; count++) { + for (a_tx = 0; a_tx < frame_parms->nb_antenna_ports_eNB; a_tx++) { + for (a_rx = 0; a_rx < frame_parms->nb_antennas_rx; a_rx++) { + s_dB[count] = + 10 * log10 (pow (((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2], 2) + + pow (((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2], 2)) - meas->n0_power_avg_dB; } } } @@ -8751,275 +8296,282 @@ double sinr_eff_cqi_calc(PHY_VARS_UE *ue, uint8_t eNB_id, uint8_t subframe) break; case 2: - for (count=0; countN_RB_DL*12; count++) { - abs_channel=0; + for (count = 0; count < frame_parms->N_RB_DL * 12; count++) { + abs_channel = 0; - for(a_tx=0; a_txnb_antenna_ports_eNB; a_tx++) { - for (a_rx=0; a_rxnb_antennas_rx; a_rx++) { - abs_channel += (pow(((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2],2) + pow(((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2],2)); + for (a_tx = 0; a_tx < frame_parms->nb_antenna_ports_eNB; a_tx++) { + for (a_rx = 0; a_rx < frame_parms->nb_antennas_rx; a_rx++) { + abs_channel += + (pow (((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2], 2) + + pow (((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2], 2)); } } - s_dB[count] = 10*log10(abs_channel/2) - meas->n0_power_avg_dB; + s_dB[count] = 10 * log10 (abs_channel / 2) - meas->n0_power_avg_dB; } break; case 5: - for (count=0; countN_RB_DL*12; count++) { - channelx=0; - channely=0; - channelx_i=0; - channely_i=0; - qq = (q>>(((count/12)>>2)<<1))&3; + for (count = 0; count < frame_parms->N_RB_DL * 12; count++) { + channelx = 0; + channely = 0; + channelx_i = 0; + channely_i = 0; + qq = (q >> (((count / 12) >> 2) << 1)) & 3; //printf("pmi_alloc %d: rb %d, pmi %d\n",q,count/12,qq); - for(a_tx=0; a_txnb_antenna_ports_eNB; a_tx++) { - for (a_rx=0; a_rxnb_antennas_rx; a_rx++) { - switch(qq) { + for (a_tx = 0; a_tx < frame_parms->nb_antenna_ports_eNB; a_tx++) { + for (a_rx = 0; a_rx < frame_parms->nb_antennas_rx; a_rx++) { + switch (qq) { case 0: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely_i -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + channelx += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } break; case 1: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely_i += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + channelx -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } break; case 2: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channely += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channely_i -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; + channelx -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channely += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; } break; case 3: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely_i = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channely -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channelx_i -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channely_i += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; + channelx += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channely -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channelx_i -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channely_i += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; } break; default: - printf("Problem in SINR Calculation for TM5 \n"); + printf ("Problem in SINR Calculation for TM5 \n"); break; - }//switch(qq) - }//a_rx - }//a_tx + } //switch(qq) + } //a_rx + } //a_tx - s_dB[count] = 10 * log10 ((pow(channelx,2) + pow(channely,2))/2) - 10 * log10 ((pow(channelx_i,2) + pow(channely_i,2))/2) - meas->n0_power_avg_dB; - }//count + s_dB[count] = 10 * log10 ((pow (channelx, 2) + pow (channely, 2)) / 2) - 10 * log10 ((pow (channelx_i, 2) + pow (channely_i, 2)) / 2) - meas->n0_power_avg_dB; + } //count break; case 6: - for (count=0; countN_RB_DL*12; count++) { - channelx=0; - channely=0; - qq = (q>>(((count/12)>>2)<<1))&3; + for (count = 0; count < frame_parms->N_RB_DL * 12; count++) { + channelx = 0; + channely = 0; + qq = (q >> (((count / 12) >> 2) << 1)) & 3; //printf("pmi_alloc %d: rb %d, pmi %d\n",q,count/12,qq); - for(a_tx=0; a_txnb_antenna_ports_eNB; a_tx++) { - for (a_rx=0; a_rxnb_antennas_rx; a_rx++) { - switch(qq) { + for (a_tx = 0; a_tx < frame_parms->nb_antenna_ports_eNB; a_tx++) { + for (a_rx = 0; a_rx < frame_parms->nb_antennas_rx; a_rx++) { + switch (qq) { case 0: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + channelx += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } break; case 1: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + channelx -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } break; case 2: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channely += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; + channelx -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channely += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; } break; case 3: - if (channelx==0 || channely==0) { - channelx = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; - channely = ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; + if (channelx == 0 || channely == 0) { + channelx = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; + channely = ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; } else { - channelx += ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+1+(LTE_CE_FILTER_LENGTH)*2]; - channely -= ((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count+(LTE_CE_FILTER_LENGTH)*2]; + channelx += ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + 1 + (LTE_CE_FILTER_LENGTH) * 2]; + channely -= ((int16_t *) dl_channel_est[(a_tx << 1) + a_rx])[2 * count + (LTE_CE_FILTER_LENGTH) * 2]; } break; default: - printf("Problem in SINR Calculation for TM6 \n"); + printf ("Problem in SINR Calculation for TM6 \n"); break; - }//switch(qq) - }//a_rx - }//a_tx + } //switch(qq) + } //a_rx + } //a_tx - s_dB[count] = 10 * log10 ((pow(channelx,2) + pow(channely,2))/2) - meas->n0_power_avg_dB; - }//count + s_dB[count] = 10 * log10 ((pow (channelx, 2) + pow (channely, 2)) / 2) - meas->n0_power_avg_dB; + } //count break; default: - printf("Problem in SINR Calculation for CQI \n"); + printf ("Problem in SINR Calculation for CQI \n"); break; } - int ii; - double sinr_eff = 0; - double sinr_eff_qpsk=0; - double sinr_eff_qam16=0; - double sinr_eff_qam64=0; - double x = 0; - double I_qpsk=0; - double I_qam16=0; - double I_qam64=0; - double I_qpsk_avg=0; - double I_qam16_avg=0; - double I_qam64_avg=0; - double qpsk_max=12.2; - double qam16_max=19.2; - double qam64_max=25.2; - double sinr_min = -20; - int offset=0; + int ii; + double sinr_eff = 0; + double sinr_eff_qpsk = 0; + double sinr_eff_qam16 = 0; + double sinr_eff_qam64 = 0; + double x = 0; + double I_qpsk = 0; + double I_qam16 = 0; + double I_qam64 = 0; + double I_qpsk_avg = 0; + double I_qam16_avg = 0; + double I_qam64_avg = 0; + double qpsk_max = 12.2; + double qam16_max = 19.2; + double qam64_max = 25.2; + double sinr_min = -20; + int offset = 0; for (offset = 0; offset <= 24; offset++) { - for(ii=0; ii<12; ii++) { + for (ii = 0; ii < 12; ii++) { //x is the sinr_dB in dB - x = s_dB[(offset*12)+ii]; + x = s_dB[(offset * 12) + ii]; - if(xqpsk_max) + if (x > qpsk_max) I_qpsk += 1; else - I_qpsk += (q_qpsk[0]*pow(x,7) + q_qpsk[1]*pow(x,6) + q_qpsk[2]*pow(x,5) + q_qpsk[3]*pow(x,4) + q_qpsk[4]*pow(x,3) + q_qpsk[5]*pow(x,2) + q_qpsk[6]*x + q_qpsk[7]); + I_qpsk += (q_qpsk[0] * pow (x, 7) + q_qpsk[1] * pow (x, 6) + q_qpsk[2] * pow (x, 5) + q_qpsk[3] * pow (x, 4) + q_qpsk[4] * pow (x, 3) + q_qpsk[5] * pow (x, 2) + q_qpsk[6] * x + q_qpsk[7]); - if(x>qam16_max) + if (x > qam16_max) I_qam16 += 1; else - I_qam16 += (q_qam16[0]*pow(x,7) + q_qam16[1]*pow(x,6) + q_qam16[2]*pow(x,5) + q_qam16[3]*pow(x,4) + q_qam16[4]*pow(x,3) + q_qam16[5]*pow(x,2) + q_qam16[6]*x + q_qam16[7]); + I_qam16 += + (q_qam16[0] * pow (x, 7) + q_qam16[1] * pow (x, 6) + q_qam16[2] * pow (x, 5) + q_qam16[3] * pow (x, 4) + q_qam16[4] * pow (x, 3) + q_qam16[5] * pow (x, 2) + q_qam16[6] * x + q_qam16[7]); - if(x>qam64_max) + if (x > qam64_max) I_qam64 += 1; else - I_qam64 += (q_qam64[0]*pow(x,7) + q_qam64[1]*pow(x,6) + q_qam64[2]*pow(x,5) + q_qam64[3]*pow(x,4) + q_qam64[4]*pow(x,3) + q_qam64[5]*pow(x,2) + q_qam64[6]*x + q_qam64[7]); + I_qam64 += + (q_qam64[0] * pow (x, 7) + q_qam64[1] * pow (x, 6) + q_qam64[2] * pow (x, 5) + q_qam64[3] * pow (x, 4) + q_qam64[4] * pow (x, 3) + q_qam64[5] * pow (x, 2) + q_qam64[6] * x + q_qam64[7]); } } } // averaging of accumulated MI - I_qpsk_avg = I_qpsk/(12*frame_parms->N_RB_DL); - I_qam16_avg = I_qam16/(12*frame_parms->N_RB_DL); - I_qam64_avg = I_qam64/(12*frame_parms->N_RB_DL); + I_qpsk_avg = I_qpsk / (12 * frame_parms->N_RB_DL); + I_qam16_avg = I_qam16 / (12 * frame_parms->N_RB_DL); + I_qam64_avg = I_qam64 / (12 * frame_parms->N_RB_DL); // I->SINR_effective Mapping - sinr_eff_qpsk = (p_qpsk[0]*pow(I_qpsk_avg,7) + p_qpsk[1]*pow(I_qpsk_avg,6) + p_qpsk[2]*pow(I_qpsk_avg,5) + p_qpsk[3]*pow(I_qpsk_avg,4) + p_qpsk[4]*pow(I_qpsk_avg,3) + p_qpsk[5]*pow(I_qpsk_avg, - 2) + p_qpsk[6]*I_qpsk_avg + p_qpsk[7]); + sinr_eff_qpsk = + (p_qpsk[0] * pow (I_qpsk_avg, 7) + p_qpsk[1] * pow (I_qpsk_avg, 6) + p_qpsk[2] * pow (I_qpsk_avg, 5) + p_qpsk[3] * pow (I_qpsk_avg, 4) + p_qpsk[4] * pow (I_qpsk_avg, 3) + + p_qpsk[5] * pow (I_qpsk_avg, 2) + p_qpsk[6] * I_qpsk_avg + p_qpsk[7]); - sinr_eff_qam16 = (p_qam16[0]*pow(I_qam16_avg,7) + p_qam16[1]*pow(I_qam16_avg,6) + p_qam16[2]*pow(I_qam16_avg,5) + p_qam16[3]*pow(I_qam16_avg,4) + p_qam16[4]*pow(I_qam16_avg, - 3) + p_qam16[5]*pow(I_qam16_avg,2) + p_qam16[6]*I_qam16_avg + p_qam16[7]); + sinr_eff_qam16 = (p_qam16[0] * pow (I_qam16_avg, 7) + p_qam16[1] * pow (I_qam16_avg, 6) + p_qam16[2] * pow (I_qam16_avg, 5) + p_qam16[3] * pow (I_qam16_avg, 4) + p_qam16[4] * pow (I_qam16_avg, + 3) + + p_qam16[5] * pow (I_qam16_avg, 2) + p_qam16[6] * I_qam16_avg + p_qam16[7]); - sinr_eff_qam64 = (p_qam64[0]*pow(I_qam64_avg,7) + p_qam64[1]*pow(I_qam64_avg,6) + p_qam64[2]*pow(I_qam64_avg,5) + p_qam64[3]*pow(I_qam64_avg,4) + p_qam64[4]*pow(I_qam64_avg, - 3) + p_qam64[5]*pow(I_qam64_avg,2) + p_qam64[6]*I_qam64_avg + p_qam64[7]); - sinr_eff = cmax3(sinr_eff_qpsk,sinr_eff_qam16,sinr_eff_qam64); + sinr_eff_qam64 = (p_qam64[0] * pow (I_qam64_avg, 7) + p_qam64[1] * pow (I_qam64_avg, 6) + p_qam64[2] * pow (I_qam64_avg, 5) + p_qam64[3] * pow (I_qam64_avg, 4) + p_qam64[4] * pow (I_qam64_avg, + 3) + + p_qam64[5] * pow (I_qam64_avg, 2) + p_qam64[6] * I_qam64_avg + p_qam64[7]); + sinr_eff = cmax3 (sinr_eff_qpsk, sinr_eff_qam16, sinr_eff_qam64); //printf("SINR_Eff = %e\n",sinr_eff); - return(sinr_eff); + return (sinr_eff); } + // #ifdef DEBUG_DLSCH_TOOLS -main() +main () { - int i; - uint8_t rah; - uint32_t rballoc; + int i; + uint8_t rah; + uint32_t rballoc; - generate_RIV_tables(); + generate_RIV_tables (); rah = 0; rballoc = 0x1fff; - printf("rballoc 0 %x => %x\n",rballoc,conv_rballoc(rah,rballoc)); + printf ("rballoc 0 %x => %x\n", rballoc, conv_rballoc (rah, rballoc)); rah = 1; rballoc = 0x1678; - printf("rballoc 1 %x => %x\n",rballoc,conv_rballoc(rah,rballoc)); + printf ("rballoc 1 %x => %x\n", rballoc, conv_rballoc (rah, rballoc)); rballoc = 0xfffc; - printf("rballoc 1 %x => %x\n",rballoc,conv_rballoc(rah,rballoc)); + printf ("rballoc 1 %x => %x\n", rballoc, conv_rballoc (rah, rballoc)); rballoc = 0xfffd; - printf("rballoc 1 %x => %x\n",rballoc,conv_rballoc(rah,rballoc)); + printf ("rballoc 1 %x => %x\n", rballoc, conv_rballoc (rah, rballoc)); rballoc = 0xffff; - printf("rballoc 1 %x => %x\n",rballoc,conv_rballoc(rah,rballoc)); + printf ("rballoc 1 %x => %x\n", rballoc, conv_rballoc (rah, rballoc)); rballoc = 0xfffe; - printf("rballoc 1 %x => %x\n",rballoc,conv_rballoc(rah,rballoc)); + printf ("rballoc 1 %x => %x\n", rballoc, conv_rballoc (rah, rballoc)); } #endif - diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 49a60ae9e8..2bacdb1a33 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -37,10 +37,10 @@ #include "PHY/defs.h" #include "PHY/extern.h" #include "SCHED/defs.h" -#include "SIMULATION/TOOLS/defs.h" // for taus +#include "SIMULATION/TOOLS/defs.h" // for taus #include "PHY/sse_intrin.h" -#include "assertions.h" +#include "assertions.h" #include "T.h" #include "UTIL/LOG/log.h" @@ -49,50 +49,51 @@ //#define DEBUG_PHY #ifdef Rel14 -void generate_edci_top(PHY_VARS_eNB *eNB, int frame, int subframe) { +void +generate_edci_top (PHY_VARS_eNB * eNB, int frame, int subframe) +{ } -void mpdcch_scrambling(LTE_DL_FRAME_PARMS *frame_parms, - mDCI_ALLOC_t *mdci, - uint16_t i, - uint8_t *e, - uint32_t length) +void +mpdcch_scrambling (LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, uint16_t i, uint8_t * e, uint32_t length) { - int n; - uint8_t reset; - uint32_t x1, x2, s=0; - uint8_t Nacc=4; - uint16_t j0,j,idelta; - uint16_t i0 = mdci->i0; + int n; + uint8_t reset; + uint32_t x1, x2, s = 0; + uint8_t Nacc = 4; + uint16_t j0, j, idelta; + uint16_t i0 = mdci->i0; // Note: we could actually not do anything if i-i0 < Nacc, save it for later reset = 1; // x1 is set in lte_gold_generic - if ((mdci->rnti == 0xFFFE) || - (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI - Nacc=frame_parms->frame_type == FDD ? 4 : 10; - else Nacc=1; - - if (frame_parms->frame_type == FDD || Nacc == 1) idelta = 0; - else idelta = Nacc-2; - - j0 = (i0+idelta)/Nacc; - j = (i - i0)/Nacc; + if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI + Nacc = frame_parms->frame_type == FDD ? 4 : 10; + else + Nacc = 1; + + if (frame_parms->frame_type == FDD || Nacc == 1) + idelta = 0; + else + idelta = Nacc - 2; + + j0 = (i0 + idelta) / Nacc; + j = (i - i0) / Nacc; + - // rule for BL/CE UEs from Section 6.8.B2 in 36.211 - x2= ((((j0+j)*Nacc)%10)<<9) + mdci->dmrs_scrambling_init; - - for (n=0; ndmrs_scrambling_init; + + for (n = 0; n < length; n++) { + if ((i & 0x1f) == 0) { + s = lte_gold_generic (&x1, &x2, reset); //printf("lte_gold[%d]=%x\n",i,s); reset = 0; } - e[i] = (e[i]&1) ^ ((s>>(i&0x1f))&1); + e[i] = (e[i] & 1) ^ ((s >> (i & 0x1f)) & 1); } } @@ -101,81 +102,70 @@ void mpdcch_scrambling(LTE_DL_FRAME_PARMS *frame_parms, // For format 5 there are 6 PRB pairs => 864 REs for 24 total ECCE static uint16_t mpdcch5tab[864]; -void init_mpdcch5tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re; +void +init_mpdcch5tab_normal_regular_subframe_evenNRBDL (PHY_VARS_eNB * eNB,int l_MPDCCH_start) +{ + int l, k, kmod, re; - LOG_I(PHY,"Inititalizing mpdcch5tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=0,re=0;l<14;l++) { - for (k=0;k<72;k++){ - kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) - mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + LOG_I (PHY, "Inititalizing mpdcch5tab for normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = l_MPDCCH_start, re = 0; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) + mpdcch5tab[re++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; } } - AssertFatal(re==864,"RE count not equal to 864\n"); + AssertFatal (re == 720, "RE count %d not equal to 864, l_MPDCCH_start %d\n",re,l_MPDCCH_start); } -extern uint8_t *generate_dci0(uint8_t *dci, - uint8_t *e, - uint8_t DCI_LENGTH, - uint8_t aggregation_level, - uint16_t rnti); +extern uint8_t *generate_dci0 (uint8_t * dci, uint8_t * e, uint8_t DCI_LENGTH, uint8_t aggregation_level, uint16_t rnti); -void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe,int16_t amp,int32_t **txdataF) { +void +generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF) +{ - LTE_eNB_MPDCCH *mpdcch= &eNB->mpdcch_vars[subframe&2]; - mDCI_ALLOC_t *mdci; - int coded_bits; - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; - int i; - int gain_lin_QPSK; + LTE_eNB_MPDCCH *mpdcch = &eNB->mpdcch_vars[subframe & 2]; + mDCI_ALLOC_t *mdci; + int coded_bits; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + int i; + int gain_lin_QPSK; - for (i=0;inum_dci;i++) { + for (i = 0; i < mpdcch->num_dci; i++) { mdci = &mpdcch->mdci_alloc[i]; - AssertFatal(fp->frame_type==FDD,"TDD is not yet supported for MPDCCH\n"); - AssertFatal(fp->Ncp == NORMAL,"Extended Prefix not yet supported for MPDCCH\n"); - AssertFatal(mdci->L<=24,"L is %d\n",mdci->L); - AssertFatal(fp->N_RB_DL==50 || fp->N_RB_DL==100,"Only N_RB_DL=50,100 for MPDCCH\n"); + AssertFatal (fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n"); + AssertFatal (fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n"); + AssertFatal (mdci->L <= 24, "L is %d\n", mdci->L); + AssertFatal (fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "Only N_RB_DL=50,100 for MPDCCH\n"); // Force MPDDCH format 5 - AssertFatal(mdci->number_of_prb_pairs==6,"2 or 4 PRB pairs not support yet for MPDCCH\n"); - AssertFatal(mdci->reps>0,"mdci->reps==0\n"); + AssertFatal (mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); + AssertFatal (mdci->reps > 0, "mdci->reps==0\n"); // 9 REs/EREG * 4 EREG/ECCE => 36 REs/ECCE => 72 bits/ECCE, so same as regular PDCCH channel encoding // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing - generate_dci0(mdci->dci_pdu, - mpdcch->e+(72*mdci->firstCCE), - mdci->dci_length, - mdci->L, - mdci->rnti); + generate_dci0 (mdci->dci_pdu, mpdcch->e + (72 * mdci->firstCCE), mdci->dci_length, mdci->L, mdci->rnti); + - coded_bits = 72 * mdci->L; // scrambling - uint16_t absSF = (frame*10)+subframe; + uint16_t absSF = (frame * 10) + subframe; - AssertFatal(absSF < 1024, - "Absolute subframe %d = %d*10 + %d > 1023\n", - absSF,frame,subframe); + AssertFatal (absSF < 1024, "Absolute subframe %d = %d*10 + %d > 1023\n", absSF, frame, subframe); - mpdcch_scrambling(fp, - mdci, - absSF, - mpdcch->e+(72*mdci->firstCCE), - coded_bits); + mpdcch_scrambling (fp, mdci, absSF, mpdcch->e + (72 * mdci->firstCCE), coded_bits); // Modulation for PDCCH - if (fp->nb_antenna_ports_eNB==1) - gain_lin_QPSK = (int16_t)((amp*ONE_OVER_SQRT2_Q15)>>15); + if (fp->nb_antenna_ports_eNB == 1) + gain_lin_QPSK = (int16_t) ((amp * ONE_OVER_SQRT2_Q15) >> 15); else - gain_lin_QPSK = amp/2; + gain_lin_QPSK = amp / 2; - uint8_t *e_ptr = mpdcch->e; + uint8_t *e_ptr = mpdcch->e; // if (mdci->transmission_type==0) nprime=mdci->rnti&3; // for Localized 2+4 we use 6.8B.5 rule // map directly to one antenna port for now @@ -185,19 +175,22 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe,int16_t amp,in // mpdcchtab5 below contains the mapping from each coded symbol to relative RE avoiding the DMRS - int re_offset = fp->first_carrier_offset + 1 + ((fp->N_RB_DL==100)?1:0) + mdci->narrowband*12*6; - if (re_offset>fp->ofdm_symbol_size) re_offset-=(fp->ofdm_symbol_size-1); - int32_t *txF = &txdataF[0][re_offset]; - int32_t yIQ; + int re_offset = fp->first_carrier_offset + 1 + ((fp->N_RB_DL == 100) ? 1 : 0) + mdci->narrowband * 12 * 6; + if (re_offset > fp->ofdm_symbol_size) + re_offset -= (fp->ofdm_symbol_size - 1); + int32_t *txF = &txdataF[0][re_offset]; + int32_t yIQ; - for (i=0; i<(coded_bits>>1); i++) { + for (i = 0; i < (coded_bits >> 1); i++) { // QPSK modulation to yIQ - ((int16_t*)&yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; e_ptr++; - ((int16_t*)&yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; e_ptr++; - txF[mpdcch5tab[i+(36*mdci->firstCCE)]] = yIQ; + ((int16_t *) & yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + e_ptr++; + ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + e_ptr++; + txF[mpdcch5tab[i + (36 * mdci->firstCCE)]] = yIQ; } } -} +} #endif diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index 8a0e160f23..6a27811036 100755 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -1677,6 +1677,10 @@ void init_ul_hopping(LTE_DL_FRAME_PARMS *frame_parms); @param nB nB from 36.304 (0=4T,1=2T,2=T,3=T/2,4=T/4,5=T/8,6=T/16,7=T/32*/ int init_ue_paging_info(PHY_VARS_UE *ue, long defaultPagingCycle, long nB); +#ifdef Rel14 +void init_mpdcch5tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB,int l_MPDCCH_start); +#endif + int32_t compareints (const void * a, const void * b); diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 637bb129ea..3be6f4b987 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -59,7 +59,7 @@ void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB, LTE_eNB_MPDCCH *mpdcch_vars = &eNB->mpdcch_vars[idx]; nfapi_dl_config_mpdcch_pdu *pdu = &dl_config_pdu->mpdcch_pdu; - LOG_D(PHY,"Frame %d, Subframe %d: MDCI processing\n",proc->frame_tx,proc->subframe_tx); + LOG_I(PHY,"Frame %d, Subframe %d: MDCI processing\n",proc->frame_tx,proc->subframe_tx); // copy dci configuration into eNB structure fill_mdci_and_dlsch(eNB,proc,&mpdcch_vars->mdci_alloc[mpdcch_vars->num_dci],pdu); @@ -147,7 +147,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0_harq = dlsch0->harq_processes[0]; dlsch0_harq->pdu = sdu; - if (proc->frame_tx < 200) LOG_I(PHY,"NFAPI: frame %d, subframe %d: Programming SI-BR (%d) => %d\n",proc->frame_tx,proc->subframe_tx,rel13->pdsch_payload_type,UE_id); + if (proc->frame_tx < 200) LOG_D(PHY,"NFAPI: frame %d, subframe %d: Programming SI-BR (%d) => %d\n",proc->frame_tx,proc->subframe_tx,rel13->pdsch_payload_type,UE_id); dlsch0->rnti = 0xFFFF; dlsch0->Kmimo = 1; @@ -156,6 +156,8 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0->i0 = rel13->initial_transmission_sf_io; dlsch0_harq->pdsch_start = rel10->pdsch_start; dlsch0->harq_ids[proc->subframe_tx] = 0; + dlsch0_harq->frame = proc->frame_tx; + dlsch0_harq->subframe = proc->subframe_tx; if (rel13->pdsch_payload_type == 0) dlsch0->sib1_br_flag=1; diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 118f0f8eed..14618d7828 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -47,278 +47,208 @@ #include #if defined(ENABLE_ITTI) -# include "intertask_interface.h" +#include "intertask_interface.h" #endif -void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,PHY_VARS_RN *rn,relaying_type_t r_type) { +void +pmch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, PHY_VARS_RN * rn, relaying_type_t r_type) +{ #if defined(Rel10) || defined(Rel14) - MCH_PDU *mch_pduP=NULL; - MCH_PDU mch_pdu; + MCH_PDU *mch_pduP = NULL; + MCH_PDU mch_pdu; // uint8_t sync_area=255; #endif - int subframe = proc->subframe_tx; + int subframe = proc->subframe_tx; - AssertFatal(1==0,"pmch not tested for the moment, exiting\n"); + AssertFatal (1 == 0, "pmch not tested for the moment, exiting\n"); // This is DL-Cell spec pilots in Control region - generate_pilots_slot(eNB, - eNB->common_vars.txdataF, - AMP, - subframe<<1,1); + generate_pilots_slot (eNB, eNB->common_vars.txdataF, AMP, subframe << 1, 1); + - #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, - eNB->CC_id, - proc->frame_tx, - subframe); - */ + mch_pduP = mac_xface->get_mch_sdu(eNB->Mod_id, + eNB->CC_id, + proc->frame_tx, + subframe); + */ switch (r_type) { case no_relay: if ((mch_pduP->Pdu_size > 0) && (mch_pduP->sync_area == 0)) // TEST: only transmit mcch for sync area 0 - LOG_D(PHY,"[eNB%"PRIu8"] Frame %d subframe %d : Got MCH pdu for MBSFN (MCS %"PRIu8", TBS %d) \n", - eNB->Mod_id,proc->frame_tx,subframe,mch_pduP->mcs, - eNB->dlsch_MCH->harq_processes[0]->TBS>>3); + LOG_D (PHY, "[eNB%" PRIu8 "] Frame %d subframe %d : Got MCH pdu for MBSFN (MCS %" PRIu8 ", TBS %d) \n", + eNB->Mod_id, proc->frame_tx, subframe, mch_pduP->mcs, eNB->dlsch_MCH->harq_processes[0]->TBS >> 3); else { - LOG_D(PHY,"[DeNB %"PRIu8"] Frame %d subframe %d : Do not transmit MCH pdu for MBSFN sync area %"PRIu8" (%s)\n", - eNB->Mod_id,proc->frame_tx,subframe,mch_pduP->sync_area, - (mch_pduP->Pdu_size == 0)? "Empty MCH PDU":"Let RN transmit for the moment"); + LOG_D (PHY, "[DeNB %" PRIu8 "] Frame %d subframe %d : Do not transmit MCH pdu for MBSFN sync area %" PRIu8 " (%s)\n", + eNB->Mod_id, proc->frame_tx, subframe, mch_pduP->sync_area, (mch_pduP->Pdu_size == 0) ? "Empty MCH PDU" : "Let RN transmit for the moment"); mch_pduP = NULL; } - + break; - + case multicast_relay: - if ((mch_pduP->Pdu_size > 0) && ((mch_pduP->mcch_active == 1) || mch_pduP->msi_active==1)) { - LOG_D(PHY,"[RN %"PRIu8"] Frame %d subframe %d: Got the MCH PDU for MBSFN sync area %"PRIu8" (MCS %"PRIu8", TBS %"PRIu16")\n", - rn->Mod_id,rn->frame, subframe, - mch_pduP->sync_area,mch_pduP->mcs,mch_pduP->Pdu_size); - } else if (rn->mch_avtive[subframe%5] == 1) { // SF2 -> SF7, SF3 -> SF8 - mch_pduP= &mch_pdu; - memcpy(&mch_pduP->payload, // could be a simple copy - rn->dlsch_rn_MCH[subframe%5]->harq_processes[0]->b, - rn->dlsch_rn_MCH[subframe%5]->harq_processes[0]->TBS>>3); - mch_pduP->Pdu_size = (uint16_t) (rn->dlsch_rn_MCH[subframe%5]->harq_processes[0]->TBS>>3); - mch_pduP->mcs = rn->dlsch_rn_MCH[subframe%5]->harq_processes[0]->mcs; - LOG_D(PHY,"[RN %"PRIu8"] Frame %d subframe %d: Forward the MCH PDU for MBSFN received on SF %d sync area %"PRIu8" (MCS %"PRIu8", TBS %"PRIu16")\n", - rn->Mod_id,rn->frame, subframe,subframe%5, - rn->sync_area[subframe%5],mch_pduP->mcs,mch_pduP->Pdu_size); + if ((mch_pduP->Pdu_size > 0) && ((mch_pduP->mcch_active == 1) || mch_pduP->msi_active == 1)) { + LOG_D (PHY, "[RN %" PRIu8 "] Frame %d subframe %d: Got the MCH PDU for MBSFN sync area %" PRIu8 " (MCS %" PRIu8 ", TBS %" PRIu16 ")\n", + rn->Mod_id, rn->frame, subframe, mch_pduP->sync_area, mch_pduP->mcs, mch_pduP->Pdu_size); + } else if (rn->mch_avtive[subframe % 5] == 1) { // SF2 -> SF7, SF3 -> SF8 + mch_pduP = &mch_pdu; + memcpy (&mch_pduP->payload, // could be a simple copy + rn->dlsch_rn_MCH[subframe % 5]->harq_processes[0]->b, rn->dlsch_rn_MCH[subframe % 5]->harq_processes[0]->TBS >> 3); + mch_pduP->Pdu_size = (uint16_t) (rn->dlsch_rn_MCH[subframe % 5]->harq_processes[0]->TBS >> 3); + mch_pduP->mcs = rn->dlsch_rn_MCH[subframe % 5]->harq_processes[0]->mcs; + LOG_D (PHY, "[RN %" PRIu8 "] Frame %d subframe %d: Forward the MCH PDU for MBSFN received on SF %d sync area %" PRIu8 " (MCS %" PRIu8 ", TBS %" PRIu16 ")\n", + rn->Mod_id, rn->frame, subframe, subframe % 5, rn->sync_area[subframe % 5], mch_pduP->mcs, mch_pduP->Pdu_size); } else { - mch_pduP=NULL; + mch_pduP = NULL; } - - rn->mch_avtive[subframe]=0; + + rn->mch_avtive[subframe] = 0; break; - + default: - LOG_W(PHY,"[eNB %"PRIu8"] Frame %d subframe %d: unknown relaying type %d \n", - eNB->Mod_id,proc->frame_tx,subframe,r_type); - mch_pduP=NULL; + LOG_W (PHY, "[eNB %" PRIu8 "] Frame %d subframe %d: unknown relaying type %d \n", eNB->Mod_id, proc->frame_tx, subframe, r_type); + mch_pduP = NULL; break; - }// switch - + } // switch + if (mch_pduP) { - fill_eNB_dlsch_MCH(eNB,mch_pduP->mcs,1,0); + fill_eNB_dlsch_MCH (eNB, mch_pduP->mcs, 1, 0); // Generate PMCH - generate_mch(eNB,proc,(uint8_t*)mch_pduP->payload); + generate_mch (eNB, proc, (uint8_t *) mch_pduP->payload); } else { - LOG_D(PHY,"[eNB/RN] Frame %d subframe %d: MCH not generated \n",proc->frame_tx,subframe); + LOG_D (PHY, "[eNB/RN] Frame %d subframe %d: MCH not generated \n", proc->frame_tx, subframe); } - + #endif } -void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { +void +common_signal_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) +{ - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; - int **txdataF = eNB->common_vars.txdataF; - uint8_t *pbch_pdu=&eNB->pbch_pdu[0]; - int subframe = proc->subframe_tx; - int frame = proc->frame_tx; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + int **txdataF = eNB->common_vars.txdataF; + uint8_t *pbch_pdu = &eNB->pbch_pdu[0]; + int subframe = proc->subframe_tx; + int frame = proc->frame_tx; - LOG_D(PHY,"common_signal_procedures: frame %d, subframe %d\n",frame,subframe); + LOG_D (PHY, "common_signal_procedures: frame %d, subframe %d\n", frame, subframe); // generate Cell-Specific Reference Signals for both slots - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX,1); - generate_pilots_slot(eNB, - txdataF, - AMP, - subframe<<1,0); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX, 1); + generate_pilots_slot (eNB, txdataF, AMP, subframe << 1, 0); // check that 2nd slot is for DL - if (subframe_select(fp,subframe) == SF_DL) - generate_pilots_slot(eNB, - txdataF, - AMP, - (subframe<<1)+1,0); - - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX,0); - + if (subframe_select (fp, subframe) == SF_DL) + generate_pilots_slot (eNB, txdataF, AMP, (subframe << 1) + 1, 0); + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX, 0); + // First half of PSS/SSS (FDD, slot 0) if (subframe == 0) { if (fp->frame_type == FDD) { - generate_pss(txdataF, - AMP, - fp, - (fp->Ncp==NORMAL) ? 6 : 5, - 0); - generate_sss(txdataF, - AMP, - fp, - (fp->Ncp==NORMAL) ? 5 : 4, - 0); - + generate_pss (txdataF, AMP, fp, (fp->Ncp == NORMAL) ? 6 : 5, 0); + generate_sss (txdataF, AMP, fp, (fp->Ncp == NORMAL) ? 5 : 4, 0); + } - - + /// First half of SSS (TDD, slot 1) - - if (fp->frame_type == TDD) { - generate_sss(txdataF, - AMP, - fp, - (fp->Ncp==NORMAL) ? 6 : 5, - 1); - } + if (fp->frame_type == TDD) { + generate_sss (txdataF, AMP, fp, (fp->Ncp == NORMAL) ? 6 : 5, 1); + } // generate PBCH (Physical Broadcast CHannel) info /// generate PBCH - if ((frame&3)==0) { - AssertFatal(eNB->pbch_configured==1,"PBCH was not configured by MAC\n"); - eNB->pbch_configured=0; + if ((frame & 3) == 0) { + AssertFatal (eNB->pbch_configured == 1, "PBCH was not configured by MAC\n"); + eNB->pbch_configured = 0; } - generate_pbch(&eNB->pbch, - txdataF, - AMP, - fp, - pbch_pdu, - frame&3); - + generate_pbch (&eNB->pbch, txdataF, AMP, fp, pbch_pdu, frame & 3); + + } else if ((subframe == 1) && (fp->frame_type == TDD)) { + generate_pss (txdataF, AMP, fp, 2, 2); } - else if ((subframe == 1) && - (fp->frame_type == TDD)){ - generate_pss(txdataF, - AMP, - fp, - 2, - 2); - } - // Second half of PSS/SSS (FDD, slot 10) - else if ((subframe == 5) && - (fp->frame_type == FDD)) { - generate_pss(txdataF, - AMP, - &eNB->frame_parms, - (fp->Ncp==NORMAL) ? 6 : 5, - 10); - generate_sss(txdataF, - AMP, - &eNB->frame_parms, - (fp->Ncp==NORMAL) ? 5 : 4, - 10); + else if ((subframe == 5) && (fp->frame_type == FDD)) { + generate_pss (txdataF, AMP, &eNB->frame_parms, (fp->Ncp == NORMAL) ? 6 : 5, 10); + generate_sss (txdataF, AMP, &eNB->frame_parms, (fp->Ncp == NORMAL) ? 5 : 4, 10); } - // Second-half of SSS (TDD, slot 11) - else if ((subframe == 5) && - (fp->frame_type == TDD)) { - generate_sss(txdataF, - AMP, - fp, - (fp->Ncp==NORMAL) ? 6 : 5, - 11); + else if ((subframe == 5) && (fp->frame_type == TDD)) { + generate_sss (txdataF, AMP, fp, (fp->Ncp == NORMAL) ? 6 : 5, 11); } - // Second half of PSS (TDD, slot 12) - else if ((subframe == 6) && - (fp->frame_type == TDD)) { - generate_pss(txdataF, - AMP, - fp, - 2, - 12); + else if ((subframe == 6) && (fp->frame_type == TDD)) { + generate_pss (txdataF, AMP, fp, 2, 12); } } -void pdsch_procedures(PHY_VARS_eNB *eNB, - eNB_rxtx_proc_t *proc, - int harq_pid, - LTE_eNB_DLSCH_t *dlsch, - LTE_eNB_DLSCH_t *dlsch1, - LTE_eNB_UE_stats *ue_stats, - int ra_flag) { +void +pdsch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, int harq_pid, LTE_eNB_DLSCH_t * dlsch, LTE_eNB_DLSCH_t * dlsch1, LTE_eNB_UE_stats * ue_stats, int ra_flag) +{ - int frame=proc->frame_tx; - int subframe=proc->subframe_tx; - LTE_DL_eNB_HARQ_t *dlsch_harq=dlsch->harq_processes[harq_pid]; - int input_buffer_length = dlsch_harq->TBS/8; - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; + int frame = proc->frame_tx; + int subframe = proc->subframe_tx; + LTE_DL_eNB_HARQ_t *dlsch_harq = dlsch->harq_processes[harq_pid]; + int input_buffer_length = dlsch_harq->TBS / 8; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - if (frame < 200) { + if (dlsch->rnti != 0xFFFF) { - LOG_I(PHY, - "[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", pdsch_start %d, G %d, nb_rb %"PRIu16", rb0 %x, rb1 %x, TBS %"PRIu16", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n", - eNB->Mod_id, dlsch->rnti,harq_pid, - frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, - get_G(fp, - dlsch_harq->nb_rb, - dlsch_harq->rb_alloc, - dlsch_harq->Qm, - dlsch_harq->Nl, - dlsch_harq->pdsch_start, - frame, - subframe, - dlsch_harq->mimo_mode==TM7?7:0), - dlsch_harq->nb_rb, - dlsch_harq->rb_alloc[0], - dlsch_harq->rb_alloc[1], - dlsch_harq->TBS, - pmi2hex_2Ar1(dlsch_harq->pmi_alloc), - dlsch_harq->rvidx, - dlsch_harq->round); - } + LOG_I (PHY, + "[eNB %" PRIu8 "][PDSCH %" PRIx16 "/%" PRIu8 "] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %" PRIu16 ", pdsch_start %d, G %d, nb_rb %" PRIu16 ", rb0 %x, rb1 %x, TBS %" + PRIu16 ", pmi_alloc %" PRIx64 ", rv %" PRIu8 " (round %" PRIu8 ")\n", eNB->Mod_id, dlsch->rnti, harq_pid, frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, get_G (fp, + dlsch_harq-> + nb_rb, + dlsch_harq-> + rb_alloc, + dlsch_harq-> + Qm, + dlsch_harq-> + Nl, + dlsch_harq-> + pdsch_start, + frame, + subframe, + dlsch_harq-> + mimo_mode == + TM7 ? 7 : 0), + dlsch_harq->nb_rb, dlsch_harq->rb_alloc[0], dlsch_harq->rb_alloc[1], dlsch_harq->TBS, pmi2hex_2Ar1 (dlsch_harq->pmi_alloc), dlsch_harq->rvidx, dlsch_harq->round); + } #if defined(MESSAGE_CHART_GENERATOR_PHY) - MSC_LOG_TX_MESSAGE( - MSC_PHY_ENB,MSC_PHY_UE, - NULL,0, - "%05u:%02u PDSCH/DLSCH input size = %"PRIu16", G %d, nb_rb %"PRIu16", TBS %"PRIu16", pmi_alloc %"PRIx16", rv %"PRIu8" (round %"PRIu8")", - frame, subframe, - input_buffer_length, - get_G(fp, - dlsch_harq->nb_rb, - dlsch_harq->rb_alloc, - dlsch_harq->Qm, - dlsch_harq->Nl, - dlsch_harq->pdsch_start, - frame, - subframe, - dlsch_harq->mimo_mode==TM7?7:0), - dlsch_harq->nb_rb, - dlsch_harq->TBS, - pmi2hex_2Ar1(dlsch_harq->pmi_alloc), - dlsch_harq->rvidx, - dlsch_harq->round); + MSC_LOG_TX_MESSAGE (MSC_PHY_ENB, MSC_PHY_UE, + NULL, 0, + "%05u:%02u PDSCH/DLSCH input size = %" PRIu16 ", G %d, nb_rb %" PRIu16 ", TBS %" PRIu16 ", pmi_alloc %" PRIx16 ", rv %" PRIu8 " (round %" PRIu8 ")", + frame, subframe, + input_buffer_length, + get_G (fp, + dlsch_harq->nb_rb, + dlsch_harq->rb_alloc, + dlsch_harq->Qm, + dlsch_harq->Nl, + dlsch_harq->pdsch_start, + frame, subframe, dlsch_harq->mimo_mode == TM7 ? 7 : 0), dlsch_harq->nb_rb, dlsch_harq->TBS, pmi2hex_2Ar1 (dlsch_harq->pmi_alloc), dlsch_harq->rvidx, dlsch_harq->round); #endif - - - if (ue_stats) ue_stats->dlsch_sliding_cnt++; - + + + if (ue_stats) + ue_stats->dlsch_sliding_cnt++; + if (dlsch_harq->round == 0) { if (ue_stats) ue_stats->dlsch_trials[harq_pid][0]++; @@ -326,1080 +256,868 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, ue_stats->dlsch_trials[harq_pid][dlsch_harq->round]++; #ifdef DEBUG_PHY_PROC #ifdef DEBUG_DLSCH - LOG_D(PHY,"[eNB] This DLSCH is a retransmission\n"); + LOG_D (PHY, "[eNB] This DLSCH is a retransmission\n"); #endif #endif } - LOG_D(PHY,"Generating DLSCH/PDSCH %d\n",ra_flag); + LOG_D (PHY, "Generating DLSCH/PDSCH %d\n", ra_flag); // 36-212 - start_meas(&eNB->dlsch_encoding_stats); - AssertFatal(dlsch_harq->pdu!=NULL,"dlsch_harq->pdu == NULL (rnti %x)\n",dlsch->rnti); - eNB->te(eNB, - dlsch_harq->pdu, - dlsch_harq->pdsch_start, - dlsch, - frame,subframe, - &eNB->dlsch_rate_matching_stats, - &eNB->dlsch_turbo_encoding_stats, - &eNB->dlsch_interleaving_stats); - stop_meas(&eNB->dlsch_encoding_stats); + start_meas (&eNB->dlsch_encoding_stats); + AssertFatal (dlsch_harq->pdu != NULL, "dlsch_harq->pdu == NULL (rnti %x)\n", dlsch->rnti); + eNB->te (eNB, dlsch_harq->pdu, dlsch_harq->pdsch_start, dlsch, frame, subframe, &eNB->dlsch_rate_matching_stats, &eNB->dlsch_turbo_encoding_stats, &eNB->dlsch_interleaving_stats); + stop_meas (&eNB->dlsch_encoding_stats); // 36-211 - start_meas(&eNB->dlsch_scrambling_stats); - dlsch_scrambling(fp, - 0, - dlsch, - harq_pid, - get_G(fp, - dlsch_harq->nb_rb, - dlsch_harq->rb_alloc, - dlsch_harq->Qm, - dlsch_harq->Nl, - dlsch_harq->pdsch_start, - frame,subframe, - 0), - 0, - frame, - subframe<<1); - stop_meas(&eNB->dlsch_scrambling_stats); - - start_meas(&eNB->dlsch_modulation_stats); - - - dlsch_modulation(eNB, - eNB->common_vars.txdataF, - AMP, - subframe, - dlsch_harq->pdsch_start, - dlsch, - dlsch1); - - stop_meas(&eNB->dlsch_modulation_stats); + start_meas (&eNB->dlsch_scrambling_stats); + dlsch_scrambling (fp, 0, dlsch, harq_pid, get_G (fp, dlsch_harq->nb_rb, dlsch_harq->rb_alloc, dlsch_harq->Qm, dlsch_harq->Nl, dlsch_harq->pdsch_start, frame, subframe, 0), 0, frame, subframe << 1); + stop_meas (&eNB->dlsch_scrambling_stats); + + start_meas (&eNB->dlsch_modulation_stats); + + + dlsch_modulation (eNB, eNB->common_vars.txdataF, AMP, subframe, dlsch_harq->pdsch_start, dlsch, dlsch1); + + stop_meas (&eNB->dlsch_modulation_stats); dlsch->active = 0; dlsch_harq->round++; - if (dlsch->rnti == 0xFFFF) dlsch->harq_mask=0; + if (dlsch->rnti == 0xFFFF) + dlsch->harq_mask = 0; } -void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, - eNB_rxtx_proc_t *proc, - relaying_type_t r_type, - PHY_VARS_RN *rn, - int do_meas) +void +phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type_t r_type, PHY_VARS_RN * rn, int do_meas) { - UNUSED(rn); - int frame=proc->frame_tx; - int subframe=proc->subframe_tx; - uint32_t i,aa; - uint8_t harq_pid; - int8_t UE_id=0; - uint8_t num_pdcch_symbols=0; - uint8_t num_dci=0; - uint8_t ul_subframe; - uint32_t ul_frame; - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; + UNUSED (rn); + int frame = proc->frame_tx; + int subframe = proc->subframe_tx; + uint32_t i, aa; + uint8_t harq_pid; + int8_t UE_id = 0; + uint8_t num_pdcch_symbols = 0; + uint8_t num_dci = 0; + uint8_t ul_subframe; + uint32_t ul_frame; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; LTE_UL_eNB_HARQ_t *ulsch_harq; - int offset = eNB->CC_id;//proc == &eNB->proc.proc_rxtx[0] ? 0 : 1; + int offset = eNB->CC_id; //proc == &eNB->proc.proc_rxtx[0] ? 0 : 1; - if ((fp->frame_type == TDD) && (subframe_select(fp,subframe)==SF_UL)) return; + if ((fp->frame_type == TDD) && (subframe_select (fp, subframe) == SF_UL)) + return; - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX+offset,1); - if (do_meas==1) start_meas(&eNB->phy_proc_tx); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX + offset, 1); + if (do_meas == 1) + start_meas (&eNB->phy_proc_tx); // clear the transmit data array for the current subframe - for (aa=0; aanb_antenna_ports_eNB; aa++) { - memset(&eNB->common_vars.txdataF[aa][subframe*fp->ofdm_symbol_size*(fp->symbols_per_tti)], - 0,fp->ofdm_symbol_size*(fp->symbols_per_tti)*sizeof(int32_t)); + for (aa = 0; aa < fp->nb_antenna_ports_eNB; aa++) { + memset (&eNB->common_vars.txdataF[aa][subframe * fp->ofdm_symbol_size * (fp->symbols_per_tti)], 0, fp->ofdm_symbol_size * (fp->symbols_per_tti) * sizeof (int32_t)); } - - if (is_pmch_subframe(frame,subframe,fp)) { - pmch_procedures(eNB,proc,rn,r_type); - } - else { + + if (is_pmch_subframe (frame, subframe, fp)) { + pmch_procedures (eNB, proc, rn, r_type); + } else { // this is not a pmch subframe, so generate PSS/SSS/PBCH - common_signal_procedures(eNB,proc); + common_signal_procedures (eNB, proc); } // clear existing ulsch dci allocations before applying info from MAC (this is table - ul_subframe = pdcch_alloc2ul_subframe(fp,subframe); - ul_frame = pdcch_alloc2ul_frame(fp,frame,subframe); + ul_subframe = pdcch_alloc2ul_subframe (fp, subframe); + ul_frame = pdcch_alloc2ul_frame (fp, frame, subframe); // clear previous allocation information for all UEs - for (i=0; idlsch[i][0]) eNB->dlsch[i][0]->subframe_tx[subframe] = 0; } /* save old HARQ information needed for PHICH generation */ - if (ul_subframe < 10) { // This means that there is a potential UL subframe that will be scheduled here - for (i=0; iulsch[i]) { - ulsch_harq = eNB->ulsch[i]->harq_processes[harq_pid]; - - /* Store first_rb and n_DMRS for correct PHICH generation below. - * For PHICH generation we need "old" values of last scheduling - * for this HARQ process. 'generate_eNB_dlsch_params' below will - * overwrite first_rb and n_DMRS and 'generate_phich_top', done - * after 'generate_eNB_dlsch_params', would use the "new" values - * instead of the "old" ones. - * - * This has been tested for FDD only, may be wrong for TDD. - * - * TODO: maybe we should restructure the code to be sure it - * is done correctly. The main concern is if the code - * changes and first_rb and n_DMRS are modified before - * we reach here, then the PHICH processing will be wrong, - * using wrong first_rb and n_DMRS values to compute - * ngroup_PHICH and nseq_PHICH. - * - * TODO: check if that works with TDD. - */ - ulsch_harq->previous_first_rb = ulsch_harq->first_rb; - ulsch_harq->previous_n_DMRS = ulsch_harq->n_DMRS; - + ulsch_harq = eNB->ulsch[i]->harq_processes[harq_pid]; + + /* Store first_rb and n_DMRS for correct PHICH generation below. + * For PHICH generation we need "old" values of last scheduling + * for this HARQ process. 'generate_eNB_dlsch_params' below will + * overwrite first_rb and n_DMRS and 'generate_phich_top', done + * after 'generate_eNB_dlsch_params', would use the "new" values + * instead of the "old" ones. + * + * This has been tested for FDD only, may be wrong for TDD. + * + * TODO: maybe we should restructure the code to be sure it + * is done correctly. The main concern is if the code + * changes and first_rb and n_DMRS are modified before + * we reach here, then the PHICH processing will be wrong, + * using wrong first_rb and n_DMRS values to compute + * ngroup_PHICH and nseq_PHICH. + * + * TODO: check if that works with TDD. + */ + ulsch_harq->previous_first_rb = ulsch_harq->first_rb; + ulsch_harq->previous_n_DMRS = ulsch_harq->n_DMRS; + } } } - // num_pdcch_symbols = DCI_pdu->num_pdcch_symbols; - num_pdcch_symbols = eNB->pdcch_vars[subframe&1].num_pdcch_symbols; - num_dci = eNB->pdcch_vars[subframe&1].num_dci; + num_pdcch_symbols = eNB->pdcch_vars[subframe & 1].num_pdcch_symbols; + num_dci = eNB->pdcch_vars[subframe & 1].num_dci; // LOG_D(PHY,"num_pdcch_symbols %"PRIu8",(dci common %"PRIu8", dci uespec %"PRIu8"\n",num_pdcch_symbols, // DCI_pdu->Num_common_dci,DCI_pdu->Num_ue_spec_dci); - LOG_D(PHY,"num_pdcch_symbols %"PRIu8",(number dci %"PRIu8"\n",num_pdcch_symbols, - num_dci); - VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_DCI_INFO,num_pdcch_symbols); + LOG_D (PHY, "num_pdcch_symbols %" PRIu8 ",(number dci %" PRIu8 "\n", num_pdcch_symbols, num_dci); + VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME (VCD_SIGNAL_DUMPER_VARIABLES_DCI_INFO, num_pdcch_symbols); - VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_DCI_INFO,(frame*10)+subframe); + VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME (VCD_SIGNAL_DUMPER_VARIABLES_DCI_INFO, (frame * 10) + subframe); if (num_dci > 0) - LOG_D(PHY,"[eNB %"PRIu8"] Frame %d, subframe %d: Calling generate_dci_top (pdcch) (num_dci %"PRIu8")\n",eNB->Mod_id,frame, subframe, - num_dci); + LOG_D (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_dci_top (pdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_dci); - - generate_dci_top(num_pdcch_symbols, - num_dci, - &eNB->pdcch_vars[subframe&1].dci_alloc[0], - 0, - AMP, - fp, - eNB->common_vars.txdataF, - subframe); - - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX,0); + generate_dci_top (num_pdcch_symbols, num_dci, &eNB->pdcch_vars[subframe & 1].dci_alloc[0], 0, AMP, fp, eNB->common_vars.txdataF, subframe); + + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX, 0); // Now scan UE specific DLSCH - LTE_eNB_DLSCH_t *dlsch0,*dlsch1; - for (UE_id=0; UE_iddlsch[(uint8_t)UE_id][0]; - dlsch1 = eNB->dlsch[(uint8_t)UE_id][1]; + LTE_eNB_DLSCH_t *dlsch0, *dlsch1; + for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) { + dlsch0 = eNB->dlsch[(uint8_t) UE_id][0]; + dlsch1 = eNB->dlsch[(uint8_t) UE_id][1]; - if ((dlsch0)&& - (dlsch0->rnti>0)&& - (dlsch0->active == 1)) { + if ((dlsch0) && (dlsch0->rnti > 0) && (dlsch0->active == 1)) { - // get harq_pid - harq_pid = dlsch0->harq_ids[subframe]; - AssertFatal(harq_pid>=0,"harq_pid is negative\n"); - // generate pdsch - pdsch_procedures(eNB, - proc, - harq_pid, - dlsch0, - dlsch1, - &eNB->UE_stats[(uint32_t)UE_id], - 0); + // get harq_pid + harq_pid = dlsch0->harq_ids[subframe]; + AssertFatal (harq_pid >= 0, "harq_pid is negative\n"); + // generate pdsch + if ((dlsch0->harq_processes[harq_pid]->status == ACTIVE) && (dlsch0->harq_processes[harq_pid]->frame == frame) && (dlsch0->harq_processes[harq_pid]->subframe == subframe)) + pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); - } - - - else if ((dlsch0)&& - (dlsch0->rnti>0)&& - (dlsch0->active == 0)) { - - // clear subframe TX flag since UE is not scheduled for PDSCH in this subframe (so that we don't look for PUCCH later) - dlsch0->subframe_tx[subframe]=0; - } } + else if ((dlsch0) && (dlsch0->rnti > 0) && (dlsch0->active == 0)) { - generate_phich_top(eNB, - proc, - AMP); + // clear subframe TX flag since UE is not scheduled for PDSCH in this subframe (so that we don't look for PUCCH later) + dlsch0->subframe_tx[subframe] = 0; + } + } + + + + generate_phich_top (eNB, proc, AMP); + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX + offset, 0); + if (do_meas == 1) + stop_meas (&eNB->phy_proc_tx); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX+offset,0); - if (do_meas==1) stop_meas(&eNB->phy_proc_tx); - } -void prach_procedures(PHY_VARS_eNB *eNB, +void +prach_procedures (PHY_VARS_eNB * eNB, #ifdef Rel14 - int br_flag + int br_flag #endif - ) { - uint16_t max_preamble[4],max_preamble_energy[4],max_preamble_delay[4]; - uint16_t i; - int frame,subframe; + ) +{ + uint16_t max_preamble[4], max_preamble_energy[4], max_preamble_delay[4]; + uint16_t i; + int frame, subframe; #ifdef Rel14 - if (br_flag==1) { + if (br_flag == 1) { subframe = eNB->proc.subframe_prach_br; frame = eNB->proc.frame_prach_br; - pthread_mutex_lock(&eNB->UL_INFO_mutex); - eNB->UL_INFO.rach_ind_br.number_of_preambles=0; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); - } - else + pthread_mutex_lock (&eNB->UL_INFO_mutex); + eNB->UL_INFO.rach_ind_br.number_of_preambles = 0; + pthread_mutex_unlock (&eNB->UL_INFO_mutex); + } else #endif - { - pthread_mutex_lock(&eNB->UL_INFO_mutex); - eNB->UL_INFO.rach_ind.number_of_preambles=0; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); - subframe = eNB->proc.subframe_prach; - frame = eNB->proc.frame_prach; - } - RU_t *ru; - int aa=0; - int ru_aa; + { + pthread_mutex_lock (&eNB->UL_INFO_mutex); + eNB->UL_INFO.rach_ind.number_of_preambles = 0; + pthread_mutex_unlock (&eNB->UL_INFO_mutex); + subframe = eNB->proc.subframe_prach; + frame = eNB->proc.frame_prach; + } + RU_t *ru; + int aa = 0; + int ru_aa; - - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,1); + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX, 1); - for (i=0;inum_RU;i++) { - ru=eNB->RU_list[i]; - for (ru_aa=0,aa=0;ru_aanb_rx;ru_aa++,aa++) { + for (i = 0; i < eNB->num_RU; i++) { + ru = eNB->RU_list[i]; + for (ru_aa = 0, aa = 0; ru_aa < ru->nb_rx; ru_aa++, aa++) { eNB->prach_vars.rxsigF[0][aa] = eNB->RU_list[i]->prach_rxsigF[ru_aa]; #ifdef Rel14 - int ce_level; + int ce_level; - if (br_flag==1) - for (ce_level=0;ce_level<4;ce_level++) eNB->prach_vars_br.rxsigF[ce_level][aa] = eNB->RU_list[i]->prach_rxsigF_br[ce_level][ru_aa]; + if (br_flag == 1) + for (ce_level = 0; ce_level < 4; ce_level++) + eNB->prach_vars_br.rxsigF[ce_level][aa] = eNB->RU_list[i]->prach_rxsigF_br[ce_level][ru_aa]; #endif } } - rx_prach(eNB, - eNB->RU_list[0], - &max_preamble[0], - &max_preamble_energy[0], - &max_preamble_delay[0], - frame, - 0 + rx_prach (eNB, eNB->RU_list[0], &max_preamble[0], &max_preamble_energy[0], &max_preamble_delay[0], frame, 0 #ifdef Rel14 - ,br_flag + , br_flag #endif - ); + ); #ifdef DEBUG_PHY_PROC - LOG_I(PHY,"[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d\n", - frame,subframe, - max_preamble[0], - max_preamble_energy[0]/10, - max_preamble_delay[0]); + LOG_I (PHY, "[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d\n", frame, subframe, max_preamble[0], max_preamble_energy[0] / 10, max_preamble_delay[0]); #endif #ifdef Rel14 - if (br_flag==1) { - int prach_mask; - - prach_mask = is_prach_subframe(&eNB->frame_parms,eNB->proc.frame_prach_br,eNB->proc.subframe_prach_br); - - eNB->UL_INFO.rach_ind_br.preamble_list = eNB->preamble_list_br; - int ind=0; - int ce_level=0; + if (br_flag == 1) { + int prach_mask; + + prach_mask = is_prach_subframe (&eNB->frame_parms, eNB->proc.frame_prach_br, eNB->proc.subframe_prach_br); + + eNB->UL_INFO.rach_ind_br.preamble_list = eNB->preamble_list_br; + int ind = 0; + int ce_level = 0; /* Save for later, it doesn't work - for (int ind=0,ce_level=0;ce_level<4;ce_level++) { - - if ((eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[ce_level]==1)&& - (prach_mask&(1<<(1+ce_level)) > 0) && // prach is active and CE level has finished its repetitions - (eNB->prach_vars_br.repetition_number[ce_level]== - eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) { + for (int ind=0,ce_level=0;ce_level<4;ce_level++) { - */ + if ((eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[ce_level]==1)&& + (prach_mask&(1<<(1+ce_level)) > 0) && // prach is active and CE level has finished its repetitions + (eNB->prach_vars_br.repetition_number[ce_level]== + eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) { - if (eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0]==1){ - if ((eNB->prach_energy_counter == 100) && - (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { - eNB->UL_INFO.rach_ind_br.number_of_preambles++; - - eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind];// - eNB->preamble_list_br[ind].preamble_rel8.preamble = max_preamble[ind]; - // note: fid is implicitly 0 here, this is the rule for eMTC RA-RNTI from 36.321, Section 5.1.4 - eNB->preamble_list_br[ind].preamble_rel8.rnti = 1+subframe+(eNB->prach_vars_br.first_frame[ce_level]%40); - eNB->preamble_list_br[ind].instance_length = 0; //don't know exactly what this is - eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type = 1+ce_level; // CE Level - LOG_D(PHY,"Filling NFAPI indication for RACH %d CELevel %d (mask %x) : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", - ind, - ce_level, - prach_mask, - eNB->preamble_list_br[ind].preamble_rel8.timing_advance, - eNB->preamble_list_br[ind].preamble_rel8.preamble, - eNB->preamble_list_br[ind].preamble_rel8.rnti, - eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type); + */ + + if (eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] == 1) { + if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { + eNB->UL_INFO.rach_ind_br.number_of_preambles++; + + eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind]; // + eNB->preamble_list_br[ind].preamble_rel8.preamble = max_preamble[ind]; + // note: fid is implicitly 0 here, this is the rule for eMTC RA-RNTI from 36.321, Section 5.1.4 + eNB->preamble_list_br[ind].preamble_rel8.rnti = 1 + subframe + (eNB->prach_vars_br.first_frame[ce_level] % 40); + eNB->preamble_list_br[ind].instance_length = 0; //don't know exactly what this is + eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type = 1 + ce_level; // CE Level + LOG_D (PHY, "Filling NFAPI indication for RACH %d CELevel %d (mask %x) : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", + ind, + ce_level, + prach_mask, + eNB->preamble_list_br[ind].preamble_rel8.timing_advance, + eNB->preamble_list_br[ind].preamble_rel8.preamble, eNB->preamble_list_br[ind].preamble_rel8.rnti, eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type); } /* - ind++; - } - } */// ce_level + ind++; + } + } */// ce_level } - } - else + } else #endif - { - if ((eNB->prach_energy_counter == 100) && - (max_preamble_energy[0] > eNB->measurements.prach_I0+200)) { + { + if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { - LOG_D(PHY,"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", - eNB->Mod_id, - eNB->CC_id, - frame, - subframe, - max_preamble[0], - max_preamble_energy[0]/10, - max_preamble_energy[0]%10, - max_preamble_delay[0]); - - T(T_ENB_PHY_INITIATE_RA_PROCEDURE, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe), - T_INT(max_preamble[0]), T_INT(max_preamble_energy[0]), T_INT(max_preamble_delay[0])); - - pthread_mutex_lock(&eNB->UL_INFO_mutex); - - eNB->UL_INFO.rach_ind.number_of_preambles = 1; - eNB->UL_INFO.rach_ind.preamble_list = eNB->preamble_list; - - eNB->preamble_list[0].preamble_rel8.timing_advance = max_preamble_delay[0]; - eNB->preamble_list[0].preamble_rel8.preamble = max_preamble[0]; - eNB->preamble_list[0].preamble_rel8.rnti = 1+subframe; // note: fid is implicitly 0 here - eNB->preamble_list[0].preamble_rel13.rach_resource_type = 0; - eNB->preamble_list[0].instance_length = 0; //don't know exactly what this is - - LOG_D(PHY,"Filling NFAPI indication for RACH : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", - eNB->preamble_list[0].preamble_rel8.timing_advance, - eNB->preamble_list[0].preamble_rel8.preamble, - eNB->preamble_list[0].preamble_rel8.rnti, - eNB->preamble_list[0].preamble_rel13.rach_resource_type); - pthread_mutex_unlock(&eNB->UL_INFO_mutex); - - } // max_preamble_energy > prach_I0 + 100 - else { - eNB->measurements.prach_I0 = ((eNB->measurements.prach_I0*900)>>10) + ((max_preamble_energy[0]*124)>>10); - if (frame==0) LOG_I(PHY,"prach_I0 = %d.%d dB\n",eNB->measurements.prach_I0/10,eNB->measurements.prach_I0%10); - if (eNB->prach_energy_counter < 100) eNB->prach_energy_counter++; - } - } // else br_flag + LOG_D (PHY, "[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", + eNB->Mod_id, eNB->CC_id, frame, subframe, max_preamble[0], max_preamble_energy[0] / 10, max_preamble_energy[0] % 10, max_preamble_delay[0]); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,0); + T (T_ENB_PHY_INITIATE_RA_PROCEDURE, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (max_preamble[0]), T_INT (max_preamble_energy[0]), T_INT (max_preamble_delay[0])); + + pthread_mutex_lock (&eNB->UL_INFO_mutex); + + eNB->UL_INFO.rach_ind.number_of_preambles = 1; + eNB->UL_INFO.rach_ind.preamble_list = eNB->preamble_list; + + eNB->preamble_list[0].preamble_rel8.timing_advance = max_preamble_delay[0]; + eNB->preamble_list[0].preamble_rel8.preamble = max_preamble[0]; + eNB->preamble_list[0].preamble_rel8.rnti = 1 + subframe; // note: fid is implicitly 0 here + eNB->preamble_list[0].preamble_rel13.rach_resource_type = 0; + eNB->preamble_list[0].instance_length = 0; //don't know exactly what this is + + LOG_D (PHY, "Filling NFAPI indication for RACH : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", + eNB->preamble_list[0].preamble_rel8.timing_advance, + eNB->preamble_list[0].preamble_rel8.preamble, eNB->preamble_list[0].preamble_rel8.rnti, eNB->preamble_list[0].preamble_rel13.rach_resource_type); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); + + } // max_preamble_energy > prach_I0 + 100 + else { + eNB->measurements.prach_I0 = ((eNB->measurements.prach_I0 * 900) >> 10) + ((max_preamble_energy[0] * 124) >> 10); + if (frame == 0) + LOG_I (PHY, "prach_I0 = %d.%d dB\n", eNB->measurements.prach_I0 / 10, eNB->measurements.prach_I0 % 10); + if (eNB->prach_energy_counter < 100) + eNB->prach_energy_counter++; + } + } // else br_flag + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX, 0); } -void srs_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { +void +srs_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) +{ LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - const int subframe = proc->subframe_rx; - const int frame = proc->frame_rx; + const int subframe = proc->subframe_rx; + const int frame = proc->frame_rx; - int i; + int i; - if (is_srs_occasion_common(fp,frame,subframe)) { - - // Do SRS processing - // check if there is SRS and we have to use shortened format - // TODO: check for exceptions in transmission of SRS together with ACK/NACK - for (i=0;isoundingrs_ul_config_dedicated[i].active==1) { + // Do SRS processing + // check if there is SRS and we have to use shortened format + // TODO: check for exceptions in transmission of SRS together with ACK/NACK + for (i = 0; i < NUMBER_OF_UE_MAX; i++) { - - if (lte_srs_channel_estimation(fp, - &eNB->common_vars, - &eNB->srs_vars[i], - &eNB->soundingrs_ul_config_dedicated[i], - subframe, - 0/*eNB_id*/)) { - LOG_E(PHY,"problem processing SRS\n"); - } - eNB->soundingrs_ul_config_dedicated[i].active=0; + if (eNB->soundingrs_ul_config_dedicated[i].active == 1) { + + + if (lte_srs_channel_estimation (fp, &eNB->common_vars, &eNB->srs_vars[i], &eNB->soundingrs_ul_config_dedicated[i], subframe, 0 /*eNB_id */ )) { + LOG_E (PHY, "problem processing SRS\n"); + } + eNB->soundingrs_ul_config_dedicated[i].active = 0; } } } } -void fill_sr_indication(PHY_VARS_eNB *eNB,uint16_t rnti,int frame,int subframe,uint32_t stat) { - - pthread_mutex_lock(&eNB->UL_INFO_mutex); - nfapi_sr_indication_pdu_t *pdu = &eNB->UL_INFO.sr_ind.sr_pdu_list[eNB->UL_INFO.sr_ind.number_of_srs]; +void +fill_sr_indication (PHY_VARS_eNB * eNB, uint16_t rnti, int frame, int subframe, uint32_t stat) +{ - pdu->instance_length = 0; // don't know what to do with this + pthread_mutex_lock (&eNB->UL_INFO_mutex); + nfapi_sr_indication_pdu_t *pdu = &eNB->UL_INFO.sr_ind.sr_pdu_list[eNB->UL_INFO.sr_ind.number_of_srs]; + + pdu->instance_length = 0; // don't know what to do with this // pdu->rx_ue_information.handle = handle; - pdu->rx_ue_information.rnti = rnti; + pdu->rx_ue_information.rnti = rnti; - int SNRtimes10 = dB_fixed_times10(stat) - 10*max(eNB->measurements.n0_subband_power_tot_dB[0], - eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); + int SNRtimes10 = dB_fixed_times10 (stat) - 10 * max (eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL - 1]); - if (SNRtimes10 < -640) pdu->ul_cqi_information.ul_cqi=0; - else if (SNRtimes10 > 635) pdu->ul_cqi_information.ul_cqi=255; - else pdu->ul_cqi_information.ul_cqi=(640+SNRtimes10)/5; + if (SNRtimes10 < -640) + pdu->ul_cqi_information.ul_cqi = 0; + else if (SNRtimes10 > 635) + pdu->ul_cqi_information.ul_cqi = 255; + else + pdu->ul_cqi_information.ul_cqi = (640 + SNRtimes10) / 5; pdu->ul_cqi_information.channel = 0; eNB->UL_INFO.sr_ind.number_of_srs++; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); } -void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) +void +uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) { - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; - uint8_t SR_payload = 0,pucch_b0b1[4][2]= {{0,0},{0,0},{0,0},{0,0}},harq_ack[4]={0,0,0,0}; - int32_t metric[4]={0,0,0,0},metric_SR=0,max_metric; - const int subframe = proc->subframe_rx; - const int frame = proc->frame_rx; - int i; - LTE_eNB_UCI *uci; - uint16_t tdd_multiplexing_mask=0; - int res; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + uint8_t SR_payload = 0, pucch_b0b1[4][2] = { {0, 0}, {0, 0}, {0, 0}, {0, 0} }, harq_ack[4] = { + 0, 0, 0, 0}; + int32_t metric[4] = { 0, 0, 0, 0 }, metric_SR = 0, max_metric; + const int subframe = proc->subframe_rx; + const int frame = proc->frame_rx; + int i; + LTE_eNB_UCI *uci; + uint16_t tdd_multiplexing_mask = 0; + int res; - for (i=0;iuci_vars[i]; - if ((uci->active == 1) && - (uci->frame == frame) && - (uci->subframe == subframe)) { + if ((uci->active == 1) && (uci->frame == frame) && (uci->subframe == subframe)) { - LOG_D(PHY,"Frame %d, subframe %d: Running uci procedures (type %d) for %d \n",frame,subframe,uci->type,i); - uci->active=0; + LOG_D (PHY, "Frame %d, subframe %d: Running uci procedures (type %d) for %d \n", frame, subframe, uci->type, i); + uci->active = 0; // Null out PUCCH PRBs for noise measurement - switch(fp->N_RB_UL) { + switch (fp->N_RB_UL) { case 6: - eNB->rb_mask_ul[0] |= (0x1 | (1<<5)); //position 5 + eNB->rb_mask_ul[0] |= (0x1 | (1 << 5)); //position 5 break; case 15: - eNB->rb_mask_ul[0] |= (0x1 | (1<<14)); // position 14 + eNB->rb_mask_ul[0] |= (0x1 | (1 << 14)); // position 14 break; case 25: - eNB->rb_mask_ul[0] |= (0x1 | (1<<24)); // position 24 + eNB->rb_mask_ul[0] |= (0x1 | (1 << 24)); // position 24 break; case 50: eNB->rb_mask_ul[0] |= 0x1; - eNB->rb_mask_ul[1] |= (1<<17); // position 49 (49-32) + eNB->rb_mask_ul[1] |= (1 << 17); // position 49 (49-32) break; case 75: eNB->rb_mask_ul[0] |= 0x1; - eNB->rb_mask_ul[2] |= (1<<10); // position 74 (74-64) + eNB->rb_mask_ul[2] |= (1 << 10); // position 74 (74-64) break; case 100: eNB->rb_mask_ul[0] |= 0x1; - eNB->rb_mask_ul[3] |= (1<<3); // position 99 (99-96) + eNB->rb_mask_ul[3] |= (1 << 3); // position 99 (99-96) break; default: - LOG_E(PHY,"Unknown number for N_RB_UL %d\n",fp->N_RB_UL); + LOG_E (PHY, "Unknown number for N_RB_UL %d\n", fp->N_RB_UL); break; } switch (uci->type) { case SR: case HARQ_SR: - - metric_SR = rx_pucch(eNB, - uci->pucch_fmt, - i, - uci->n_pucch_1_0_sr[0], - 0, // n2_pucch - uci->srs_active, // shortened format - &SR_payload, - frame, - subframe, - PUCCH1_THRES); - LOG_D(PHY,"[eNB %d][SR %x] Frame %d subframe %d Checking SR is %d (SR n1pucch is %d)\n", - eNB->Mod_id, - uci->rnti, - frame, - subframe, - SR_payload, - uci->n_pucch_1_0_sr[0]); - if (uci->type == SR) { - if (SR_payload == 1) { - fill_sr_indication(eNB,uci->rnti,frame,subframe,metric_SR); - return; - } - else { - return; - } - } + + metric_SR = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1_0_sr[0], 0, // n2_pucch + uci->srs_active, // shortened format + &SR_payload, frame, subframe, PUCCH1_THRES); + LOG_D (PHY, "[eNB %d][SR %x] Frame %d subframe %d Checking SR is %d (SR n1pucch is %d)\n", eNB->Mod_id, uci->rnti, frame, subframe, SR_payload, uci->n_pucch_1_0_sr[0]); + if (uci->type == SR) { + if (SR_payload == 1) { + fill_sr_indication (eNB, uci->rnti, frame, subframe, metric_SR); + return; + } else { + return; + } + } case HARQ: - if (fp->frame_type == FDD) { - LOG_D(PHY,"Frame %d Subframe %d Demodulating PUCCH (UCI %d) for ACK/NAK (uci->pucch_fmt %d,uci->type %d.uci->frame %d, uci->subframe %d): n1_pucch0 %d SR_payload %d\n", - frame,subframe,i, - uci->pucch_fmt,uci->type, - uci->frame,uci->subframe,uci->n_pucch_1[0][0], - SR_payload); - - metric[0] = rx_pucch(eNB, - uci->pucch_fmt, - i, - uci->n_pucch_1[0][0], - 0, //n2_pucch - uci->srs_active, // shortened format - pucch_b0b1[0], - frame, - subframe, - PUCCH1a_THRES); - - - /* cancel SR detection if reception on n1_pucch0 is better than on SR PUCCH resource index, otherwise send it up to MAC */ - if (uci->type==HARQ_SR && metric[0] > metric_SR) SR_payload = 0; - else if (SR_payload == 1) fill_sr_indication(eNB,uci->rnti,frame,subframe,metric_SR); - - if (uci->type==HARQ_SR && metric[0] <= metric_SR) { - /* when transmitting ACK/NACK on SR PUCCH resource index, SR payload is always 1 */ - SR_payload = 1; - - metric[0]=rx_pucch(eNB, - uci->pucch_fmt, - i, - uci->n_pucch_1_0_sr[0], - 0, //n2_pucch - uci->srs_active, // shortened format - pucch_b0b1[0], - frame, - subframe, - PUCCH1a_THRES); - } - + if (fp->frame_type == FDD) { + LOG_D (PHY, "Frame %d Subframe %d Demodulating PUCCH (UCI %d) for ACK/NAK (uci->pucch_fmt %d,uci->type %d.uci->frame %d, uci->subframe %d): n1_pucch0 %d SR_payload %d\n", + frame, subframe, i, uci->pucch_fmt, uci->type, uci->frame, uci->subframe, uci->n_pucch_1[0][0], SR_payload); - LOG_D(PHY,"[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (FDD) payload %d (metric %d)\n", - eNB->Mod_id, - uci->rnti, - frame,subframe, - pucch_b0b1[0][0],metric[0]); - - uci->stat = metric[0]; - fill_uci_harq_indication(eNB,uci,frame,subframe,pucch_b0b1[0],0,0xffff); - - } - else { // frame_type == TDD + metric[0] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1[0][0], 0, //n2_pucch + uci->srs_active, // shortened format + pucch_b0b1[0], frame, subframe, PUCCH1a_THRES); - // if SR was detected, use the n1_pucch from SR - if (SR_payload==1) { + /* cancel SR detection if reception on n1_pucch0 is better than on SR PUCCH resource index, otherwise send it up to MAC */ + if (uci->type == HARQ_SR && metric[0] > metric_SR) + SR_payload = 0; + else if (SR_payload == 1) + fill_sr_indication (eNB, uci->rnti, frame, subframe, metric_SR); + + if (uci->type == HARQ_SR && metric[0] <= metric_SR) { + /* when transmitting ACK/NACK on SR PUCCH resource index, SR payload is always 1 */ + SR_payload = 1; + + metric[0] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1_0_sr[0], 0, //n2_pucch + uci->srs_active, // shortened format + pucch_b0b1[0], frame, subframe, PUCCH1a_THRES); + } + + + LOG_D (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (FDD) payload %d (metric %d)\n", eNB->Mod_id, uci->rnti, frame, subframe, pucch_b0b1[0][0], metric[0]); + + uci->stat = metric[0]; + fill_uci_harq_indication (eNB, uci, frame, subframe, pucch_b0b1[0], 0, 0xffff); + + } else { // frame_type == TDD + + + // if SR was detected, use the n1_pucch from SR + if (SR_payload == 1) { #ifdef DEBUG_PHY_PROC - LOG_D(PHY,"[eNB %d][PDSCH %x] Frame %d subframe %d Checking ACK/NAK (%d,%d,%d,%d) format %d with SR\n",eNB->Mod_id, - eNB->dlsch[UE_id][0]->rnti, - frame,subframe, - n1_pucch0,n1_pucch1,n1_pucch2,n1_pucch3,format); + LOG_D (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d Checking ACK/NAK (%d,%d,%d,%d) format %d with SR\n", eNB->Mod_id, + eNB->dlsch[UE_id][0]->rnti, frame, subframe, n1_pucch0, n1_pucch1, n1_pucch2, n1_pucch3, format); #endif - - metric[0] = rx_pucch(eNB, - pucch_format1b, - i, - uci->n_pucch_1_0_sr[0], - 0, //n2_pucch - uci->srs_active, // shortened format - pucch_b0b1[0], - frame, - subframe, - PUCCH1a_THRES); - } else { //using assigned pucch resources + + metric[0] = rx_pucch (eNB, pucch_format1b, i, uci->n_pucch_1_0_sr[0], 0, //n2_pucch + uci->srs_active, // shortened format + pucch_b0b1[0], frame, subframe, PUCCH1a_THRES); + } else { //using assigned pucch resources #ifdef DEBUG_PHY_PROC - LOG_D(PHY,"[eNB %d][PDSCH %x] Frame %d subframe %d Checking ACK/NAK M=%d (%d,%d,%d,%d) format %d\n",eNB->Mod_id, - eNB->dlsch[UE_id][0]->rnti, - frame,subframe, - uci->num_pucch_resources, - uci->n_pucch_1[res][0], - uci->n_pucch_1[res][1], - uci->n_pucch_1[res][2], - uci->n_pucch_1[res][3], - uci->pucch_fmt); + LOG_D (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d Checking ACK/NAK M=%d (%d,%d,%d,%d) format %d\n", eNB->Mod_id, + eNB->dlsch[UE_id][0]->rnti, + frame, subframe, uci->num_pucch_resources, uci->n_pucch_1[res][0], uci->n_pucch_1[res][1], uci->n_pucch_1[res][2], uci->n_pucch_1[res][3], uci->pucch_fmt); #endif - for (res=0;resnum_pucch_resources;res++) - metric[res] = rx_pucch(eNB, - uci->pucch_fmt, - i, - uci->n_pucch_1[res][0], - 0, // n2_pucch - uci->srs_active, // shortened format - pucch_b0b1[res], - frame, - subframe, - PUCCH1a_THRES); - - + for (res = 0; res < uci->num_pucch_resources; res++) + metric[res] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1[res][0], 0, // n2_pucch + uci->srs_active, // shortened format + pucch_b0b1[res], frame, subframe, PUCCH1a_THRES); - } - - if (SR_payload == 1) { // this implements Table 7.3.1 from 36.213 - if (pucch_b0b1[0][0] == 4) { // there isn't a likely transmission - harq_ack[0] = 4; // DTX - } - else if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] == 1) { // 1/4/7 ACKs - harq_ack[0] = 1; - } - else if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1) { // 2/5/8 ACKs - harq_ack[0] = 2; - } - else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1) { // 3/6/9 ACKs - harq_ack[0] = 3; - } - else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] != 1) { // 0 ACKs, or at least one DL assignment missed - harq_ack[0] = 0; - } - uci->stat = metric[0]; - fill_uci_harq_indication(eNB,uci,frame,subframe,harq_ack,2,0xffff); // special_bundling mode - } - else if ((uci->tdd_bundling == 0) && (uci->num_pucch_resources==2)){ // multiplexing + no SR, implement Table 10.1.3-5 (Rel14) for multiplexing with M=2 - if (pucch_b0b1[0][0] == 4 || - pucch_b0b1[1][0] == 4) { // there isn't a likely transmission - harq_ack[0] = 4; // DTX - harq_ack[1] = 6; // NACK/DTX - } - else { - if (metric[1]>metric[0]) { - if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 1; // ACK - tdd_multiplexing_mask = 0x3; - } - else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1){ - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 1; // ACK - tdd_multiplexing_mask = 0x2; - } - else { - harq_ack[0] = 4; // DTX - harq_ack[1] = 4; // DTX - } - } - else { - if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x1; - } - else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] != 1){ - harq_ack[0] = 2; // NACK - harq_ack[1] = 6; // NACK/DTX - } - else { - harq_ack[0] = 4; // DTX - harq_ack[1] = 4; // DTX - } - } - } - uci->stat = max(metric[0],metric[1]); - fill_uci_harq_indication(eNB,uci,frame,subframe,harq_ack,1,tdd_multiplexing_mask); // multiplexing mode - } //else if ((uci->tdd_bundling == 0) && (res==2)) - else if ((uci->tdd_bundling == 0) && (uci->num_pucch_resources==3)){ // multiplexing + no SR, implement Table 10.1.3-6 (Rel14) for multiplexing with M=3 - - if (harq_ack[0] == 4 || - harq_ack[1] == 4 || - harq_ack[2] == 4) { // there isn't a likely transmission - harq_ack[0] = 4; // DTX - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - - } - else { - - max_metric = max(metric[0],max(metric[1],metric[2])); - - if (metric[0]==max_metric) { - if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x1; - } - else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] != 1){ - harq_ack[0] = 2; // NACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - } - else { - harq_ack[0] = 4; // DTX - harq_ack[1] = 4; // DTX - harq_ack[2] = 4; // DTX - } - } // if (metric[0]==max_metric) { - else if (metric[1]==max_metric) { - - if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 1; // ACK - harq_ack[2] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x3; - } - else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 1; // ACK - harq_ack[2] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x2; - } - else { - harq_ack[0] = 4; // DTX - harq_ack[1] = 4; // DTX - harq_ack[2] = 4; // DTX - } - } // if (metric[1]==max_metric) { - else { - if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 1; // ACK - harq_ack[2] = 1; // ACK - tdd_multiplexing_mask = 0x7; - } - else if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] != 1 ) { - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 1; // ACK - tdd_multiplexing_mask = 0x5; - } - else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] == 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 1; // ACK - harq_ack[2] = 1; // ACK - tdd_multiplexing_mask = 0x6; - } - else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] != 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 1; // ACK - tdd_multiplexing_mask = 0x4; - } - } + + } + + + if (SR_payload == 1) { // this implements Table 7.3.1 from 36.213 + if (pucch_b0b1[0][0] == 4) { // there isn't a likely transmission + harq_ack[0] = 4; // DTX + } else if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] == 1) { // 1/4/7 ACKs + harq_ack[0] = 1; + } else if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1) { // 2/5/8 ACKs + harq_ack[0] = 2; + } else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1) { // 3/6/9 ACKs + harq_ack[0] = 3; + } else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] != 1) { // 0 ACKs, or at least one DL assignment missed + harq_ack[0] = 0; + } + uci->stat = metric[0]; + fill_uci_harq_indication (eNB, uci, frame, subframe, harq_ack, 2, 0xffff); // special_bundling mode + } else if ((uci->tdd_bundling == 0) && (uci->num_pucch_resources == 2)) { // multiplexing + no SR, implement Table 10.1.3-5 (Rel14) for multiplexing with M=2 + if (pucch_b0b1[0][0] == 4 || pucch_b0b1[1][0] == 4) { // there isn't a likely transmission + harq_ack[0] = 4; // DTX + harq_ack[1] = 6; // NACK/DTX + } else { + if (metric[1] > metric[0]) { + if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 1; // ACK + tdd_multiplexing_mask = 0x3; + } else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 1; // ACK + tdd_multiplexing_mask = 0x2; + } else { + harq_ack[0] = 4; // DTX + harq_ack[1] = 4; // DTX + } + } else { + if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x1; + } else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] != 1) { + harq_ack[0] = 2; // NACK + harq_ack[1] = 6; // NACK/DTX + } else { + harq_ack[0] = 4; // DTX + harq_ack[1] = 4; // DTX + } + } + } + uci->stat = max (metric[0], metric[1]); + fill_uci_harq_indication (eNB, uci, frame, subframe, harq_ack, 1, tdd_multiplexing_mask); // multiplexing mode + } //else if ((uci->tdd_bundling == 0) && (res==2)) + else if ((uci->tdd_bundling == 0) && (uci->num_pucch_resources == 3)) { // multiplexing + no SR, implement Table 10.1.3-6 (Rel14) for multiplexing with M=3 + + if (harq_ack[0] == 4 || harq_ack[1] == 4 || harq_ack[2] == 4) { // there isn't a likely transmission + harq_ack[0] = 4; // DTX + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + + } else { + + max_metric = max (metric[0], max (metric[1], metric[2])); + + if (metric[0] == max_metric) { + if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x1; + } else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] != 1) { + harq_ack[0] = 2; // NACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + } else { + harq_ack[0] = 4; // DTX + harq_ack[1] = 4; // DTX + harq_ack[2] = 4; // DTX + } + } // if (metric[0]==max_metric) { + else if (metric[1] == max_metric) { + + if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 1; // ACK + harq_ack[2] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x3; + } else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 1; // ACK + harq_ack[2] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x2; + } else { + harq_ack[0] = 4; // DTX + harq_ack[1] = 4; // DTX + harq_ack[2] = 4; // DTX + } + } // if (metric[1]==max_metric) { + else { + if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 1; // ACK + harq_ack[2] = 1; // ACK + tdd_multiplexing_mask = 0x7; + } else if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] != 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 1; // ACK + tdd_multiplexing_mask = 0x5; + } else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] == 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 1; // ACK + harq_ack[2] = 1; // ACK + tdd_multiplexing_mask = 0x6; + } else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] != 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 1; // ACK + tdd_multiplexing_mask = 0x4; + } + } + uci->stat = max_metric; + fill_uci_harq_indication (eNB, uci, frame, subframe, harq_ack, 1, tdd_multiplexing_mask); // multiplexing mode + } + } //else if ((uci->tdd_bundling == 0) && (res==3)) + else if ((uci->tdd_bundling == 0) && (uci->num_pucch_resources == 4)) { // multiplexing + no SR, implement Table 10.1.3-7 (Rel14) for multiplexing with M=4 + if (pucch_b0b1[0][0] == 4 || pucch_b0b1[1][0] == 4 || pucch_b0b1[2][0] == 4 || pucch_b0b1[3][0] == 4) { // there isn't a likely transmission + harq_ack[0] = 4; // DTX + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 6; // NACK/DTX + + } else { + + max_metric = max (metric[0], max (metric[1], max (metric[2], metric[3]))); + + if (metric[0] == max_metric) { + if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] != 1) { + harq_ack[0] = 2; // NACK + harq_ack[1] = 4; // DTX + harq_ack[2] = 4; // DTX + harq_ack[3] = 4; // DTX + } else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0x9; + } else if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x1; + } else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] != 1) { + harq_ack[0] = 2; // NACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 6; // NACK/DTX + } + + } else if (metric[1] == max_metric) { + if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 1; // ACK + harq_ack[2] = 1; // ACK + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0xF; + } else if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 1; // ACK + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x3; + } else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] != 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 1; // ACK + harq_ack[2] = 1; // ACK + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0xE; + } else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 1; // ACK + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x2; + } + } else if (metric[2] == max_metric) { + if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 1; // ACK + harq_ack[2] = 1; // ACK + harq_ack[3] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x7; + } else if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] != 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 1; // ACK + harq_ack[3] = 6; // NACK/DTX + tdd_multiplexing_mask = 0x5; + } else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] == 1) { + harq_ack[0] = 4; // NACK/DTX + harq_ack[1] = 1; // ACK + harq_ack[2] = 1; // ACK + harq_ack[3] = 4; // NACK/DTX + tdd_multiplexing_mask = 0x6; + } else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] != 1) { + harq_ack[0] = 4; // NACK/DTX + harq_ack[1] = 4; // NACK/DTX + harq_ack[2] = 1; // ACK + harq_ack[3] = 4; // NACK/DTX + tdd_multiplexing_mask = 0x4; + } + } else { // max_metric[3]=max_metric + if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] == 1) { + harq_ack[0] = 1; // ACK + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 1; // ACK + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0xD; + } else if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] != 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 1; // ACK + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0xA; + } else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] == 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 1; // ACK + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0xC; + } else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] != 1) { + harq_ack[0] = 6; // NACK/DTX + harq_ack[1] = 6; // NACK/DTX + harq_ack[2] = 6; // NACK/DTX + harq_ack[3] = 1; // ACK + tdd_multiplexing_mask = 0x8; + } + } + } uci->stat = max_metric; - fill_uci_harq_indication(eNB,uci,frame,subframe,harq_ack,1,tdd_multiplexing_mask); // multiplexing mode - } - } //else if ((uci->tdd_bundling == 0) && (res==3)) - else if ((uci->tdd_bundling == 0) && (uci->num_pucch_resources==4)){ // multiplexing + no SR, implement Table 10.1.3-7 (Rel14) for multiplexing with M=4 - if (pucch_b0b1[0][0] == 4 || - pucch_b0b1[1][0] == 4 || - pucch_b0b1[2][0] == 4 || - pucch_b0b1[3][0] == 4) { // there isn't a likely transmission - harq_ack[0] = 4; // DTX - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 6; // NACK/DTX - - } else { + fill_uci_harq_indication (eNB, uci, frame, subframe, harq_ack, 1, tdd_multiplexing_mask); // multiplexing mode + } // else if ((uci->tdd_bundling == 0) && (res==4)) + else { // bundling + harq_ack[0] = pucch_b0b1[0][0]; + harq_ack[1] = pucch_b0b1[0][1]; + uci->stat = metric[0]; + fill_uci_harq_indication (eNB, uci, frame, subframe, harq_ack, 0, 0xffff); // special_bundling mode + } - max_metric = max(metric[0],max(metric[1],max(metric[2],metric[3]))); - - if (metric[0]==max_metric) { - if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] != 1){ - harq_ack[0] = 2; // NACK - harq_ack[1] = 4; // DTX - harq_ack[2] = 4; // DTX - harq_ack[3] = 4; // DTX - } - else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0x9; - } - else if (pucch_b0b1[0][0] == 1 && pucch_b0b1[0][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x1; - } - else if (pucch_b0b1[0][0] != 1 && pucch_b0b1[0][1] != 1){ - harq_ack[0] = 2; // NACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 6; // NACK/DTX - } - - } - else if (metric[1]==max_metric) { - if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 1; // ACK - harq_ack[2] = 1; // ACK - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0xF; - } - else if (pucch_b0b1[1][0] == 1 && pucch_b0b1[1][1] != 1 ) { - harq_ack[0] = 1; // ACK - harq_ack[1] = 1; // ACK - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x3; - } - else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] != 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 1; // ACK - harq_ack[2] = 1; // ACK - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0xE; - } - else if (pucch_b0b1[1][0] != 1 && pucch_b0b1[1][1] == 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 1; // ACK - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x2; - } - } - else if (metric[2]==max_metric) { - if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 1; // ACK - harq_ack[2] = 1; // ACK - harq_ack[3] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x7; - } - else if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] != 1 ) { - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 1; // ACK - harq_ack[3] = 6; // NACK/DTX - tdd_multiplexing_mask = 0x5; - } - else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] == 1 ) { - harq_ack[0] = 4; // NACK/DTX - harq_ack[1] = 1; // ACK - harq_ack[2] = 1; // ACK - harq_ack[3] = 4; // NACK/DTX - tdd_multiplexing_mask = 0x6; - } - else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] != 1 ) { - harq_ack[0] = 4; // NACK/DTX - harq_ack[1] = 4; // NACK/DTX - harq_ack[2] = 1; // ACK - harq_ack[3] = 4; // NACK/DTX - tdd_multiplexing_mask = 0x4; - } - } - else { // max_metric[3]=max_metric - if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] == 1){ - harq_ack[0] = 1; // ACK - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 1; // ACK - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0xD; - } - else if (pucch_b0b1[2][0] == 1 && pucch_b0b1[2][1] != 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 1; // ACK - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0xA; - } - else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] == 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 1; // ACK - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0xC; - } - else if (pucch_b0b1[2][0] != 1 && pucch_b0b1[2][1] != 1 ) { - harq_ack[0] = 6; // NACK/DTX - harq_ack[1] = 6; // NACK/DTX - harq_ack[2] = 6; // NACK/DTX - harq_ack[3] = 1; // ACK - tdd_multiplexing_mask = 0x8; - } - } - } - uci->stat = max_metric; - fill_uci_harq_indication(eNB,uci,frame,subframe,harq_ack,1,tdd_multiplexing_mask); // multiplexing mode - } // else if ((uci->tdd_bundling == 0) && (res==4)) - else { // bundling - harq_ack[0] = pucch_b0b1[0][0]; - harq_ack[1] = pucch_b0b1[0][1]; - uci->stat = metric[0]; - fill_uci_harq_indication(eNB,uci,frame,subframe,harq_ack,0,0xffff); // special_bundling mode - } - #ifdef DEBUG_PHY_PROC - LOG_D(PHY,"[eNB %d][PDSCH %x] Frame %d subframe %d ACK/NAK metric 0 %d, metric 1 %d, (%d,%d)\n",eNB->Mod_id, - eNB->dlsch[UE_id][0]->rnti, - frame,subframe, - metric0,metric1,pucch_b0b1[0],pucch_b0b1[1]); + LOG_D (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d ACK/NAK metric 0 %d, metric 1 %d, (%d,%d)\n", eNB->Mod_id, + eNB->dlsch[UE_id][0]->rnti, frame, subframe, metric0, metric1, pucch_b0b1[0], pucch_b0b1[1]); #endif - } - break; + } + break; default: - AssertFatal(1==0,"Unsupported UCI type %d\n",uci->type); - break; + AssertFatal (1 == 0, "Unsupported UCI type %d\n", uci->type); + break; } - + if (SR_payload == 1) { - LOG_D(PHY,"[eNB %d][SR %x] Frame %d subframe %d Got SR for PUSCH, transmitting to MAC\n",eNB->Mod_id, - uci->rnti,frame,subframe); - - if (eNB->first_sr[i] == 1) { // this is the first request for uplink after Connection Setup, so clear HARQ process 0 use for Msg4 - eNB->first_sr[i] = 0; - eNB->dlsch[i][0]->harq_processes[0]->round=0; - eNB->dlsch[i][0]->harq_processes[0]->status=SCH_IDLE; - LOG_D(PHY,"[eNB %d][SR %x] Frame %d subframe %d First SR\n", - eNB->Mod_id, - eNB->ulsch[i]->rnti,frame,subframe); - } + LOG_D (PHY, "[eNB %d][SR %x] Frame %d subframe %d Got SR for PUSCH, transmitting to MAC\n", eNB->Mod_id, uci->rnti, frame, subframe); + + if (eNB->first_sr[i] == 1) { // this is the first request for uplink after Connection Setup, so clear HARQ process 0 use for Msg4 + eNB->first_sr[i] = 0; + eNB->dlsch[i][0]->harq_processes[0]->round = 0; + eNB->dlsch[i][0]->harq_processes[0]->status = SCH_IDLE; + LOG_D (PHY, "[eNB %d][SR %x] Frame %d subframe %d First SR\n", eNB->Mod_id, eNB->ulsch[i]->rnti, frame, subframe); + } } } } } -void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) +void +pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) { - uint32_t ret=0,i; - uint32_t harq_pid; - uint8_t nPRS; - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; + uint32_t ret = 0, i; + uint32_t harq_pid; + uint8_t nPRS; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; LTE_eNB_ULSCH_t *ulsch; LTE_UL_eNB_HARQ_t *ulsch_harq; - const int subframe = proc->subframe_rx; - const int frame = proc->frame_rx; + const int subframe = proc->subframe_rx; + const int frame = proc->frame_rx; - if (fp->frame_type == FDD) harq_pid = ((10*frame) + subframe)&7; - else harq_pid = subframe%10; + if (fp->frame_type == FDD) + harq_pid = ((10 * frame) + subframe) & 7; + else + harq_pid = subframe % 10; - for (i=0; iulsch[i]; ulsch_harq = ulsch->harq_processes[harq_pid]; - if (ulsch->rnti>0) LOG_D(PHY,"Frame %d, subframe %d: PUSCH procedures, harq_pid %d, UE %d/%x\n", - frame,subframe,harq_pid,i,ulsch->rnti); + if (ulsch->rnti > 0) + LOG_D (PHY, "Frame %d, subframe %d: PUSCH procedures, harq_pid %d, UE %d/%x\n", frame, subframe, harq_pid, i, ulsch->rnti); - if ((ulsch) && - (ulsch->rnti>0) && - (ulsch_harq->status == ACTIVE) && - (ulsch_harq->frame == frame) && - (ulsch_harq->subframe == subframe) && - (ulsch_harq->handled == 0)) { + if ((ulsch) && (ulsch->rnti > 0) && (ulsch_harq->status == ACTIVE) && (ulsch_harq->frame == frame) && (ulsch_harq->subframe == subframe) && (ulsch_harq->handled == 0)) { // UE has ULSCH scheduling - for (int rb=0; - rb<=ulsch_harq->nb_rb; - rb++) { - int rb2 = rb+ulsch_harq->first_rb; - eNB->rb_mask_ul[rb2>>5] |= (1<<(rb2&31)); + for (int rb = 0; rb <= ulsch_harq->nb_rb; rb++) { + int rb2 = rb + ulsch_harq->first_rb; + eNB->rb_mask_ul[rb2 >> 5] |= (1 << (rb2 & 31)); } - LOG_D(PHY,"[eNB %d] frame %d, subframe %d: Scheduling ULSCH Reception for UE %d \n", - eNB->Mod_id, - frame, - subframe, - i); + LOG_D (PHY, "[eNB %d] frame %d, subframe %d: Scheduling ULSCH Reception for UE %d \n", eNB->Mod_id, frame, subframe, i); - nPRS = fp->pusch_config_common.ul_ReferenceSignalsPUSCH.nPRS[subframe<<1]; + nPRS = fp->pusch_config_common.ul_ReferenceSignalsPUSCH.nPRS[subframe << 1]; - ulsch->cyclicShift = (ulsch_harq->n_DMRS2 + - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift + - nPRS)%12; + ulsch->cyclicShift = (ulsch_harq->n_DMRS2 + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift + nPRS) % 12; - LOG_D(PHY, - "[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, Qm %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, nprs %d), O_ACK %d, beta_cqi %d \n", - eNB->Mod_id,harq_pid,frame,subframe, - ulsch_harq->dci_alloc, - ulsch_harq->rar_alloc, - ulsch_harq->round, - ulsch_harq->first_rb, - ulsch_harq->nb_rb, - ulsch_harq->Qm, - ulsch_harq->TBS, - ulsch_harq->rvidx, - ulsch->cyclicShift, - ulsch_harq->n_DMRS2, - fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift, - nPRS, - ulsch_harq->O_ACK, - ulsch->beta_offset_cqi_times8); + LOG_D (PHY, + "[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, Qm %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, nprs %d), O_ACK %d, beta_cqi %d \n", + eNB->Mod_id, harq_pid, frame, subframe, + ulsch_harq->dci_alloc, + ulsch_harq->rar_alloc, + ulsch_harq->round, + ulsch_harq->first_rb, + ulsch_harq->nb_rb, + ulsch_harq->Qm, + ulsch_harq->TBS, + ulsch_harq->rvidx, ulsch->cyclicShift, ulsch_harq->n_DMRS2, fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift, nPRS, ulsch_harq->O_ACK, ulsch->beta_offset_cqi_times8); - start_meas(&eNB->ulsch_demodulation_stats); + start_meas (&eNB->ulsch_demodulation_stats); - rx_ulsch(eNB,proc, i); + rx_ulsch (eNB, proc, i); - stop_meas(&eNB->ulsch_demodulation_stats); + stop_meas (&eNB->ulsch_demodulation_stats); - start_meas(&eNB->ulsch_decoding_stats); + start_meas (&eNB->ulsch_decoding_stats); - ret = ulsch_decoding(eNB,proc, - i, - 0, // control_only_flag - ulsch_harq->V_UL_DAI, - ulsch_harq->nb_rb>20 ? 1 : 0); + ret = ulsch_decoding (eNB, proc, i, 0, // control_only_flag + ulsch_harq->V_UL_DAI, ulsch_harq->nb_rb > 20 ? 1 : 0); - stop_meas(&eNB->ulsch_decoding_stats); + stop_meas (&eNB->ulsch_decoding_stats); - LOG_D(PHY,"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d\n", - eNB->Mod_id,harq_pid, - frame,subframe, - ulsch->rnti, - dB_fixed(eNB->pusch_vars[i]->ulsch_power[0]), - dB_fixed(eNB->pusch_vars[i]->ulsch_power[1]), - 20,//eNB->measurements.n0_power_dB[0], - 20,//eNB->measurements.n0_power_dB[1], - ulsch_harq->o_ACK[0], - ulsch_harq->o_ACK[1], - ret); + LOG_D (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d\n", eNB->Mod_id, harq_pid, frame, subframe, ulsch->rnti, dB_fixed (eNB->pusch_vars[i]->ulsch_power[0]), dB_fixed (eNB->pusch_vars[i]->ulsch_power[1]), 20, //eNB->measurements.n0_power_dB[0], + 20, //eNB->measurements.n0_power_dB[1], + ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1], ret); //compute the expected ULSCH RX power (for the stats) - ulsch_harq->delta_TF = get_hundred_times_delta_IF_eNB(eNB,i,harq_pid, 0); // 0 means bw_factor is not considered + ulsch_harq->delta_TF = get_hundred_times_delta_IF_eNB (eNB, i, harq_pid, 0); // 0 means bw_factor is not considered if (ulsch_harq->cqi_crc_status == 1) { #ifdef DEBUG_PHY_PROC //if (((frame%10) == 0) || (frame < 50)) - print_CQI(ulsch_harq->o,ulsch_harq->uci_format,0,fp->N_RB_DL); + print_CQI (ulsch_harq->o, ulsch_harq->uci_format, 0, fp->N_RB_DL); #endif - fill_ulsch_cqi_indication(eNB,frame,subframe, - ulsch_harq, - ulsch->rnti); + fill_ulsch_cqi_indication (eNB, frame, subframe, ulsch_harq, ulsch->rnti); } - if (ret == (1+MAX_TURBO_ITERATIONS)) { - T(T_ENB_PHY_ULSCH_UE_NACK, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(ulsch->rnti), - T_INT(harq_pid)); + if (ret == (1 + MAX_TURBO_ITERATIONS)) { + T (T_ENB_PHY_ULSCH_UE_NACK, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (ulsch->rnti), T_INT (harq_pid)); - fill_crc_indication(eNB,i,frame,subframe,1); // indicate NAK to MAC - fill_rx_indication(eNB,i,frame,subframe); // indicate SDU to MAC + fill_crc_indication (eNB, i, frame, subframe, 1); // indicate NAK to MAC + fill_rx_indication (eNB, i, frame, subframe); // indicate SDU to MAC - LOG_D(PHY,"[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n", - eNB->Mod_id,harq_pid, - frame,subframe, i, - ulsch_harq->round-1, - ulsch->Mlimit, - ulsch_harq->o_ACK[0], - ulsch_harq->o_ACK[1]); - if (ulsch_harq->round >= 3) { - ulsch_harq->status = SCH_IDLE; - ulsch_harq->handled = 0; - ulsch->harq_mask &= ~(1 << harq_pid); - ulsch_harq->round = 0; - } + LOG_D (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n", + eNB->Mod_id, harq_pid, frame, subframe, i, ulsch_harq->round - 1, ulsch->Mlimit, ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1]); + if (ulsch_harq->round >= 3) { + ulsch_harq->status = SCH_IDLE; + ulsch_harq->handled = 0; + ulsch->harq_mask &= ~(1 << harq_pid); + ulsch_harq->round = 0; + } #if defined(MESSAGE_CHART_GENERATOR_PHY) - MSC_LOG_RX_DISCARDED_MESSAGE( - MSC_PHY_ENB,MSC_PHY_UE, - NULL,0, - "%05u:%02u ULSCH received rnti %x harq id %u round %d", - frame,subframe, - ulsch->rnti,harq_pid, - ulsch_harq->round-1 - ); + MSC_LOG_RX_DISCARDED_MESSAGE (MSC_PHY_ENB, MSC_PHY_UE, NULL, 0, "%05u:%02u ULSCH received rnti %x harq id %u round %d", frame, subframe, ulsch->rnti, harq_pid, ulsch_harq->round - 1); #endif /* Mark the HARQ process to release it later if max transmission reached @@ -1408,579 +1126,580 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) * locally in PHY. */ ulsch_harq->handled = 1; - } // ulsch in error + } // ulsch in error else { - fill_crc_indication(eNB,i,frame,subframe,0); // indicate ACK to MAC - fill_rx_indication(eNB,i,frame,subframe); // indicate SDU to MAC + fill_crc_indication (eNB, i, frame, subframe, 0); // indicate ACK to MAC + fill_rx_indication (eNB, i, frame, subframe); // indicate SDU to MAC ulsch_harq->status = SCH_IDLE; - ulsch->harq_mask &= ~(1 << harq_pid); + ulsch->harq_mask &= ~(1 << harq_pid); - T(T_ENB_PHY_ULSCH_UE_ACK, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(ulsch->rnti), - T_INT(harq_pid)); + T (T_ENB_PHY_ULSCH_UE_ACK, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (ulsch->rnti), T_INT (harq_pid)); #if defined(MESSAGE_CHART_GENERATOR_PHY) - MSC_LOG_RX_MESSAGE( - MSC_PHY_ENB,MSC_PHY_UE, - NULL,0, - "%05u:%02u ULSCH received rnti %x harq id %u", - frame,subframe, - ulsch->rnti,harq_pid - ); + MSC_LOG_RX_MESSAGE (MSC_PHY_ENB, MSC_PHY_UE, NULL, 0, "%05u:%02u ULSCH received rnti %x harq id %u", frame, subframe, ulsch->rnti, harq_pid); #endif #ifdef DEBUG_PHY_PROC #ifdef DEBUG_ULSCH - LOG_D(PHY,"[eNB] Frame %d, Subframe %d : ULSCH SDU (RX harq_pid %d) %d bytes:",frame,subframe, - harq_pid,ulsch_harq->TBS>>3); + LOG_D (PHY, "[eNB] Frame %d, Subframe %d : ULSCH SDU (RX harq_pid %d) %d bytes:", frame, subframe, harq_pid, ulsch_harq->TBS >> 3); - for (j=0; jTBS>>3; j++) - LOG_T(PHY,"%x.",ulsch->harq_processes[harq_pid]->b[j]); + for (j = 0; j < ulsch_harq->TBS >> 3; j++) + LOG_T (PHY, "%x.", ulsch->harq_processes[harq_pid]->b[j]); - LOG_T(PHY,"\n"); + LOG_T (PHY, "\n"); #endif #endif - } // ulsch not in error + } // ulsch not in error - if (ulsch_harq->O_ACK>0) fill_ulsch_harq_indication(eNB,ulsch_harq,ulsch->rnti,frame,subframe,ulsch->bundling); + if (ulsch_harq->O_ACK > 0) + fill_ulsch_harq_indication (eNB, ulsch_harq, ulsch->rnti, frame, subframe, ulsch->bundling); - LOG_D(PHY,"[eNB %d] Frame %d subframe %d: received ULSCH harq_pid %d for UE %d, ret = %d, CQI CRC Status %d, ACK %d,%d, ulsch_errors %d/%d\n", - eNB->Mod_id,frame,subframe, - harq_pid, - i, - ret, - ulsch_harq->cqi_crc_status, - ulsch_harq->o_ACK[0], - ulsch_harq->o_ACK[1], - eNB->UE_stats[i].ulsch_errors[harq_pid], - eNB->UE_stats[i].ulsch_decoding_attempts[harq_pid][0]); - } // if ((ulsch) && - // (ulsch->rnti>0) && - // (ulsch_harq->status == ACTIVE)) - else if ((ulsch) && - (ulsch->rnti>0) && - (ulsch_harq->status == ACTIVE) && - (ulsch_harq->frame == frame) && - (ulsch_harq->subframe == subframe) && - (ulsch_harq->handled == 1)) { + LOG_D (PHY, "[eNB %d] Frame %d subframe %d: received ULSCH harq_pid %d for UE %d, ret = %d, CQI CRC Status %d, ACK %d,%d, ulsch_errors %d/%d\n", + eNB->Mod_id, frame, subframe, + harq_pid, i, ret, ulsch_harq->cqi_crc_status, ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1], eNB->UE_stats[i].ulsch_errors[harq_pid], eNB->UE_stats[i].ulsch_decoding_attempts[harq_pid][0]); + } // if ((ulsch) && + // (ulsch->rnti>0) && + // (ulsch_harq->status == ACTIVE)) + else if ((ulsch) && (ulsch->rnti > 0) && (ulsch_harq->status == ACTIVE) && (ulsch_harq->frame == frame) && (ulsch_harq->subframe == subframe) && (ulsch_harq->handled == 1)) { // this harq process is stale, kill it, this 1024 frames later (10s), consider reducing that ulsch_harq->status = SCH_IDLE; ulsch_harq->handled = 0; - ulsch->harq_mask &= ~(1 << harq_pid); - LOG_W(PHY,"Removing stale ULSCH config for UE %x harq_pid %d (harq_mask is now 0x%2.2x)\n", - ulsch->rnti, harq_pid, ulsch->harq_mask); + ulsch->harq_mask &= ~(1 << harq_pid); + LOG_W (PHY, "Removing stale ULSCH config for UE %x harq_pid %d (harq_mask is now 0x%2.2x)\n", ulsch->rnti, harq_pid, ulsch->harq_mask); } - } // for (i=0; iproc; + eNB_proc_t *proc = &eNB->proc; proc->tdp.eNB = eNB; - proc->instance_cnt_td = -1; - - pthread_mutex_init( &proc->mutex_td, NULL); - pthread_cond_init( &proc->cond_td, NULL); + proc->instance_cnt_td = -1; - pthread_create(&proc->pthread_td, attr_td, td_thread, (void*)&proc->tdp); + pthread_mutex_init (&proc->mutex_td, NULL); + pthread_cond_init (&proc->cond_td, NULL); + + pthread_create (&proc->pthread_td, attr_td, td_thread, (void *) &proc->tdp); } -extern void *te_thread(void*); +extern void *te_thread (void *); -void init_te_thread(PHY_VARS_eNB *eNB,pthread_attr_t *attr_te) { +void +init_te_thread (PHY_VARS_eNB * eNB, pthread_attr_t * attr_te) +{ - eNB_proc_t *proc = &eNB->proc; + eNB_proc_t *proc = &eNB->proc; proc->tep.eNB = eNB; - proc->instance_cnt_te = -1; - - pthread_mutex_init( &proc->mutex_te, NULL); - pthread_cond_init( &proc->cond_te, NULL); + proc->instance_cnt_te = -1; - printf("Creating te_thread\n"); - pthread_create(&proc->pthread_te, attr_te, te_thread, (void*)&proc->tep); + pthread_mutex_init (&proc->mutex_te, NULL); + pthread_cond_init (&proc->cond_te, NULL); + + printf ("Creating te_thread\n"); + pthread_create (&proc->pthread_te, attr_te, te_thread, (void *) &proc->tep); } -void fill_rx_indication(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe) +void +fill_rx_indication (PHY_VARS_eNB * eNB, int UE_id, int frame, int subframe) { nfapi_rx_indication_pdu_t *pdu; - int timing_advance_update; - int sync_pos; + int timing_advance_update; + int sync_pos; - uint32_t harq_pid = subframe2harq_pid(&eNB->frame_parms, - frame,subframe); + uint32_t harq_pid = subframe2harq_pid (&eNB->frame_parms, + frame, subframe); - pthread_mutex_lock(&eNB->UL_INFO_mutex); - pdu = &eNB->UL_INFO.rx_ind.rx_pdu_list[eNB->UL_INFO.rx_ind.number_of_pdus]; + pthread_mutex_lock (&eNB->UL_INFO_mutex); + pdu = &eNB->UL_INFO.rx_ind.rx_pdu_list[eNB->UL_INFO.rx_ind.number_of_pdus]; // pdu->rx_ue_information.handle = eNB->ulsch[UE_id]->handle; - pdu->rx_ue_information.rnti = eNB->ulsch[UE_id]->rnti; - pdu->rx_indication_rel8.length = eNB->ulsch[UE_id]->harq_processes[harq_pid]->TBS>>3; - pdu->rx_indication_rel8.offset = 0; // filled in at the end of the UL_INFO formation - pdu->data = eNB->ulsch[UE_id]->harq_processes[harq_pid]->b; + pdu->rx_ue_information.rnti = eNB->ulsch[UE_id]->rnti; + pdu->rx_indication_rel8.length = eNB->ulsch[UE_id]->harq_processes[harq_pid]->TBS >> 3; + pdu->rx_indication_rel8.offset = 0; // filled in at the end of the UL_INFO formation + pdu->data = eNB->ulsch[UE_id]->harq_processes[harq_pid]->b; // estimate timing advance for MAC - sync_pos = lte_est_timing_advance_pusch(eNB,UE_id); - timing_advance_update = sync_pos - eNB->frame_parms.nb_prefix_samples/4; //to check + sync_pos = lte_est_timing_advance_pusch (eNB, UE_id); + timing_advance_update = sync_pos - eNB->frame_parms.nb_prefix_samples / 4; //to check // if (timing_advance_update > 10) { dump_ulsch(eNB,frame,subframe,UE_id); exit(-1);} // if (timing_advance_update < -10) { dump_ulsch(eNB,frame,subframe,UE_id); exit(-1);} switch (eNB->frame_parms.N_RB_DL) { - case 6: /* nothing to do */ break; - case 15: timing_advance_update /= 2; break; - case 25: timing_advance_update /= 4; break; - case 50: timing_advance_update /= 8; break; - case 75: timing_advance_update /= 12; break; - case 100: timing_advance_update /= 16; break; - default: abort(); + case 6: /* nothing to do */ + break; + case 15: + timing_advance_update /= 2; + break; + case 25: + timing_advance_update /= 4; + break; + case 50: + timing_advance_update /= 8; + break; + case 75: + timing_advance_update /= 12; + break; + case 100: + timing_advance_update /= 16; + break; + default: + abort (); } // put timing advance command in 0..63 range timing_advance_update += 31; - if (timing_advance_update < 0) timing_advance_update = 0; - if (timing_advance_update > 63) timing_advance_update = 63; + if (timing_advance_update < 0) + timing_advance_update = 0; + if (timing_advance_update > 63) + timing_advance_update = 63; pdu->rx_indication_rel8.timing_advance = timing_advance_update; // estimate UL_CQI for MAC (from antenna port 0 only) - int SNRtimes10 = dB_fixed_times10(eNB->pusch_vars[UE_id]->ulsch_power[0]) - - 10*max(eNB->measurements.n0_subband_power_tot_dB[0], - eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); + int SNRtimes10 = dB_fixed_times10 (eNB->pusch_vars[UE_id]->ulsch_power[0]) - 10 * max (eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL - 1]); - if (SNRtimes10 < -640) pdu->rx_indication_rel8.ul_cqi=0; - else if (SNRtimes10 > 635) pdu->rx_indication_rel8.ul_cqi=255; - else pdu->rx_indication_rel8.ul_cqi=(640+SNRtimes10)/5; + if (SNRtimes10 < -640) + pdu->rx_indication_rel8.ul_cqi = 0; + else if (SNRtimes10 > 635) + pdu->rx_indication_rel8.ul_cqi = 255; + else + pdu->rx_indication_rel8.ul_cqi = (640 + SNRtimes10) / 5; - LOG_D(PHY,"[PUSCH %d] Filling RX_indication with SNR %d (%d), timing_advance %d (update %d)\n", - harq_pid,SNRtimes10,pdu->rx_indication_rel8.ul_cqi,pdu->rx_indication_rel8.timing_advance, - timing_advance_update); + LOG_D (PHY, "[PUSCH %d] Filling RX_indication with SNR %d (%d), timing_advance %d (update %d)\n", + harq_pid, SNRtimes10, pdu->rx_indication_rel8.ul_cqi, pdu->rx_indication_rel8.timing_advance, timing_advance_update); eNB->UL_INFO.rx_ind.number_of_pdus++; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); } -void release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,uint8_t subframe,uint16_t mask) { +void +release_harq (PHY_VARS_eNB * eNB, int UE_id, int tb, uint16_t frame, uint8_t subframe, uint16_t mask) +{ - LTE_eNB_DLSCH_t *dlsch0=NULL,*dlsch1=NULL; - LTE_DL_eNB_HARQ_t *dlsch0_harq=NULL,*dlsch1_harq=NULL; - int harq_pid; - int subframe_tx; - int M,m; + LTE_eNB_DLSCH_t *dlsch0 = NULL, *dlsch1 = NULL; + LTE_DL_eNB_HARQ_t *dlsch0_harq = NULL, *dlsch1_harq = NULL; + int harq_pid; + int subframe_tx; + int M, m; - AssertFatal(UE_id!=-1,"no existing dlsch context\n"); - AssertFatal(UE_id= %d(NUMBER_OF_UE_MAX)\n",UE_id,NUMBER_OF_UE_MAX); + AssertFatal (UE_id != -1, "no existing dlsch context\n"); + AssertFatal (UE_id < NUMBER_OF_UE_MAX, "returned UE_id %d >= %d(NUMBER_OF_UE_MAX)\n", UE_id, NUMBER_OF_UE_MAX); dlsch0 = eNB->dlsch[UE_id][0]; dlsch1 = eNB->dlsch[UE_id][1]; - if (eNB->frame_parms.frame_type == FDD) { - subframe_tx = (subframe+6)%10; + if (eNB->frame_parms.frame_type == FDD) { + subframe_tx = (subframe + 6) % 10; harq_pid = dlsch0->harq_ids[subframe_tx]; - AssertFatal((harq_pid>=0) && (harq_pid<10),"harq_pid %d not in 0...9\n",harq_pid); - dlsch0_harq = dlsch0->harq_processes[harq_pid]; - dlsch1_harq = dlsch1->harq_processes[harq_pid]; - AssertFatal(dlsch0_harq!=NULL,"dlsch0_harq is null\n"); + AssertFatal ((harq_pid >= 0) && (harq_pid < 10), "harq_pid %d not in 0...9\n", harq_pid); + dlsch0_harq = dlsch0->harq_processes[harq_pid]; + dlsch1_harq = dlsch1->harq_processes[harq_pid]; + AssertFatal (dlsch0_harq != NULL, "dlsch0_harq is null\n"); dlsch0_harq->status = SCH_IDLE; /*if ((dlsch1_harq == NULL)|| - ((dlsch1_harq!=NULL)&& - (dlsch1_harq->status == SCH_IDLE)))*/ - dlsch0->harq_mask &= ~(1<rnti); + ((dlsch1_harq!=NULL)&& + (dlsch1_harq->status == SCH_IDLE))) */ + dlsch0->harq_mask &= ~(1 << harq_pid); + LOG_D (PHY, "Frame %d, subframe %d: Releasing harq %d for UE %x\n", frame, subframe, harq_pid, dlsch0->rnti); - } - else { // release all processes in the bundle that was acked, based on mask - // This is at most 4 for multiplexing and 9 for bundling/special bundling - M=ul_ACK_subframe2_M(&eNB->frame_parms, - subframe); + } else { // release all processes in the bundle that was acked, based on mask + // This is at most 4 for multiplexing and 9 for bundling/special bundling + M = ul_ACK_subframe2_M (&eNB->frame_parms, subframe); - for (m=0; mframe_parms, - subframe, - m); - if (((1< 0) { - harq_pid = dlsch0->harq_ids[subframe_tx]; - if ((harq_pid>=0) && (harq_pid<10)) { - dlsch0_harq = dlsch0->harq_processes[harq_pid]; - dlsch1_harq = dlsch1->harq_processes[harq_pid]; - AssertFatal(dlsch0_harq!=NULL,"dlsch0_harq is null\n"); - - dlsch0_harq->status = SCH_IDLE; - if ((dlsch1_harq == NULL)|| - ((dlsch1_harq!=NULL)&& - (dlsch1_harq->status == SCH_IDLE))) - dlsch0->harq_mask &= ~(1<frame_parms, subframe, m); + if (((1 << m) & mask) > 0) { + harq_pid = dlsch0->harq_ids[subframe_tx]; + if ((harq_pid >= 0) && (harq_pid < 10)) { + dlsch0_harq = dlsch0->harq_processes[harq_pid]; + dlsch1_harq = dlsch1->harq_processes[harq_pid]; + AssertFatal (dlsch0_harq != NULL, "dlsch0_harq is null\n"); + + dlsch0_harq->status = SCH_IDLE; + if ((dlsch1_harq == NULL) || ((dlsch1_harq != NULL) && (dlsch1_harq->status == SCH_IDLE))) + dlsch0->harq_mask &= ~(1 << harq_pid); + } } } } } -int getM(PHY_VARS_eNB *eNB,int frame,int subframe) { +int +getM (PHY_VARS_eNB * eNB, int frame, int subframe) +{ - int M,Mtx=0; - LTE_eNB_DLSCH_t *dlsch0=NULL,*dlsch1=NULL; - LTE_DL_eNB_HARQ_t *dlsch0_harq=NULL,*dlsch1_harq=NULL; - int harq_pid; - int subframe_tx; - int m; + int M, Mtx = 0; + LTE_eNB_DLSCH_t *dlsch0 = NULL, *dlsch1 = NULL; + LTE_DL_eNB_HARQ_t *dlsch0_harq = NULL, *dlsch1_harq = NULL; + int harq_pid; + int subframe_tx; + int m; - M=ul_ACK_subframe2_M(&eNB->frame_parms, - subframe); - - for (m=0; mframe_parms, - subframe, - m); + M = ul_ACK_subframe2_M (&eNB->frame_parms, subframe); + + for (m = 0; m < M; m++) { + subframe_tx = ul_ACK_subframe2_dl_subframe (&eNB->frame_parms, subframe, m); harq_pid = dlsch0->harq_ids[subframe_tx]; - if (harq_pid>=0 && harq_pid<10) { - dlsch0_harq = dlsch0->harq_processes[harq_pid]; - dlsch1_harq = dlsch1->harq_processes[harq_pid]; - AssertFatal(dlsch0_harq!=NULL,"dlsch0_harq is null\n"); - if (dlsch0_harq->status == ACTIVE|| - (dlsch1_harq!=NULL && dlsch1_harq->status == ACTIVE)) Mtx ++; + if (harq_pid >= 0 && harq_pid < 10) { + dlsch0_harq = dlsch0->harq_processes[harq_pid]; + dlsch1_harq = dlsch1->harq_processes[harq_pid]; + AssertFatal (dlsch0_harq != NULL, "dlsch0_harq is null\n"); + if (dlsch0_harq->status == ACTIVE || (dlsch1_harq != NULL && dlsch1_harq->status == ACTIVE)) + Mtx++; } } - return(Mtx); + return (Mtx); } -void fill_ulsch_cqi_indication(PHY_VARS_eNB *eNB,uint16_t frame,uint8_t subframe,LTE_UL_eNB_HARQ_t *ulsch_harq,uint16_t rnti) { +void +fill_ulsch_cqi_indication (PHY_VARS_eNB * eNB, uint16_t frame, uint8_t subframe, LTE_UL_eNB_HARQ_t * ulsch_harq, uint16_t rnti) +{ - pthread_mutex_lock(&eNB->UL_INFO_mutex); - nfapi_cqi_indication_pdu_t *pdu = &eNB->UL_INFO.cqi_ind.cqi_pdu_list[eNB->UL_INFO.cqi_ind.number_of_cqis]; + pthread_mutex_lock (&eNB->UL_INFO_mutex); + nfapi_cqi_indication_pdu_t *pdu = &eNB->UL_INFO.cqi_ind.cqi_pdu_list[eNB->UL_INFO.cqi_ind.number_of_cqis]; nfapi_cqi_indication_raw_pdu_t *raw_pdu = &eNB->UL_INFO.cqi_ind.cqi_raw_pdu_list[eNB->UL_INFO.cqi_ind.number_of_cqis]; pdu->rx_ue_information.rnti = rnti; - if (ulsch_harq->cqi_crc_status != 1) pdu->cqi_indication_rel9.data_offset = 0; - else pdu->cqi_indication_rel9.data_offset = 1; // fill in after all cqi_indications have been generated when non-zero + if (ulsch_harq->cqi_crc_status != 1) + pdu->cqi_indication_rel9.data_offset = 0; + else + pdu->cqi_indication_rel9.data_offset = 1; // fill in after all cqi_indications have been generated when non-zero // by default set O to rank 1 value - pdu->cqi_indication_rel9.length = (ulsch_harq->Or1>>3) + ((ulsch_harq->Or1&7) > 0 ? 1 : 0); - pdu->cqi_indication_rel9.ri[0] = 0; + pdu->cqi_indication_rel9.length = (ulsch_harq->Or1 >> 3) + ((ulsch_harq->Or1 & 7) > 0 ? 1 : 0); + pdu->cqi_indication_rel9.ri[0] = 0; // if we have RI bits, set them and if rank2 overwrite O - if (ulsch_harq->O_RI>0) { + if (ulsch_harq->O_RI > 0) { pdu->cqi_indication_rel9.ri[0] = ulsch_harq->o_RI[0]; - if (ulsch_harq->o_RI[0] == 2) pdu->cqi_indication_rel9.length = (ulsch_harq->Or2>>3) + ((ulsch_harq->Or2&7) > 0 ? 1 : 0); + if (ulsch_harq->o_RI[0] == 2) + pdu->cqi_indication_rel9.length = (ulsch_harq->Or2 >> 3) + ((ulsch_harq->Or2 & 7) > 0 ? 1 : 0); pdu->cqi_indication_rel9.timing_advance = 0; } - + pdu->cqi_indication_rel9.number_of_cc_reported = 1; - pdu->ul_cqi_information.channel = 1; // PUSCH - memcpy((void*)raw_pdu->pdu,ulsch_harq->o,pdu->cqi_indication_rel9.length); + pdu->ul_cqi_information.channel = 1; // PUSCH + memcpy ((void *) raw_pdu->pdu, ulsch_harq->o, pdu->cqi_indication_rel9.length); eNB->UL_INFO.cqi_ind.number_of_cqis++; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); } -void fill_ulsch_harq_indication(PHY_VARS_eNB *eNB,LTE_UL_eNB_HARQ_t *ulsch_harq,uint16_t rnti, int frame,int subframe,int bundling) +void +fill_ulsch_harq_indication (PHY_VARS_eNB * eNB, LTE_UL_eNB_HARQ_t * ulsch_harq, uint16_t rnti, int frame, int subframe, int bundling) { - int UE_id = find_dlsch(rnti,eNB,SEARCH_EXIST); - AssertFatal(UE_id>=0,"UE_id doesn't exist\n"); + int UE_id = find_dlsch (rnti, eNB, SEARCH_EXIST); + AssertFatal (UE_id >= 0, "UE_id doesn't exist\n"); - pthread_mutex_lock(&eNB->UL_INFO_mutex); - nfapi_harq_indication_pdu_t *pdu = &eNB->UL_INFO.harq_ind.harq_pdu_list[eNB->UL_INFO.harq_ind.number_of_harqs]; - int M; - int i; + pthread_mutex_lock (&eNB->UL_INFO_mutex); + nfapi_harq_indication_pdu_t *pdu = &eNB->UL_INFO.harq_ind.harq_pdu_list[eNB->UL_INFO.harq_ind.number_of_harqs]; + int M; + int i; - pdu->instance_length = 0; // don't know what to do with this + pdu->instance_length = 0; // don't know what to do with this // pdu->rx_ue_information.handle = handle; - pdu->rx_ue_information.rnti = rnti; + pdu->rx_ue_information.rnti = rnti; if (eNB->frame_parms.frame_type == FDD) { pdu->harq_indication_fdd_rel13.mode = 0; pdu->harq_indication_fdd_rel13.number_of_ack_nack = ulsch_harq->O_ACK; - for (i=0;iO_ACK;i++) { - AssertFatal(ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n",i,ulsch_harq->o_ACK[i]); + for (i = 0; i < ulsch_harq->O_ACK; i++) { + AssertFatal (ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n", i, ulsch_harq->o_ACK[i]); - pdu->harq_indication_fdd_rel13.harq_tb_n[i] = 2-ulsch_harq->o_ACK[i]; + pdu->harq_indication_fdd_rel13.harq_tb_n[i] = 2 - ulsch_harq->o_ACK[i]; // release DLSCH if needed - if (ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,i,frame,subframe,0xffff); + if (ulsch_harq->o_ACK[i] == 1) + release_harq (eNB, UE_id, i, frame, subframe, 0xffff); #if T_TRACER /* TODO: get correct harq pid */ if (ulsch_harq->o_ACK[i] != 1) - T(T_ENB_PHY_DLSCH_UE_NACK, T_INT(0), T_INT(frame), T_INT(subframe), - T_INT(rnti), T_INT(eNB->dlsch[UE_id][0]->harq_ids[(subframe+6)%10])); + T (T_ENB_PHY_DLSCH_UE_NACK, T_INT (0), T_INT (frame), T_INT (subframe), T_INT (rnti), T_INT (eNB->dlsch[UE_id][0]->harq_ids[(subframe + 6) % 10])); else - T(T_ENB_PHY_DLSCH_UE_ACK, T_INT(0), T_INT(frame), T_INT(subframe), - T_INT(rnti), T_INT(eNB->dlsch[UE_id][0]->harq_ids[(subframe+6)%10])); + T (T_ENB_PHY_DLSCH_UE_ACK, T_INT (0), T_INT (frame), T_INT (subframe), T_INT (rnti), T_INT (eNB->dlsch[UE_id][0]->harq_ids[(subframe + 6) % 10])); #endif } - } - else { // TDD - M=ul_ACK_subframe2_M(&eNB->frame_parms, - subframe); + } else { // TDD + M = ul_ACK_subframe2_M (&eNB->frame_parms, subframe); - pdu->harq_indication_fdd_rel13.mode = 1-bundling; + pdu->harq_indication_fdd_rel13.mode = 1 - bundling; pdu->harq_indication_fdd_rel13.number_of_ack_nack = ulsch_harq->O_ACK; - for (i=0;iO_ACK;i++) { - AssertFatal(ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n",i,ulsch_harq->o_ACK[i]); + for (i = 0; i < ulsch_harq->O_ACK; i++) { + AssertFatal (ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n", i, ulsch_harq->o_ACK[i]); - pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = 2-ulsch_harq->o_ACK[i]; + pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = 2 - ulsch_harq->o_ACK[i]; // release DLSCH if needed - if (ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,i,frame,subframe,0xffff); - if (M==1 && ulsch_harq->O_ACK==1 && ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); - else if (M==1 && ulsch_harq->O_ACK==2 && ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,i,frame,subframe,0xffff); - else if (M>1 && ulsch_harq->o_ACK[i] == 1) { - // spatial bundling - release_harq(eNB,UE_id,0,frame,subframe,1<o_ACK[i] == 1) + release_harq (eNB, UE_id, i, frame, subframe, 0xffff); + if (M == 1 && ulsch_harq->O_ACK == 1 && ulsch_harq->o_ACK[i] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + else if (M == 1 && ulsch_harq->O_ACK == 2 && ulsch_harq->o_ACK[i] == 1) + release_harq (eNB, UE_id, i, frame, subframe, 0xffff); + else if (M > 1 && ulsch_harq->o_ACK[i] == 1) { + // spatial bundling + release_harq (eNB, UE_id, 0, frame, subframe, 1 << i); + release_harq (eNB, UE_id, 1, frame, subframe, 1 << i); } - } + } } eNB->UL_INFO.harq_ind.number_of_harqs++; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); } -void fill_uci_harq_indication(PHY_VARS_eNB *eNB, - LTE_eNB_UCI *uci, - int frame, - int subframe, - uint8_t *harq_ack, - uint8_t tdd_mapping_mode, - uint16_t tdd_multiplexing_mask) { +void +fill_uci_harq_indication (PHY_VARS_eNB * eNB, LTE_eNB_UCI * uci, int frame, int subframe, uint8_t * harq_ack, uint8_t tdd_mapping_mode, uint16_t tdd_multiplexing_mask) +{ - int UE_id=find_dlsch(uci->rnti,eNB,SEARCH_EXIST); - AssertFatal(UE_id>=0,"UE_id doesn't exist\n"); + int UE_id = find_dlsch (uci->rnti, eNB, SEARCH_EXIST); + AssertFatal (UE_id >= 0, "UE_id doesn't exist\n"); - pthread_mutex_lock(&eNB->UL_INFO_mutex); - nfapi_harq_indication_pdu_t *pdu = &eNB->UL_INFO.harq_ind.harq_pdu_list[eNB->UL_INFO.harq_ind.number_of_harqs]; + pthread_mutex_lock (&eNB->UL_INFO_mutex); + nfapi_harq_indication_pdu_t *pdu = &eNB->UL_INFO.harq_ind.harq_pdu_list[eNB->UL_INFO.harq_ind.number_of_harqs]; - pdu->instance_length = 0; // don't know what to do with this + pdu->instance_length = 0; // don't know what to do with this // pdu->rx_ue_information.handle = handle; - pdu->rx_ue_information.rnti = uci->rnti; + pdu->rx_ue_information.rnti = uci->rnti; // estimate UL_CQI for MAC (from antenna port 0 only) - int SNRtimes10 = dB_fixed_times10(uci->stat) - 10*max(eNB->measurements.n0_subband_power_tot_dB[0], - eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL-1]); + int SNRtimes10 = dB_fixed_times10 (uci->stat) - 10 * max (eNB->measurements.n0_subband_power_tot_dB[0], + eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL - 1]); - if (SNRtimes10 < -100) LOG_I(PHY,"uci->stat %d \n",uci->stat); + if (SNRtimes10 < -100) + LOG_I (PHY, "uci->stat %d \n", uci->stat); - if (SNRtimes10 < -640) pdu->ul_cqi_information.ul_cqi=0; - else if (SNRtimes10 > 635) pdu->ul_cqi_information.ul_cqi=255; - else pdu->ul_cqi_information.ul_cqi=(640+SNRtimes10)/5; + if (SNRtimes10 < -640) + pdu->ul_cqi_information.ul_cqi = 0; + else if (SNRtimes10 > 635) + pdu->ul_cqi_information.ul_cqi = 255; + else + pdu->ul_cqi_information.ul_cqi = (640 + SNRtimes10) / 5; pdu->ul_cqi_information.channel = 0; if (eNB->frame_parms.frame_type == FDD) { if (uci->pucch_fmt == pucch_format1a) { - pdu->harq_indication_fdd_rel13.mode = 0; + pdu->harq_indication_fdd_rel13.mode = 0; pdu->harq_indication_fdd_rel13.number_of_ack_nack = 1; - - AssertFatal(harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[0] == 4, "harq_ack[0] is %d, should be 1,2 or 4\n",harq_ack[0]); + + AssertFatal (harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[0] == 4, "harq_ack[0] is %d, should be 1,2 or 4\n", harq_ack[0]); pdu->harq_indication_fdd_rel13.harq_tb_n[0] = harq_ack[0]; // release DLSCH if needed - if (harq_ack[0] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); + if (harq_ack[0] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); #if T_TRACER if (harq_ack[0] != 1) - T(T_ENB_PHY_DLSCH_UE_NACK, T_INT(0), T_INT(frame), T_INT(subframe), - T_INT(uci->rnti), T_INT(eNB->dlsch[UE_id][0]->harq_ids[(subframe+6)%10])); + T (T_ENB_PHY_DLSCH_UE_NACK, T_INT (0), T_INT (frame), T_INT (subframe), T_INT (uci->rnti), T_INT (eNB->dlsch[UE_id][0]->harq_ids[(subframe + 6) % 10])); else - T(T_ENB_PHY_DLSCH_UE_ACK, T_INT(0), T_INT(frame), T_INT(subframe), - T_INT(uci->rnti), T_INT(eNB->dlsch[UE_id][0]->harq_ids[(subframe+6)%10])); + T (T_ENB_PHY_DLSCH_UE_ACK, T_INT (0), T_INT (frame), T_INT (subframe), T_INT (uci->rnti), T_INT (eNB->dlsch[UE_id][0]->harq_ids[(subframe + 6) % 10])); #endif - } - else if (uci->pucch_fmt == pucch_format1b) { - pdu->harq_indication_fdd_rel13.mode = 0; + } else if (uci->pucch_fmt == pucch_format1b) { + pdu->harq_indication_fdd_rel13.mode = 0; pdu->harq_indication_fdd_rel13.number_of_ack_nack = 2; - AssertFatal(harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[1] == 4, "harq_ack[0] is %d, should be 0,1 or 4\n",harq_ack[0]); - AssertFatal(harq_ack[1] == 1 || harq_ack[1] == 2 || harq_ack[1] == 4, "harq_ack[1] is %d, should be 0,1 or 4\n",harq_ack[1]); + AssertFatal (harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[1] == 4, "harq_ack[0] is %d, should be 0,1 or 4\n", harq_ack[0]); + AssertFatal (harq_ack[1] == 1 || harq_ack[1] == 2 || harq_ack[1] == 4, "harq_ack[1] is %d, should be 0,1 or 4\n", harq_ack[1]); pdu->harq_indication_fdd_rel13.harq_tb_n[0] = harq_ack[0]; - pdu->harq_indication_fdd_rel13.harq_tb_n[1] = harq_ack[1]; + pdu->harq_indication_fdd_rel13.harq_tb_n[1] = harq_ack[1]; // release DLSCH if needed - if (harq_ack[0] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); - if (harq_ack[1] == 1) release_harq(eNB,UE_id,1,frame,subframe,0xffff); - } - else AssertFatal(1==0,"only format 1a/b for now, received %d\n",uci->pucch_fmt); - } - else { // TDD + if (harq_ack[0] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + if (harq_ack[1] == 1) + release_harq (eNB, UE_id, 1, frame, subframe, 0xffff); + } else + AssertFatal (1 == 0, "only format 1a/b for now, received %d\n", uci->pucch_fmt); + } else { // TDD - AssertFatal(tdd_mapping_mode==0 || tdd_mapping_mode==1 || tdd_mapping_mode==2, - "Illegal tdd_mapping_mode %d\n",tdd_mapping_mode); + AssertFatal (tdd_mapping_mode == 0 || tdd_mapping_mode == 1 || tdd_mapping_mode == 2, "Illegal tdd_mapping_mode %d\n", tdd_mapping_mode); - pdu->harq_indication_tdd_rel13.mode = tdd_mapping_mode; + pdu->harq_indication_tdd_rel13.mode = tdd_mapping_mode; switch (tdd_mapping_mode) { - case 0: // bundling + case 0: // bundling if (uci->pucch_fmt == pucch_format1a) { - pdu->harq_indication_tdd_rel13.number_of_ack_nack = 1; - AssertFatal(harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[0] == 4, "harq_ack[0] is %d, should be 1,2 or 4\n",harq_ack[0]); - pdu->harq_indication_tdd_rel13.harq_data[0].bundling.value_0 = harq_ack[0]; - // release all bundled DLSCH if needed - if (harq_ack[0] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); - } - else if (uci->pucch_fmt == pucch_format1b) { - pdu->harq_indication_tdd_rel13.number_of_ack_nack = 2; - AssertFatal(harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[1] == 4, "harq_ack[0] is %d, should be 0,1 or 4\n",harq_ack[0]); - AssertFatal(harq_ack[1] == 1 || harq_ack[1] == 2 || harq_ack[1] == 4, "harq_ack[1] is %d, should be 0,1 or 4\n",harq_ack[1]); - pdu->harq_indication_tdd_rel13.harq_data[0].bundling.value_0 = harq_ack[0]; - pdu->harq_indication_tdd_rel13.harq_data[1].bundling.value_0 = harq_ack[1]; - // release all DLSCH if needed - if (harq_ack[0] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); - if (harq_ack[1] == 1) release_harq(eNB,UE_id,1,frame,subframe,0xffff); + pdu->harq_indication_tdd_rel13.number_of_ack_nack = 1; + AssertFatal (harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[0] == 4, "harq_ack[0] is %d, should be 1,2 or 4\n", harq_ack[0]); + pdu->harq_indication_tdd_rel13.harq_data[0].bundling.value_0 = harq_ack[0]; + // release all bundled DLSCH if needed + if (harq_ack[0] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + } else if (uci->pucch_fmt == pucch_format1b) { + pdu->harq_indication_tdd_rel13.number_of_ack_nack = 2; + AssertFatal (harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[1] == 4, "harq_ack[0] is %d, should be 0,1 or 4\n", harq_ack[0]); + AssertFatal (harq_ack[1] == 1 || harq_ack[1] == 2 || harq_ack[1] == 4, "harq_ack[1] is %d, should be 0,1 or 4\n", harq_ack[1]); + pdu->harq_indication_tdd_rel13.harq_data[0].bundling.value_0 = harq_ack[0]; + pdu->harq_indication_tdd_rel13.harq_data[1].bundling.value_0 = harq_ack[1]; + // release all DLSCH if needed + if (harq_ack[0] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + if (harq_ack[1] == 1) + release_harq (eNB, UE_id, 1, frame, subframe, 0xffff); } break; - case 1: // multiplexing - AssertFatal(uci->pucch_fmt == pucch_format1b,"uci->pucch_format %d is not format1b\n",uci->pucch_fmt); - - if (uci->num_pucch_resources == 1 && uci->pucch_fmt == pucch_format1a) { - pdu->harq_indication_tdd_rel13.number_of_ack_nack = 1; - AssertFatal(harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[0] == 4, "harq_ack[0] is %d, should be 1,2 or 4\n",harq_ack[0]); - pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = harq_ack[0]; - // release all DLSCH if needed - if (harq_ack[0] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); - } - else if (uci->num_pucch_resources == 1 && uci->pucch_fmt == pucch_format1b) { - pdu->harq_indication_tdd_rel13.number_of_ack_nack = 2; - AssertFatal(harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[1] == 4, "harq_ack[0] is %d, should be 0,1 or 4\n",harq_ack[0]); - AssertFatal(harq_ack[1] == 1 || harq_ack[1] == 2 || harq_ack[1] == 4, "harq_ack[1] is %d, should be 0,1 or 4\n",harq_ack[1]); - pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = harq_ack[0]; - pdu->harq_indication_tdd_rel13.harq_data[1].multiplex.value_0 = harq_ack[1]; - // release all DLSCH if needed - if (harq_ack[0] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff); - if (harq_ack[1] == 1) release_harq(eNB,UE_id,1,frame,subframe,0xffff); - } - else { // num_pucch_resources (M) > 1 - pdu->harq_indication_tdd_rel13.number_of_ack_nack = uci->num_pucch_resources; + case 1: // multiplexing + AssertFatal (uci->pucch_fmt == pucch_format1b, "uci->pucch_format %d is not format1b\n", uci->pucch_fmt); - pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = harq_ack[0]; - pdu->harq_indication_tdd_rel13.harq_data[1].multiplex.value_0 = harq_ack[1]; - if (uci->num_pucch_resources == 3) pdu->harq_indication_tdd_rel13.harq_data[2].multiplex.value_0 = harq_ack[2]; - if (uci->num_pucch_resources == 4) pdu->harq_indication_tdd_rel13.harq_data[3].multiplex.value_0 = harq_ack[3]; - // spatial-bundling in this case so release both HARQ if necessary - release_harq(eNB,UE_id,0,frame,subframe,tdd_multiplexing_mask); - release_harq(eNB,UE_id,1,frame,subframe,tdd_multiplexing_mask); + if (uci->num_pucch_resources == 1 && uci->pucch_fmt == pucch_format1a) { + pdu->harq_indication_tdd_rel13.number_of_ack_nack = 1; + AssertFatal (harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[0] == 4, "harq_ack[0] is %d, should be 1,2 or 4\n", harq_ack[0]); + pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = harq_ack[0]; + // release all DLSCH if needed + if (harq_ack[0] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + } else if (uci->num_pucch_resources == 1 && uci->pucch_fmt == pucch_format1b) { + pdu->harq_indication_tdd_rel13.number_of_ack_nack = 2; + AssertFatal (harq_ack[0] == 1 || harq_ack[0] == 2 || harq_ack[1] == 4, "harq_ack[0] is %d, should be 0,1 or 4\n", harq_ack[0]); + AssertFatal (harq_ack[1] == 1 || harq_ack[1] == 2 || harq_ack[1] == 4, "harq_ack[1] is %d, should be 0,1 or 4\n", harq_ack[1]); + pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = harq_ack[0]; + pdu->harq_indication_tdd_rel13.harq_data[1].multiplex.value_0 = harq_ack[1]; + // release all DLSCH if needed + if (harq_ack[0] == 1) + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + if (harq_ack[1] == 1) + release_harq (eNB, UE_id, 1, frame, subframe, 0xffff); + } else { // num_pucch_resources (M) > 1 + pdu->harq_indication_tdd_rel13.number_of_ack_nack = uci->num_pucch_resources; + + pdu->harq_indication_tdd_rel13.harq_data[0].multiplex.value_0 = harq_ack[0]; + pdu->harq_indication_tdd_rel13.harq_data[1].multiplex.value_0 = harq_ack[1]; + if (uci->num_pucch_resources == 3) + pdu->harq_indication_tdd_rel13.harq_data[2].multiplex.value_0 = harq_ack[2]; + if (uci->num_pucch_resources == 4) + pdu->harq_indication_tdd_rel13.harq_data[3].multiplex.value_0 = harq_ack[3]; + // spatial-bundling in this case so release both HARQ if necessary + release_harq (eNB, UE_id, 0, frame, subframe, tdd_multiplexing_mask); + release_harq (eNB, UE_id, 1, frame, subframe, tdd_multiplexing_mask); } break; - case 2: // special bundling (SR collision) + case 2: // special bundling (SR collision) pdu->harq_indication_tdd_rel13.number_of_ack_nack = 1; - int tdd_config5_sf2scheds=0; - if (eNB->frame_parms.tdd_config==5) tdd_config5_sf2scheds = getM(eNB,frame,subframe); - + int tdd_config5_sf2scheds = 0; + if (eNB->frame_parms.tdd_config == 5) + tdd_config5_sf2scheds = getM (eNB, frame, subframe); + switch (harq_ack[0]) { case 0: - break; - case 1: // check if M=1,4,7 - if (uci->num_pucch_resources == 1 || uci->num_pucch_resources == 4 || - tdd_config5_sf2scheds == 1 || tdd_config5_sf2scheds == 4 || tdd_config5_sf2scheds == 7) { - release_harq(eNB,UE_id,0,frame,subframe,0xffff); - release_harq(eNB,UE_id,1,frame,subframe,0xffff); - } - break; - case 2: // check if M=2,5,8 - if (uci->num_pucch_resources == 2 || tdd_config5_sf2scheds == 2 || - tdd_config5_sf2scheds == 5 || tdd_config5_sf2scheds == 8) { - release_harq(eNB,UE_id,0,frame,subframe,0xffff); - release_harq(eNB,UE_id,1,frame,subframe,0xffff); - } - break; - case 3: // check if M=3,6,9 - if (uci->num_pucch_resources == 3 || tdd_config5_sf2scheds == 3 || - tdd_config5_sf2scheds == 6 || tdd_config5_sf2scheds == 9) { - release_harq(eNB,UE_id,0,frame,subframe,0xffff); - release_harq(eNB,UE_id,1,frame,subframe,0xffff); - } - break; + break; + case 1: // check if M=1,4,7 + if (uci->num_pucch_resources == 1 || uci->num_pucch_resources == 4 || tdd_config5_sf2scheds == 1 || tdd_config5_sf2scheds == 4 || tdd_config5_sf2scheds == 7) { + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + release_harq (eNB, UE_id, 1, frame, subframe, 0xffff); + } + break; + case 2: // check if M=2,5,8 + if (uci->num_pucch_resources == 2 || tdd_config5_sf2scheds == 2 || tdd_config5_sf2scheds == 5 || tdd_config5_sf2scheds == 8) { + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + release_harq (eNB, UE_id, 1, frame, subframe, 0xffff); + } + break; + case 3: // check if M=3,6,9 + if (uci->num_pucch_resources == 3 || tdd_config5_sf2scheds == 3 || tdd_config5_sf2scheds == 6 || tdd_config5_sf2scheds == 9) { + release_harq (eNB, UE_id, 0, frame, subframe, 0xffff); + release_harq (eNB, UE_id, 1, frame, subframe, 0xffff); + } + break; } break; } - } //TDD + } //TDD eNB->UL_INFO.harq_ind.number_of_harqs++; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); } -void fill_crc_indication(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe,uint8_t crc_flag) { +void +fill_crc_indication (PHY_VARS_eNB * eNB, int UE_id, int frame, int subframe, uint8_t crc_flag) +{ - pthread_mutex_lock(&eNB->UL_INFO_mutex); - nfapi_crc_indication_pdu_t *pdu = &eNB->UL_INFO.crc_ind.crc_pdu_list[eNB->UL_INFO.crc_ind.number_of_crcs]; + pthread_mutex_lock (&eNB->UL_INFO_mutex); + nfapi_crc_indication_pdu_t *pdu = &eNB->UL_INFO.crc_ind.crc_pdu_list[eNB->UL_INFO.crc_ind.number_of_crcs]; - pdu->instance_length = 0; // don't know what to do with this + pdu->instance_length = 0; // don't know what to do with this // pdu->rx_ue_information.handle = handle; - pdu->rx_ue_information.rnti = eNB->ulsch[UE_id]->rnti; - pdu->crc_indication_rel8.crc_flag = crc_flag; + pdu->rx_ue_information.rnti = eNB->ulsch[UE_id]->rnti; + pdu->crc_indication_rel8.crc_flag = crc_flag; eNB->UL_INFO.crc_ind.number_of_crcs++; - pthread_mutex_unlock(&eNB->UL_INFO_mutex); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); } -void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const relaying_type_t r_type) +void +phy_procedures_eNB_uespec_RX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, const relaying_type_t r_type) { //RX processing for ue-specific resources (i - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; - const int subframe = proc->subframe_rx; - const int frame = proc->frame_rx; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + const int subframe = proc->subframe_rx; + const int frame = proc->frame_rx; - if ((fp->frame_type == TDD) && (subframe_select(fp,subframe)!=SF_UL)) return; + if ((fp->frame_type == TDD) && (subframe_select (fp, subframe) != SF_UL)) + return; - T(T_ENB_PHY_UL_TICK, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe)); + T (T_ENB_PHY_UL_TICK, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe)); /* TODO: use correct rxdata */ - T(T_ENB_PHY_INPUT_SIGNAL, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(0), - T_BUFFER(&eNB->RU_list[0]->common.rxdata[0][subframe*eNB->frame_parms.samples_per_tti], - eNB->frame_parms.samples_per_tti * 4)); + T (T_ENB_PHY_INPUT_SIGNAL, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (0), + T_BUFFER (&eNB->RU_list[0]->common.rxdata[0][subframe * eNB->frame_parms.samples_per_tti], eNB->frame_parms.samples_per_tti * 4)); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC, 1 ); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC, 1); - LOG_D(PHY,"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)\n",eNB->Mod_id,frame, subframe); + LOG_D (PHY, "[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)\n", eNB->Mod_id, frame, subframe); - eNB->rb_mask_ul[0]=0; - eNB->rb_mask_ul[1]=0; - eNB->rb_mask_ul[2]=0; - eNB->rb_mask_ul[3]=0; + eNB->rb_mask_ul[0] = 0; + eNB->rb_mask_ul[1] = 0; + eNB->rb_mask_ul[2] = 0; + eNB->rb_mask_ul[3] = 0; // Fix me here, these should be locked - eNB->UL_INFO.rx_ind.number_of_pdus = 0; + eNB->UL_INFO.rx_ind.number_of_pdus = 0; eNB->UL_INFO.crc_ind.number_of_crcs = 0; // Call SRS first since all others depend on presence of SRS or lack thereof - srs_procedures(eNB,proc); + srs_procedures (eNB, proc); eNB->first_run_I0_measurements = 0; - uci_procedures(eNB,proc); + uci_procedures (eNB, proc); - pusch_procedures(eNB,proc); + pusch_procedures (eNB, proc); - lte_eNB_I0_measurements(eNB, - subframe, - 0, - eNB->first_run_I0_measurements); + lte_eNB_I0_measurements (eNB, subframe, 0, eNB->first_run_I0_measurements); - int min_I0=1000,max_I0=0; - if ((frame==0) && (subframe==2)) { - for (int i=0;iframe_parms.N_RB_UL;i++) { - if (i==(eNB->frame_parms.N_RB_UL>>1) - 1) i+=2; - - if (eNB->measurements.n0_subband_power_tot_dB[i]measurements.n0_subband_power_tot_dB[i]; - if (eNB->measurements.n0_subband_power_tot_dB[i]>max_I0) max_I0 = eNB->measurements.n0_subband_power_tot_dB[i]; + int min_I0 = 1000, max_I0 = 0; + if ((frame == 0) && (subframe == 2)) { + for (int i = 0; i < eNB->frame_parms.N_RB_UL; i++) { + if (i == (eNB->frame_parms.N_RB_UL >> 1) - 1) + i += 2; + + if (eNB->measurements.n0_subband_power_tot_dB[i] < min_I0) + min_I0 = eNB->measurements.n0_subband_power_tot_dB[i]; + if (eNB->measurements.n0_subband_power_tot_dB[i] > max_I0) + max_I0 = eNB->measurements.n0_subband_power_tot_dB[i]; } - LOG_I(PHY,"max_I0 %d, min_I0 %d\n",max_I0,min_I0); + LOG_I (PHY, "max_I0 %d, min_I0 %d\n", max_I0, min_I0); } - - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC, 0 ); - stop_meas(&eNB->phy_proc_rx); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC, 0); + + stop_meas (&eNB->phy_proc_rx); } - - - - diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index a876dfe3eb..26df2ea9c9 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -55,180 +55,181 @@ #include "pdcp.h" #if defined(ENABLE_ITTI) -# include "intertask_interface.h" +#include "intertask_interface.h" #endif -#include "SIMULATION/TOOLS/defs.h" // for taus +#include "SIMULATION/TOOLS/defs.h" // for taus #include "T.h" -void add_msg3(module_id_t module_idP,int CC_id, RA_TEMPLATE *RA_template, frame_t frameP, sub_frame_t subframeP) { +void +add_msg3 (module_id_t module_idP, int CC_id, RA_TEMPLATE * RA_template, frame_t frameP, sub_frame_t subframeP) +{ - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = &eNB->common_channels[CC_id]; - uint8_t j; - nfapi_ul_config_request_t *ul_req; - nfapi_ul_config_request_pdu_t *ul_config_pdu; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = &eNB->common_channels[CC_id]; + uint8_t j; + nfapi_ul_config_request_t *ul_req; + nfapi_ul_config_request_pdu_t *ul_config_pdu; nfapi_ul_config_request_body_t *ul_req_body; - nfapi_hi_dci0_request_body_t *hi_dci0_req; - nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu; + nfapi_hi_dci0_request_body_t *hi_dci0_req; + nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu; - uint8_t rvseq[4] = {0,2,3,1}; + uint8_t rvseq[4] = { 0, 2, 3, 1 }; - hi_dci0_req = &eNB->HI_DCI0_req[CC_id].hi_dci0_request_body; - ul_req = &eNB->UL_req_tmp[CC_id][RA_template->Msg3_subframe]; - ul_req_body = &ul_req->ul_config_request_body; - AssertFatal(RA_template->RA_active == TRUE,"RA is not active for RA %X\n",RA_template->rnti); + hi_dci0_req = &eNB->HI_DCI0_req[CC_id].hi_dci0_request_body; + ul_req = &eNB->UL_req_tmp[CC_id][RA_template->Msg3_subframe]; + ul_req_body = &ul_req->ul_config_request_body; + AssertFatal (RA_template->RA_active == TRUE, "RA is not active for RA %X\n", RA_template->rnti); #ifdef Rel14 - if (RA_template->rach_resource_type>0) { - LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n", - module_idP,frameP,subframeP,CC_id,RA_template->rach_resource_type-1, - RA_template->Msg3_frame,RA_template->Msg3_subframe); - LOG_D(MAC,"Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d) : (%d,%d)\n", - frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe,RA_template->msg3_nb_rb,RA_template->msg3_round); + if (RA_template->rach_resource_type > 0) { + LOG_D (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n", + module_idP, frameP, subframeP, CC_id, RA_template->rach_resource_type - 1, RA_template->Msg3_frame, RA_template->Msg3_subframe); + LOG_D (MAC, "Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d) : (%d,%d)\n", + frameP, subframeP, RA_template->Msg3_frame, RA_template->Msg3_subframe, RA_template->msg3_nb_rb, RA_template->msg3_round); - ul_config_pdu = &ul_req_body->ul_config_pdu_list[ul_req_body->number_of_pdus]; - - memset((void*)ul_config_pdu,0,sizeof(nfapi_ul_config_request_pdu_t)); - ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; - ul_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_ul_config_ulsch_pdu)); - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = narrowband_to_first_rb(cc,RA_template->msg34_narrowband)+RA_template->msg3_first_rb; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = RA_template->msg3_nb_rb; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = rvseq[RA_template->msg3_round]; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = ((10*RA_template->Msg3_frame)+RA_template->Msg3_subframe)&7; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL(RA_template->msg3_mcs, - RA_template->msg3_nb_rb); + ul_config_pdu = &ul_req_body->ul_config_pdu_list[ul_req_body->number_of_pdus]; + + memset ((void *) ul_config_pdu, 0, sizeof (nfapi_ul_config_request_pdu_t)); + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_ulsch_pdu)); + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = narrowband_to_first_rb (cc, RA_template->msg34_narrowband) + RA_template->msg3_first_rb; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = RA_template->msg3_nb_rb; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = rvseq[RA_template->msg3_round]; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = ((10 * RA_template->Msg3_frame) + RA_template->Msg3_subframe) & 7; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL (RA_template->msg3_mcs, RA_template->msg3_nb_rb); // Re13 fields - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.ue_type = RA_template->rach_resource_type>2 ? 2 : 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.total_number_of_repetitions = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.repetition_number = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.initial_transmission_sf_io = (RA_template->Msg3_frame*10)+RA_template->Msg3_subframe; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.ue_type = RA_template->rach_resource_type > 2 ? 2 : 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.total_number_of_repetitions = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.repetition_number = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel13.initial_transmission_sf_io = (RA_template->Msg3_frame * 10) + RA_template->Msg3_subframe; ul_req_body->number_of_pdus++; - } // if (RA_template->rach_resource_type>0) { + } // if (RA_template->rach_resource_type>0) { else #endif - { - LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA is active, Msg3 in (%d,%d)\n", - module_idP,frameP,subframeP,CC_id,RA_template->Msg3_frame,RA_template->Msg3_subframe); - - LOG_D(MAC,"Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d) : (%d,%d,%d)\n", - frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe, - RA_template->msg3_nb_rb,RA_template->msg3_first_rb,RA_template->msg3_round); - - ul_config_pdu = &ul_req_body->ul_config_pdu_list[ul_req_body->number_of_pdus]; - - memset((void*)ul_config_pdu,0,sizeof(nfapi_ul_config_request_pdu_t)); - ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; - ul_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_ul_config_ulsch_pdu)); - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = RA_template->msg3_first_rb; - AssertFatal(RA_template->msg3_nb_rb > 0, "nb_rb = 0\n"); - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = RA_template->msg3_nb_rb; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = rvseq[RA_template->msg3_round]; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = subframe2harqpid(cc,RA_template->Msg3_frame,RA_template->Msg3_subframe); - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL(10,RA_template->msg3_nb_rb); - ul_req_body->number_of_pdus++; + { + LOG_D (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA is active, Msg3 in (%d,%d)\n", module_idP, frameP, subframeP, CC_id, RA_template->Msg3_frame, RA_template->Msg3_subframe); + + LOG_D (MAC, "Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d) : (%d,%d,%d)\n", + frameP, subframeP, RA_template->Msg3_frame, RA_template->Msg3_subframe, RA_template->msg3_nb_rb, RA_template->msg3_first_rb, RA_template->msg3_round); + + ul_config_pdu = &ul_req_body->ul_config_pdu_list[ul_req_body->number_of_pdus]; + + memset ((void *) ul_config_pdu, 0, sizeof (nfapi_ul_config_request_pdu_t)); + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_ulsch_pdu)); + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = RA_template->rnti; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = RA_template->msg3_first_rb; + AssertFatal (RA_template->msg3_nb_rb > 0, "nb_rb = 0\n"); + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = RA_template->msg3_nb_rb; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.modulation_type = 2; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.cyclic_shift_2_for_drms = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_enabled_flag = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = rvseq[RA_template->msg3_round]; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = subframe2harqpid (cc, RA_template->Msg3_frame, RA_template->Msg3_subframe); + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.size = get_TBS_UL (10, RA_template->msg3_nb_rb); + ul_req_body->number_of_pdus++; + // save UL scheduling information for preprocessor + for (j = 0; j < RA_template->msg3_nb_rb; j++) + cc->vrb_map_UL[RA_template->msg3_first_rb + j] = 1; + + + if (RA_template->msg3_round != 0) { // program HI too + hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[hi_dci0_req->number_of_dci + hi_dci0_req->number_of_hi]; + memset ((void *) hi_dci0_pdu, 0, sizeof (nfapi_hi_dci0_request_pdu_t)); + hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_HI_PDU_TYPE; + hi_dci0_pdu->pdu_size = 2 + sizeof (nfapi_hi_dci0_hi_pdu); + hi_dci0_pdu->hi_pdu.hi_pdu_rel8.resource_block_start = RA_template->msg3_first_rb; + hi_dci0_pdu->hi_pdu.hi_pdu_rel8.cyclic_shift_2_for_drms = 0; + hi_dci0_pdu->hi_pdu.hi_pdu_rel8.hi_value = 0; + hi_dci0_req->number_of_hi++; // save UL scheduling information for preprocessor - for (j=0;jmsg3_nb_rb;j++) cc->vrb_map_UL[RA_template->msg3_first_rb+j]=1; - - - if (RA_template->msg3_round != 0) { // program HI too - hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[hi_dci0_req->number_of_dci+hi_dci0_req->number_of_hi]; - memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); - hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_HI_PDU_TYPE; - hi_dci0_pdu->pdu_size = 2+sizeof(nfapi_hi_dci0_hi_pdu); - hi_dci0_pdu->hi_pdu.hi_pdu_rel8.resource_block_start = RA_template->msg3_first_rb; - hi_dci0_pdu->hi_pdu.hi_pdu_rel8.cyclic_shift_2_for_drms = 0; - hi_dci0_pdu->hi_pdu.hi_pdu_rel8.hi_value = 0; - hi_dci0_req->number_of_hi++; - // save UL scheduling information for preprocessor - for (j=0;jmsg3_nb_rb;j++) cc->vrb_map_UL[RA_template->msg3_first_rb+j]=1; - - LOG_D(MAC,"[eNB %d][PUSCH-RA %x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) RA (mcs %d, first rb %d, nb_rb %d,round %d)\n", - module_idP,RA_template->rnti,CC_id,frameP,subframeP,10, - 1,1, - RA_template->msg3_round-1); - } // if (RA_template->msg3_round != 0) { // program HI too - } // non-BL/CE UE case + for (j = 0; j < RA_template->msg3_nb_rb; j++) + cc->vrb_map_UL[RA_template->msg3_first_rb + j] = 1; + + LOG_D (MAC, "[eNB %d][PUSCH-RA %x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) RA (mcs %d, first rb %d, nb_rb %d,round %d)\n", + module_idP, RA_template->rnti, CC_id, frameP, subframeP, 10, 1, 1, RA_template->msg3_round - 1); + } // if (RA_template->msg3_round != 0) { // program HI too + } // non-BL/CE UE case } -void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t subframeP,RA_TEMPLATE *RA_template) { +void +generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t subframeP, RA_TEMPLATE * RA_template) +{ - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - - uint8_t *vrb_map; - int first_rb; - int N_RB_DL; - nfapi_dl_config_request_pdu_t *dl_config_pdu; - nfapi_tx_request_pdu_t *TX_req; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + + uint8_t *vrb_map; + int first_rb; + int N_RB_DL; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_tx_request_pdu_t *TX_req; nfapi_dl_config_request_body_t *dl_req; - vrb_map = cc[CC_idP].vrb_map; - dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); + vrb_map = cc[CC_idP].vrb_map; + dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + N_RB_DL = to_prb (cc[CC_idP].mib->message.dl_Bandwidth); #ifdef Rel14 - int rmax = 0; - int rep = 0; - int reps = 0; - int num_nb = 0; + int rmax = 0; + int rep = 0; + int reps = 0; + int num_nb = 0; - first_rb = 0; + first_rb = 0; struct PRACH_ConfigSIB_v1310 *ext4_prach; PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; - PRACH_ParametersCE_r13_t *p[4]={NULL,NULL,NULL,NULL}; + PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL }; - uint16_t absSF = (10*frameP)+subframeP; - uint16_t absSF_Msg2 = (10*RA_template->Msg2_frame)+RA_template->Msg2_subframe; + uint16_t absSF = (10 * frameP) + subframeP; + uint16_t absSF_Msg2 = (10 * RA_template->Msg2_frame) + RA_template->Msg2_subframe; + + if (absSF > absSF_Msg2) + return; // we're not ready yet, need to be to start == - if (absSF>absSF_Msg2) return; // we're not ready yet, need to be to start == - if (cc[CC_idP].radioResourceConfigCommon_BR) { - ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; - + switch (prach_ParametersListCE_r13->list.count) { case 4: - p[3]=prach_ParametersListCE_r13->list.array[3]; + p[3] = prach_ParametersListCE_r13->list.array[3]; case 3: - p[2]=prach_ParametersListCE_r13->list.array[2]; + p[2] = prach_ParametersListCE_r13->list.array[2]; case 2: - p[1]=prach_ParametersListCE_r13->list.array[1]; + p[1] = prach_ParametersListCE_r13->list.array[1]; case 1: - p[0]=prach_ParametersListCE_r13->list.array[0]; + p[0] = prach_ParametersListCE_r13->list.array[0]; break; default: - AssertFatal(1==0,"Illegal count for prach_ParametersListCE_r13 %d\n",(int)prach_ParametersListCE_r13->list.count); + AssertFatal (1 == 0, "Illegal count for prach_ParametersListCE_r13 %d\n", (int) prach_ParametersListCE_r13->list.count); break; } } if (RA_template->rach_resource_type > 0) { - + // This uses an MPDCCH Type 2 common allocation according to Section 9.1.5 36-213 // Parameters: // p=2+4 PRB set (number of PRB pairs 3) @@ -236,369 +237,351 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t // if CELevel = 0,1 => Table 9.1.5-1b for MPDCCH candidates // if CELevel = 2,3 => Table 9.1.5-2b for MPDCCH candidates // distributed transmission - + // rmax from SIB2 information - AssertFatal(rmax<9,"rmax>8!\n"); - rmax = 1<rach_resource_type-1]->mpdcch_NumRepetition_RA_r13; + AssertFatal (rmax < 9, "rmax>8!\n"); + rmax = 1 << p[RA_template->rach_resource_type - 1]->mpdcch_NumRepetition_RA_r13; // choose r1 by default for RAR (Table 9.1.5-5) - rep = 0; + rep = 0; // get actual repetition count from Table 9.1.5-3 - reps = (rmax<=8)?(1<>(3-rep)); + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); // get narrowband according to higher-layer config - num_nb = p[RA_template->rach_resource_type-1]->mpdcch_NarrowbandsToMonitor_r13.list.count; - RA_template->msg2_narrowband = *p[RA_template->rach_resource_type-1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index%num_nb]; - first_rb = narrowband_to_first_rb(&cc[CC_idP],RA_template->msg2_narrowband); - - if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2,-1)>0)){ + num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; + RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index % num_nb]; + first_rb = narrowband_to_first_rb (&cc[CC_idP], RA_template->msg2_narrowband); + + if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { // MPDCCH configuration for RAR - LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming MPDCCH %d repetitions\n", - module_idP,frameP,subframeP,reps); - - - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13!=NULL, - "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP*10)+subframeP; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6,0,6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming MPDCCH %d repetitions\n", module_idP, frameP, subframeP, reps); + + + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; RA_template->msg2_mpdcch_repetition_cnt++; dl_req->number_pdu++; - RA_template->Msg2_subframe = (RA_template->Msg2_subframe+9)%10; + RA_template->Msg2_subframe = (RA_template->Msg2_subframe + 9) % 10; - } //repetition_count==0 && SF condition met - if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions + } //repetition_count==0 && SF condition met + if (RA_template->msg2_mpdcch_repetition_cnt > 0) { // we're in a stream of repetitions - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", - module_idP,frameP,subframeP,RA_template->msg2_mpdcch_repetition_cnt); - if (RA_template->msg2_mpdcch_repetition_cnt==reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config==NULL) { // FDD case - // wait 2 subframes for PDSCH transmission - if (subframeP>7) RA_template->Msg2_frame = (frameP+1)&1023; - else RA_template->Msg2_frame = frameP; - RA_template->Msg2_subframe = (subframeP+2)%10; // +2 is the "n+x" from Section 7.1.11 in 36.213 - } - else { - AssertFatal(1==0,"TDD case not done yet\n"); - } - }// mpdcch_repetition_count == reps + if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP > 7) + RA_template->Msg2_frame = (frameP + 1) & 1023; + else + RA_template->Msg2_frame = frameP; + RA_template->Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, programmed Msg2 for %d.%d\n", module_idP, frameP, subframeP, RA_template->Msg2_frame,RA_template->Msg2_subframe); + } else { + AssertFatal (1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps else { - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", - module_idP,frameP,subframeP,RA_template->msg2_mpdcch_repetition_cnt); - RA_template->msg2_mpdcch_repetition_cnt++; + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", module_idP, frameP, subframeP, RA_template->msg2_mpdcch_repetition_cnt); + RA_template->msg2_mpdcch_repetition_cnt++; } if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - // Program PDSCH - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming PDSCH %d\n", - module_idP,frameP,subframeP); - RA_template->generate_rar = 0; - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,6); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + // Program PDSCH + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming PDSCH %d\n", module_idP, frameP, subframeP); + RA_template->generate_rar = 0; - // Rel10 fields - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - // Rel13 fields - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10*frameP)+subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - // Program UL processing for Msg3, same as regular LTE - get_Msg3alloc(&cc[CC_idP],subframeP,frameP,&RA_template->Msg3_frame,&RA_template->Msg3_subframe); - add_msg3(module_idP,CC_idP, RA_template,frameP,subframeP); - fill_rar_br(eNB,CC_idP,RA_template,frameP,subframeP,cc[CC_idP].RAR_pdu.payload,RA_template->rach_resource_type-1); - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP<<4)+subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = 7; - TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV (N_RB_DL, first_rb, 6); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + // Rel10 fields + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + // Rel13 fields + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2;; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // Program UL processing for Msg3, same as regular LTE + get_Msg3alloc (&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + add_msg3 (module_idP, CC_idP, RA_template, frameP, subframeP); + fill_rar_br (eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = 7; + TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; } - } - - } - else + } + + } else #endif - { + { - if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { - LOG_I(MAC,"[eNB %d] CC_id %d Frame %d, subframeP %d: Generating RAR DCI, RA_active %d format 1A (%d,%d))\n", - module_idP, CC_idP, frameP, subframeP, - RA_template->RA_active, - - RA_template->RA_dci_fmt1, - RA_template->RA_dci_size_bits1); + if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { + LOG_I (MAC, "[eNB %d] CC_id %d Frame %d, subframeP %d: Generating RAR DCI, RA_active %d format 1A (%d,%d))\n", + module_idP, CC_idP, frameP, subframeP, RA_template->RA_active, RA_template->RA_dci_fmt1, RA_template->RA_dci_size_bits1); - // Allocate 4 PRBS starting in RB 0 - first_rb = 0; - vrb_map[first_rb] = 1; - vrb_map[first_rb+1] = 1; - vrb_map[first_rb+2] = 1; - vrb_map[first_rb+3] = 1; - - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dci_dl_pdu)); - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1A; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = 4; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 2; // RA-RNTI : see Table 4-10 from SCF082 - nFAPI specifications - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = 0; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // no TPC - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = 0; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.virtual_resource_block_assignment_flag = 0; - - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,4); + // Allocate 4 PRBS starting in RB 0 + first_rb = 0; + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; - // This checks if the above DCI allocation is feasible in current subframe - if (!CCE_allocation_infeasible(module_idP,CC_idP,0,subframeP,dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level,RA_template->RA_rnti)) { - LOG_D(MAC,"Frame %d: Subframe %d : Adding common DCI for RA_RNTI %x\n", - frameP,subframeP,RA_template->RA_rnti); - dl_req->number_dci++; - dl_req->number_pdu++; - - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,4); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - dl_req->number_pdu++; - - // Program UL processing for Msg3 - get_Msg3alloc(&cc[CC_idP],subframeP,frameP,&RA_template->Msg3_frame,&RA_template->Msg3_subframe); - LOG_D(MAC,"Frame %d, Subframe %d: Setting Msg3 reception for Frame %d Subframe %d\n", - frameP,subframeP,RA_template->Msg3_frame,RA_template->Msg3_subframe); - - fill_rar(module_idP,CC_idP,frameP,cc[CC_idP].RAR_pdu.payload,N_RB_DL,7); - add_msg3(module_idP,CC_idP, RA_template,frameP,subframeP); + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dci_dl_pdu)); + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.dci_format = NFAPI_DL_DCI_FORMAT_1A; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level = 4; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type = 2; // RA-RNTI : see Table 4-10 from SCF082 - nFAPI specifications + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.transmission_power = 6000; // equal to RS power - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP<<4)+subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = 7; - TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; - } // PDCCH CCE allocation is feasible - } // Msg2 frame/subframe condition - } // else BL/CE + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process = 0; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.tpc = 1; // no TPC + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.new_data_indicator_1 = 1; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.mcs_1 = 0; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.redundancy_version_1 = 0; + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.virtual_resource_block_assignment_flag = 0; + + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding = getRIV (N_RB_DL, first_rb, 4); + + // This checks if the above DCI allocation is feasible in current subframe + if (!CCE_allocation_infeasible (module_idP, CC_idP, 0, subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, RA_template->RA_rnti)) { + LOG_D (MAC, "Frame %d: Subframe %d : Adding common DCI for RA_RNTI %x\n", frameP, subframeP, RA_template->RA_rnti); + dl_req->number_dci++; + dl_req->number_pdu++; + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->RA_rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV (N_RB_DL, first_rb, 4); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + dl_req->number_pdu++; + + // Program UL processing for Msg3 + get_Msg3alloc (&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); + LOG_D (MAC, "Frame %d, Subframe %d: Setting Msg3 reception for Frame %d Subframe %d\n", frameP, subframeP, RA_template->Msg3_frame, RA_template->Msg3_subframe); + + fill_rar (module_idP, CC_idP, frameP, cc[CC_idP].RAR_pdu.payload, N_RB_DL, 7); + add_msg3 (module_idP, CC_idP, RA_template, frameP, subframeP); + + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = 7; + TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + } // PDCCH CCE allocation is feasible + } // Msg2 frame/subframe condition + } // else BL/CE } -void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t subframeP,RA_TEMPLATE *RA_template){ +void +generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t subframeP, RA_TEMPLATE * RA_template) +{ - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - int16_t rrc_sdu_length; - int UE_id = -1; - uint16_t msg4_padding; - uint16_t msg4_post_padding; - uint16_t msg4_header; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + int16_t rrc_sdu_length; + int UE_id = -1; + uint16_t msg4_padding; + uint16_t msg4_post_padding; + uint16_t msg4_header; - uint8_t *vrb_map; - int first_rb; - int N_RB_DL; - nfapi_dl_config_request_pdu_t *dl_config_pdu; - nfapi_ul_config_request_pdu_t *ul_config_pdu; - nfapi_tx_request_pdu_t *TX_req; - UE_list_t *UE_list=&eNB->UE_list; + uint8_t *vrb_map; + int first_rb; + int N_RB_DL; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_ul_config_request_pdu_t *ul_config_pdu; + nfapi_tx_request_pdu_t *TX_req; + UE_list_t *UE_list = &eNB->UE_list; nfapi_dl_config_request_body_t *dl_req; nfapi_ul_config_request_body_t *ul_req; - uint8_t lcid; - uint8_t offset; + uint8_t lcid; + uint8_t offset; #ifdef Rel14 - int rmax = 0; - int rep = 0; - int reps = 0; + int rmax = 0; + int rep = 0; + int reps = 0; - first_rb = 0; + first_rb = 0; struct PRACH_ConfigSIB_v1310 *ext4_prach; struct PUCCH_ConfigCommon_v1310 *ext4_pucch; PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; struct N1PUCCH_AN_InfoList_r13 *pucch_N1PUCCH_AN_InfoList_r13; - PRACH_ParametersCE_r13_t *p[4]={NULL,NULL,NULL,NULL}; - int pucchreps[4]={1,1,1,1}; - int n1pucchan[4]={0,0,0,0}; + PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL }; + int pucchreps[4] = { 1, 1, 1, 1 }; + int n1pucchan[4] = { 0, 0, 0, 0 }; if (cc[CC_idP].radioResourceConfigCommon_BR) { - ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; - ext4_pucch = cc[CC_idP].radioResourceConfigCommon_BR->ext4->pucch_ConfigCommon_v1310; - prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; + ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + ext4_pucch = cc[CC_idP].radioResourceConfigCommon_BR->ext4->pucch_ConfigCommon_v1310; + prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; pucch_N1PUCCH_AN_InfoList_r13 = ext4_pucch->n1PUCCH_AN_InfoList_r13; - AssertFatal(prach_ParametersListCE_r13!=NULL,"prach_ParametersListCE_r13 is null\n"); - AssertFatal(pucch_N1PUCCH_AN_InfoList_r13!=NULL,"pucch_N1PUCCH_AN_InfoList_r13 is null\n"); + AssertFatal (prach_ParametersListCE_r13 != NULL, "prach_ParametersListCE_r13 is null\n"); + AssertFatal (pucch_N1PUCCH_AN_InfoList_r13 != NULL, "pucch_N1PUCCH_AN_InfoList_r13 is null\n"); // check to verify CE-Level compatibility in SIB2_BR - AssertFatal(prach_ParametersListCE_r13->list.count == pucch_N1PUCCH_AN_InfoList_r13->list.count, - "prach_ParametersListCE_r13->list.count!= pucch_N1PUCCH_AN_InfoList_r13->list.count\n"); + AssertFatal (prach_ParametersListCE_r13->list.count == pucch_N1PUCCH_AN_InfoList_r13->list.count, "prach_ParametersListCE_r13->list.count!= pucch_N1PUCCH_AN_InfoList_r13->list.count\n"); switch (prach_ParametersListCE_r13->list.count) { case 4: - p[3] = prach_ParametersListCE_r13->list.array[3]; - n1pucchan[3] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[3]; - AssertFatal(ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13!=NULL,"pucch_NumRepetitionCE_Msg4_Level3 shouldn't be NULL\n"); - pucchreps[3] = (int)(4<<*ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13); - + p[3] = prach_ParametersListCE_r13->list.array[3]; + n1pucchan[3] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[3]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level3 shouldn't be NULL\n"); + pucchreps[3] = (int) (4 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13); + case 3: - p[2] = prach_ParametersListCE_r13->list.array[2]; - n1pucchan[2] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[2]; - AssertFatal(ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13!=NULL,"pucch_NumRepetitionCE_Msg4_Level2 shouldn't be NULL\n"); - pucchreps[2] = (int)(4<<*ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13); + p[2] = prach_ParametersListCE_r13->list.array[2]; + n1pucchan[2] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[2]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level2 shouldn't be NULL\n"); + pucchreps[2] = (int) (4 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13); case 2: - p[1] =prach_ParametersListCE_r13->list.array[1]; - n1pucchan[1] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[1]; - AssertFatal(ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13!=NULL,"pucch_NumRepetitionCE_Msg4_Level1 shouldn't be NULL\n"); - pucchreps[1] = (int)(1<<*ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13); + p[1] = prach_ParametersListCE_r13->list.array[1]; + n1pucchan[1] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[1]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level1 shouldn't be NULL\n"); + pucchreps[1] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13); case 1: - p[0] = prach_ParametersListCE_r13->list.array[0]; - n1pucchan[0] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[0]; - AssertFatal(ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13!=NULL,"pucch_NumRepetitionCE_Msg4_Level0 shouldn't be NULL\n"); - pucchreps[0] = (int)(1<<*ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13); + p[0] = prach_ParametersListCE_r13->list.array[0]; + n1pucchan[0] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[0]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level0 shouldn't be NULL\n"); + pucchreps[0] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13); default: - AssertFatal(1==0,"Illegal count for prach_ParametersListCE_r13 %d\n",prach_ParametersListCE_r13->list.count); + AssertFatal (1 == 0, "Illegal count for prach_ParametersListCE_r13 %d\n", prach_ParametersListCE_r13->list.count); } } #endif - vrb_map = cc[CC_idP].vrb_map; - - dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); + vrb_map = cc[CC_idP].vrb_map; + + dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + N_RB_DL = to_prb (cc[CC_idP].mib->message.dl_Bandwidth); + + UE_id = find_UE_id (module_idP, RA_template->rnti); + AssertFatal (UE_id >= 0, "Can't find UE for t-crnti\n"); - UE_id = find_UE_id(module_idP,RA_template->rnti); - AssertFatal(UE_id>=0,"Can't find UE for t-crnti\n"); - // set HARQ process round to 0 for this UE - - if (cc->tdd_Config) RA_template->harq_pid = ((frameP*10)+subframeP)%10; - else RA_template->harq_pid = ((frameP*10)+subframeP)&7; - + if (cc->tdd_Config) + RA_template->harq_pid = ((frameP * 10) + subframeP) % 10; + else + RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; + + // Get RRCConnectionSetup for Piggyback - rrc_sdu_length = mac_rrc_data_req(module_idP, - CC_idP, - frameP, - CCCH, - 1, // 1 transport block - &cc[CC_idP].CCCH_pdu.payload[0], - ENB_FLAG_YES, - module_idP, - 0); // not used in this case - - AssertFatal(rrc_sdu_length>0, - "[MAC][eNB Scheduler] CCCH not allocated\n"); - - - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d\n", - module_idP, CC_idP, frameP, subframeP,UE_id, rrc_sdu_length); - - + rrc_sdu_length = mac_rrc_data_req (module_idP, CC_idP, frameP, CCCH, 1, // 1 transport block + &cc[CC_idP].CCCH_pdu.payload[0], ENB_FLAG_YES, module_idP, 0); // not used in this case + + AssertFatal (rrc_sdu_length > 0, "[MAC][eNB Scheduler] CCCH not allocated\n"); + + + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, rrc_sdu_length); + + #ifdef Rel14 - if (RA_template->rach_resource_type>0) { - + if (RA_template->rach_resource_type > 0) { + // Generate DCI + repetitions first // This uses an MPDCCH Type 2 allocation according to Section 9.1.5 36-213, Type2 common allocation according to Table 7.1-8 (36-213) // Parameters: @@ -607,694 +590,647 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t // if CELevel = 0,1 => Table 9.1.5-1b for MPDCCH candidates // if CELevel = 2,3 => Table 9.1.5-2b for MPDCCH candidates // distributed transmission - + // rmax from SIB2 information - rmax = p[RA_template->rach_resource_type-1]->mpdcch_NumRepetition_RA_r13; - AssertFatal(rmax>=4,"choose rmax>=4 for enough repeititions, or reduce rep to 1 or 2\n"); + rmax = p[RA_template->rach_resource_type - 1]->mpdcch_NumRepetition_RA_r13; + AssertFatal (rmax >= 4, "choose rmax>=4 for enough repeititions, or reduce rep to 1 or 2\n"); // choose r3 by default for Msg4 (this is ok from table 9.1.5-3 for rmax = >=4, if we choose rmax <4 it has to be less - rep = 2; + rep = 2; // get actual repetition count from Table 9.1.5-3 - reps = (rmax<=8)?(1<>(3-rep)); + reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); // get first narrowband - first_rb = narrowband_to_first_rb(&cc[CC_idP],RA_template->msg34_narrowband); + first_rb = narrowband_to_first_rb (&cc[CC_idP], RA_template->msg34_narrowband); - if ((RA_template->msg4_mpdcch_repetition_cnt == 0) && - (mpdcch_sf_condition(eNB,CC_idP,frameP,subframeP,rmax,TYPE2,-1)>0)){ + if ((RA_template->msg4_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { // MPDCCH configuration for RAR - - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_mpdcch_pdu)); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg34_narrowband; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; - AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13!=NULL, - "cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 0; // t-C-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; /// Check this is still N_id_cell for type2 common - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP*10)+subframeP; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6,0,6);// check if not getRIV(N_RB_DL,first_rb,6); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of Msg4, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = RA_template->harq_pid; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1;// N1A_PRB=3; => 208 bits - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg34_narrowband; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; + AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 0; // t-C-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; /// Check this is still N_id_cell for type2 common + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); // check if not getRIV(N_RB_DL,first_rb,6); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of Msg4, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = RA_template->harq_pid; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3; => 208 bits + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; RA_template->msg4_mpdcch_repetition_cnt++; dl_req->number_pdu++; - - } //repetition_count==0 && SF condition met - else if (RA_template->msg4_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - RA_template->msg4_mpdcch_repetition_cnt++; - if (RA_template->msg4_mpdcch_repetition_cnt==reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config==NULL) { // FDD case - // wait 2 subframes for PDSCH transmission - if (subframeP>7) RA_template->Msg4_frame = (frameP+1)&1023; - else RA_template->Msg4_frame = frameP; - RA_template->Msg4_subframe = (subframeP+2)%10; - } - else { - AssertFatal(1==0,"TDD case not done yet\n"); - } - } // mpdcch_repetition_count == reps + + } //repetition_count==0 && SF condition met + else if (RA_template->msg4_mpdcch_repetition_cnt > 0) { // we're in a stream of repetitions + RA_template->msg4_mpdcch_repetition_cnt++; + if (RA_template->msg4_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + // wait 2 subframes for PDSCH transmission + if (subframeP > 7) + RA_template->Msg4_frame = (frameP + 1) & 1023; + else + RA_template->Msg4_frame = frameP; + RA_template->Msg4_subframe = (subframeP + 2) % 10; + } else { + AssertFatal (1 == 0, "TDD case not done yet\n"); + } + } // mpdcch_repetition_count == reps if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { - - // Program PDSCH - - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 BR with RRC Piggyback (ce_level %d RNTI %x)\n", - module_idP, CC_idP, frameP, subframeP,RA_template->rach_resource_type-1,RA_template->rnti); - AssertFatal(1==0,"Msg4 generation not finished for BL/CE UE\n"); - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset((void*)dl_config_pdu,0,sizeof(nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV(N_RB_DL,first_rb,6); // check that this isn't getRIV(6,0,6) - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1;// first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB==1 ) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize(cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB==1 ) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + // Program PDSCH - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10*frameP)+subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - RA_template->generate_Msg4=0; - RA_template->wait_ack_Msg4=1; + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 BR with RRC Piggyback (ce_level %d RNTI %x)\n", + module_idP, CC_idP, frameP, subframeP, RA_template->rach_resource_type - 1, RA_template->rnti); - lcid=0; - - UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; - msg4_header = 1+6+1; // CR header, CR CE, SDU header - - if ((RA_template->msg4_TBsize - rrc_sdu_length - msg4_header) <= 2) { - msg4_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header; - msg4_post_padding = 0; - } else { - msg4_padding = 0; - msg4_post_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header -1; - } - - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", - module_idP,CC_idP,frameP,subframeP,RA_template->msg4_TBsize,rrc_sdu_length,msg4_header,msg4_padding,msg4_post_padding); - DevAssert( UE_id != UE_INDEX_INVALID ); // FIXME not sure how to gracefully return - // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] - offset = generate_dlsch_header((unsigned char*)eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0], - 1, //num_sdus - (unsigned short*)&rrc_sdu_length, // - &lcid, // sdu_lcid - 255, // no drx - 31, // no timing advance - RA_template->cont_res_id, // contention res id - msg4_padding, // no padding - msg4_post_padding); - - memcpy((void*)&eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0][(unsigned char)offset], - &cc[CC_idP].CCCH_pdu.payload[0], - rrc_sdu_length); - - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP<<4)+subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = rrc_sdu_length; - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = rrc_sdu_length; - TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0]; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + AssertFatal (1 == 0, "Msg4 generation not finished for BL/CE UE\n"); + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV (N_RB_DL, first_rb, 6); // check that this isn't getRIV(6,0,6) + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - // Program ACK/NAK for Msg4 PDSCH - int absSF = (RA_template->Msg3_frame*10)+RA_template->Msg3_subframe; - // see Section 10.2 from 36.213 - int ackNAK_absSF = absSF + reps + 4; - AssertFatal(reps>2,"Have to handle programming of ACK when PDSCH repetitions is > 2\n"); - ul_req = &eNB->UL_req_tmp[CC_idP][ackNAK_absSF%10].ul_config_request_body; - ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; - ul_config_pdu->pdu_size = (uint8_t)(2+sizeof(nfapi_ul_config_uci_harq_pdu)); - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.handle = 0; // don't know how to use this - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti = RA_template->rnti; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.empty_symbols = 0; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions = pucchreps[RA_template->rach_resource_type-1]; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.repetition_number = 0; - // Note need to keep sending this across reptitions!!!! Not really for PUCCH, to ask small-cell forum, we'll see for the other messages, maybe parameters change across repetitions and FAPI has to provide for that - if (cc[CC_idP].tdd_Config==NULL) { // FDD case - ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel8_fdd.n_pucch_1_0 = n1pucchan[RA_template->rach_resource_type-1]; - // NOTE: How to fill in the rest of the n_pucch_1_0 information 213 Section 10.1.2.1 in the general case - // = N_ECCE_q + Delta_ARO + n1pucchan[ce_level] - // higher in the MPDCCH configuration, N_ECCE_q is hard-coded to 0, and harq resource offset to 0 => - // Delta_ARO = 0 from Table 10.1.2.1-1 - ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel8_fdd.harq_size = 1; // 1-bit ACK/NAK - } - else { - AssertFatal(1==0,"PUCCH configuration for ACK/NAK not handled yet for TDD BL/CE case\n"); - } - ul_req->number_of_pdus++; - T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_idP), T_INT(RA_template->rnti), T_INT(frameP), T_INT(subframeP), - T_INT(0 /*harq_pid always 0?*/), T_BUFFER(&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); - - if (opt_enabled==1) { - trace_pdu(1, (uint8_t *)eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0], - rrc_sdu_length, UE_id, 3, UE_RNTI(module_idP, UE_id), - eNB->frame, eNB->subframe,0,0); - LOG_D(OPT,"[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", - module_idP, CC_idP, frameP, UE_RNTI(module_idP,UE_id), rrc_sdu_length); - } - } // Msg4 frame/subframe - } // msg4_mpdcch_repetition_count - } // rach_resource_type > 0 + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + RA_template->generate_Msg4 = 0; + RA_template->wait_ack_Msg4 = 1; + + lcid = 0; + + UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; + msg4_header = 1 + 6 + 1; // CR header, CR CE, SDU header + + if ((RA_template->msg4_TBsize - rrc_sdu_length - msg4_header) <= 2) { + msg4_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header; + msg4_post_padding = 0; + } else { + msg4_padding = 0; + msg4_post_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header - 1; + } + + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", + module_idP, CC_idP, frameP, subframeP, RA_template->msg4_TBsize, rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); + DevAssert (UE_id != UE_INDEX_INVALID); // FIXME not sure how to gracefully return + // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] + offset = generate_dlsch_header ((unsigned char *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus + (unsigned short *) &rrc_sdu_length, // + &lcid, // sdu_lcid + 255, // no drx + 31, // no timing advance + RA_template->cont_res_id, // contention res id + msg4_padding, // no padding + msg4_post_padding); + + memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], rrc_sdu_length); + + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = rrc_sdu_length; + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = rrc_sdu_length; + TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + + // Program ACK/NAK for Msg4 PDSCH + int absSF = (RA_template->Msg3_frame * 10) + RA_template->Msg3_subframe; + // see Section 10.2 from 36.213 + int ackNAK_absSF = absSF + reps + 4; + AssertFatal (reps > 2, "Have to handle programming of ACK when PDSCH repetitions is > 2\n"); + ul_req = &eNB->UL_req_tmp[CC_idP][ackNAK_absSF % 10].ul_config_request_body; + ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_uci_harq_pdu)); + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.handle = 0; // don't know how to use this + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti = RA_template->rnti; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.empty_symbols = 0; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions = pucchreps[RA_template->rach_resource_type - 1]; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.repetition_number = 0; + // Note need to keep sending this across reptitions!!!! Not really for PUCCH, to ask small-cell forum, we'll see for the other messages, maybe parameters change across repetitions and FAPI has to provide for that + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel8_fdd.n_pucch_1_0 = n1pucchan[RA_template->rach_resource_type - 1]; + // NOTE: How to fill in the rest of the n_pucch_1_0 information 213 Section 10.1.2.1 in the general case + // = N_ECCE_q + Delta_ARO + n1pucchan[ce_level] + // higher in the MPDCCH configuration, N_ECCE_q is hard-coded to 0, and harq resource offset to 0 => + // Delta_ARO = 0 from Table 10.1.2.1-1 + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel8_fdd.harq_size = 1; // 1-bit ACK/NAK + } else { + AssertFatal (1 == 0, "PUCCH configuration for ACK/NAK not handled yet for TDD BL/CE case\n"); + } + ul_req->number_of_pdus++; + T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_idP), T_INT (RA_template->rnti), T_INT (frameP), T_INT (subframeP), + T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); + + if (opt_enabled == 1) { + trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); + LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), rrc_sdu_length); + } + } // Msg4 frame/subframe + } // msg4_mpdcch_repetition_count + } // rach_resource_type > 0 else #endif - { // This is normal LTE case - if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 with RRC Piggyback (RNTI %x)\n", - module_idP, CC_idP, frameP, subframeP,RA_template->rnti); - - /// Choose first 4 RBs for Msg4, should really check that these are free! - first_rb=0; - - vrb_map[first_rb] = 1; - vrb_map[first_rb+1] = 1; - vrb_map[first_rb+2] = 1; - vrb_map[first_rb+3] = 1; - - - // Compute MCS/TBS for 3 PRB (coded on 4 vrb) - msg4_header = 1+6+1; // CR header, CR CE, SDU header - - if ((rrc_sdu_length+msg4_header) <= 22) { - RA_template->msg4_mcs = 4; - RA_template->msg4_TBsize = 22; - } else if ((rrc_sdu_length+msg4_header) <= 28) { - RA_template->msg4_mcs = 5; - RA_template->msg4_TBsize = 28; - } else if ((rrc_sdu_length+msg4_header) <= 32) { - RA_template->msg4_mcs = 6; - RA_template->msg4_TBsize = 32; - } else if ((rrc_sdu_length+msg4_header) <= 41) { - RA_template->msg4_mcs = 7; - RA_template->msg4_TBsize = 41; - } else if ((rrc_sdu_length+msg4_header) <= 49) { - RA_template->msg4_mcs = 8; - RA_template->msg4_TBsize = 49; - } else if ((rrc_sdu_length+msg4_header) <= 57) { - RA_template->msg4_mcs = 9; - RA_template->msg4_TBsize = 57; - } + { // This is normal LTE case + if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 with RRC Piggyback (RNTI %x)\n", module_idP, CC_idP, frameP, subframeP, RA_template->rnti); - fill_nfapi_dl_dci_1A(dl_config_pdu, - 4, // aggregation_level - RA_template->rnti, // rnti - 1, // rnti_type, CRNTI - RA_template->harq_pid, // harq_process - 1, // tpc, none - getRIV(N_RB_DL,first_rb,4), // resource_block_coding - RA_template->msg4_mcs, // mcs - 1, // ndi - 0, // rv - 0); // vrb_flag - LOG_D(MAC,"Frame %d, subframe %d: Msg4 DCI pdu_num %d (rnti %x,rnti_type %d,harq_pid %d, resource_block_coding (%p) %d\n", - frameP, - subframeP, - dl_req->number_pdu, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process, - &dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding); - AssertFatal(dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding < 8192, - "resource_block_coding %u < 8192\n", - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding); - if (!CCE_allocation_infeasible(module_idP,CC_idP,1, - subframeP,dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, - RA_template->rnti)) { - dl_req->number_dci++; - dl_req->number_pdu++; - - RA_template->generate_Msg4=0; - RA_template->wait_ack_Msg4=1; - - // increment Absolute subframe by 8 for Msg4 retransmission - LOG_D(MAC,"Frame %d, Subframe %d: Preparing for Msg4 retransmission currently %d.%d\n", - frameP,subframeP,RA_template->Msg4_frame,RA_template->Msg4_subframe); - if (RA_template->Msg4_subframe > 1) RA_template->Msg4_frame++; - RA_template->Msg4_frame&=1023; - RA_template->Msg4_subframe = (RA_template->Msg4_subframe+8)%10; - LOG_D(MAC,"Frame %d, Subframe %d: Msg4 retransmission in %d.%d\n", - frameP,subframeP,RA_template->Msg4_frame,RA_template->Msg4_subframe); - lcid=0; - - // put HARQ process round to 0 - if (cc->tdd_Config) RA_template->harq_pid = ((frameP*10)+subframeP)%10; - else RA_template->harq_pid = ((frameP*10)+subframeP)&7; - UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; - - if ((RA_template->msg4_TBsize - rrc_sdu_length - msg4_header) <= 2) { - msg4_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header; - msg4_post_padding = 0; - } else { - msg4_padding = 0; - msg4_post_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header -1; - } - - LOG_D(MAC,"[eNB %d][RAPROC] CC_idP %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", - module_idP,CC_idP,frameP,subframeP,RA_template->msg4_TBsize,rrc_sdu_length,msg4_header,msg4_padding,msg4_post_padding); - DevAssert( UE_id != UE_INDEX_INVALID ); // FIXME not sure how to gracefully return - // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] - offset = generate_dlsch_header((unsigned char*)eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0], - 1, //num_sdus - (unsigned short*)&rrc_sdu_length, // - &lcid, // sdu_lcid - 255, // no drx - 31, // no timing advance - RA_template->cont_res_id, // contention res id - msg4_padding, // no padding - msg4_post_padding); - - memcpy((void*)&eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0][(unsigned char)offset], - &cc[CC_idP].CCCH_pdu.payload[0], - rrc_sdu_length); - - // DLSCH Config - fill_nfapi_dlsch_config(eNB, - dl_req, - RA_template->msg4_TBsize, - eNB->pdu_index[CC_idP], - RA_template->rnti, - 2, // resource_allocation_type : format 1A/1B/1D - 0, // virtual_resource_block_assignment_flag : localized - getRIV(N_RB_DL,first_rb,4), // resource_block_coding : RIV, 4 PRB - 2, // modulation: QPSK - 0, // redundancy version - 1, // transport_blocks - 0, // transport_block_to_codeword_swap_flag (0) - (cc->p_eNB==1 ) ? 0 : 1, // transmission_scheme - 1, // number of layers - 1, // number of subbands - //0, // codebook index - 1, // ue_category_capacity - 4, // pa: 0 dB - 0, // delta_power_offset_index - 0, // ngap - 1, // NPRB = 3 like in DCI - (cc->p_eNB==1 ) ? 1 : 2, // transmission mode - 1, // num_bf_prb_per_subband - 1); // num_bf_vector - LOG_D(MAC,"Filled DLSCH config, pdu number %d, non-dci pdu_index %d\n",dl_req->number_pdu,eNB->pdu_index[CC_idP]); + /// Choose first 4 RBs for Msg4, should really check that these are free! + first_rb = 0; - // DL request - eNB->TX_req[CC_idP].sfn_sf = fill_nfapi_tx_req(&eNB->TX_req[CC_idP].tx_request_body, - (frameP*10)+subframeP, - rrc_sdu_length, - eNB->pdu_index[CC_idP], - eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0]); - eNB->pdu_index[CC_idP]++; + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; - LOG_D(MAC,"Filling UCI ACK/NAK information, cce_idx %d\n",dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); - // Program PUCCH1a for ACK/NAK - // Program ACK/NAK for Msg4 PDSCH - fill_nfapi_uci_acknak(module_idP, - CC_idP, - RA_template->rnti, - (frameP*10)+subframeP, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); - - T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_idP), T_INT(RA_template->rnti), T_INT(frameP), T_INT(subframeP), - T_INT(0 /*harq_pid always 0?*/), T_BUFFER(&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); - - if (opt_enabled==1) { - trace_pdu(1, (uint8_t *)eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char)UE_id].payload[0], - rrc_sdu_length, UE_id, 3, UE_RNTI(module_idP, UE_id), - eNB->frame, eNB->subframe,0,0); - LOG_D(OPT,"[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", - module_idP, CC_idP, frameP, UE_RNTI(module_idP,UE_id), rrc_sdu_length); - } - - } // CCE Allocation feasible - } // msg4 frame/subframe - } // else rach_resource_type + // Compute MCS/TBS for 3 PRB (coded on 4 vrb) + msg4_header = 1 + 6 + 1; // CR header, CR CE, SDU header + + if ((rrc_sdu_length + msg4_header) <= 22) { + RA_template->msg4_mcs = 4; + RA_template->msg4_TBsize = 22; + } else if ((rrc_sdu_length + msg4_header) <= 28) { + RA_template->msg4_mcs = 5; + RA_template->msg4_TBsize = 28; + } else if ((rrc_sdu_length + msg4_header) <= 32) { + RA_template->msg4_mcs = 6; + RA_template->msg4_TBsize = 32; + } else if ((rrc_sdu_length + msg4_header) <= 41) { + RA_template->msg4_mcs = 7; + RA_template->msg4_TBsize = 41; + } else if ((rrc_sdu_length + msg4_header) <= 49) { + RA_template->msg4_mcs = 8; + RA_template->msg4_TBsize = 49; + } else if ((rrc_sdu_length + msg4_header) <= 57) { + RA_template->msg4_mcs = 9; + RA_template->msg4_TBsize = 57; + } + + fill_nfapi_dl_dci_1A (dl_config_pdu, 4, // aggregation_level + RA_template->rnti, // rnti + 1, // rnti_type, CRNTI + RA_template->harq_pid, // harq_process + 1, // tpc, none + getRIV (N_RB_DL, first_rb, 4), // resource_block_coding + RA_template->msg4_mcs, // mcs + 1, // ndi + 0, // rv + 0); // vrb_flag + LOG_D (MAC, "Frame %d, subframe %d: Msg4 DCI pdu_num %d (rnti %x,rnti_type %d,harq_pid %d, resource_block_coding (%p) %d\n", + frameP, + subframeP, + dl_req->number_pdu, + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti, + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.rnti_type, + dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.harq_process, &dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding); + AssertFatal (dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding < 8192, "resource_block_coding %u < 8192\n", dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.resource_block_coding); + if (!CCE_allocation_infeasible (module_idP, CC_idP, 1, subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, RA_template->rnti)) { + dl_req->number_dci++; + dl_req->number_pdu++; + + RA_template->generate_Msg4 = 0; + RA_template->wait_ack_Msg4 = 1; + + // increment Absolute subframe by 8 for Msg4 retransmission + LOG_D (MAC, "Frame %d, Subframe %d: Preparing for Msg4 retransmission currently %d.%d\n", frameP, subframeP, RA_template->Msg4_frame, RA_template->Msg4_subframe); + if (RA_template->Msg4_subframe > 1) + RA_template->Msg4_frame++; + RA_template->Msg4_frame &= 1023; + RA_template->Msg4_subframe = (RA_template->Msg4_subframe + 8) % 10; + LOG_D (MAC, "Frame %d, Subframe %d: Msg4 retransmission in %d.%d\n", frameP, subframeP, RA_template->Msg4_frame, RA_template->Msg4_subframe); + lcid = 0; + + // put HARQ process round to 0 + if (cc->tdd_Config) + RA_template->harq_pid = ((frameP * 10) + subframeP) % 10; + else + RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; + UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; + + if ((RA_template->msg4_TBsize - rrc_sdu_length - msg4_header) <= 2) { + msg4_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header; + msg4_post_padding = 0; + } else { + msg4_padding = 0; + msg4_post_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header - 1; + } + + LOG_D (MAC, "[eNB %d][RAPROC] CC_idP %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", + module_idP, CC_idP, frameP, subframeP, RA_template->msg4_TBsize, rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); + DevAssert (UE_id != UE_INDEX_INVALID); // FIXME not sure how to gracefully return + // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] + offset = generate_dlsch_header ((unsigned char *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus + (unsigned short *) &rrc_sdu_length, // + &lcid, // sdu_lcid + 255, // no drx + 31, // no timing advance + RA_template->cont_res_id, // contention res id + msg4_padding, // no padding + msg4_post_padding); + + memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], rrc_sdu_length); + + // DLSCH Config + fill_nfapi_dlsch_config (eNB, dl_req, RA_template->msg4_TBsize, eNB->pdu_index[CC_idP], RA_template->rnti, 2, // resource_allocation_type : format 1A/1B/1D + 0, // virtual_resource_block_assignment_flag : localized + getRIV (N_RB_DL, first_rb, 4), // resource_block_coding : RIV, 4 PRB + 2, // modulation: QPSK + 0, // redundancy version + 1, // transport_blocks + 0, // transport_block_to_codeword_swap_flag (0) + (cc->p_eNB == 1) ? 0 : 1, // transmission_scheme + 1, // number of layers + 1, // number of subbands + //0, // codebook index + 1, // ue_category_capacity + 4, // pa: 0 dB + 0, // delta_power_offset_index + 0, // ngap + 1, // NPRB = 3 like in DCI + (cc->p_eNB == 1) ? 1 : 2, // transmission mode + 1, // num_bf_prb_per_subband + 1); // num_bf_vector + LOG_D (MAC, "Filled DLSCH config, pdu number %d, non-dci pdu_index %d\n", dl_req->number_pdu, eNB->pdu_index[CC_idP]); + + // DL request + eNB->TX_req[CC_idP].sfn_sf = fill_nfapi_tx_req (&eNB->TX_req[CC_idP].tx_request_body, + (frameP * 10) + subframeP, rrc_sdu_length, eNB->pdu_index[CC_idP], eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]); + eNB->pdu_index[CC_idP]++; + + LOG_D (MAC, "Filling UCI ACK/NAK information, cce_idx %d\n", dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); + // Program PUCCH1a for ACK/NAK + // Program ACK/NAK for Msg4 PDSCH + fill_nfapi_uci_acknak (module_idP, CC_idP, RA_template->rnti, (frameP * 10) + subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); + + + T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_idP), T_INT (RA_template->rnti), T_INT (frameP), T_INT (subframeP), + T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); + + if (opt_enabled == 1) { + trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); + LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), rrc_sdu_length); + } + + } // CCE Allocation feasible + } // msg4 frame/subframe + } // else rach_resource_type } -void check_Msg4_retransmission(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t subframeP,RA_TEMPLATE *RA_template) { - - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - int UE_id = -1; - uint8_t *vrb_map; - int first_rb; - int N_RB_DL; - nfapi_dl_config_request_pdu_t *dl_config_pdu; - UE_list_t *UE_list=&eNB->UE_list; +void +check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t subframeP, RA_TEMPLATE * RA_template) +{ + + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + int UE_id = -1; + uint8_t *vrb_map; + int first_rb; + int N_RB_DL; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + UE_list_t *UE_list = &eNB->UE_list; nfapi_dl_config_request_body_t *dl_req; - int round; + int round; /* -#ifdef Rel14 - COMMON_channels_t *cc = eNB->common_channels; + #ifdef Rel14 + COMMON_channels_t *cc = eNB->common_channels; - int rmax = 0; - int rep = 0; - int reps = 0; + int rmax = 0; + int rep = 0; + int reps = 0; - first_rb = 0; - struct PRACH_ConfigSIB_v1310 *ext4_prach; - PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; - PRACH_ParametersCE_r13_t *p[4]; + first_rb = 0; + struct PRACH_ConfigSIB_v1310 *ext4_prach; + PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; + PRACH_ParametersCE_r13_t *p[4]; - if (cc[CC_idP].radioResourceConfigCommon_BR) { + if (cc[CC_idP].radioResourceConfigCommon_BR) { - ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; - prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; - - switch (prach_ParametersListCE_r13->list.count) { - case 4: - p[3]=prach_ParametersListCE_r13->list.array[3]; - case 3: - p[2]=prach_ParametersListCE_r13->list.array[2]; - case 2: - p[1]=prach_ParametersListCE_r13->list.array[1]; - case 1: - p[0]=prach_ParametersListCE_r13->list.array[0]; - default: - AssertFatal(1==0,"Illegal count for prach_ParametersListCE_r13 %d\n",prach_ParametersListCE_r13->list.count); - } - } -#endif - */ + ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; + + switch (prach_ParametersListCE_r13->list.count) { + case 4: + p[3]=prach_ParametersListCE_r13->list.array[3]; + case 3: + p[2]=prach_ParametersListCE_r13->list.array[2]; + case 2: + p[1]=prach_ParametersListCE_r13->list.array[1]; + case 1: + p[0]=prach_ParametersListCE_r13->list.array[0]; + default: + AssertFatal(1==0,"Illegal count for prach_ParametersListCE_r13 %d\n",prach_ParametersListCE_r13->list.count); + } + } + #endif + */ // check HARQ status and retransmit if necessary - - UE_id = find_UE_id(module_idP,RA_template->rnti); - AssertFatal(UE_id>=0,"Can't find UE for t-crnti\n"); + + UE_id = find_UE_id (module_idP, RA_template->rnti); + AssertFatal (UE_id >= 0, "Can't find UE for t-crnti\n"); round = UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid]; - vrb_map = cc[CC_idP].vrb_map; - - dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); - - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d)\n", - module_idP,CC_idP,frameP,subframeP,RA_template->harq_pid,round); + vrb_map = cc[CC_idP].vrb_map; + + dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + N_RB_DL = to_prb (cc[CC_idP].mib->message.dl_Bandwidth); + + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d)\n", module_idP, CC_idP, frameP, subframeP, RA_template->harq_pid, round); + + if (round != 8) { - if (round!=8) { - #ifdef Rel14 - if (RA_template->rach_resource_type>0) { - AssertFatal(1==0,"Msg4 Retransmissions not handled yet for BL/CE UEs\n"); - } - else -#endif - { - if ( (RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { - - //RA_template->wait_ack_Msg4++; - // we have to schedule a retransmission - - first_rb=0; - vrb_map[first_rb] = 1; - vrb_map[first_rb+1] = 1; - vrb_map[first_rb+2] = 1; - vrb_map[first_rb+3] = 1; - - fill_nfapi_dl_dci_1A(dl_config_pdu, - 4, // aggregation_level - RA_template->rnti, // rnti - 1, // rnti_type, CRNTI - RA_template->harq_pid, // harq_process - 1, // tpc, none - getRIV(N_RB_DL,first_rb,4), // resource_block_coding - RA_template->msg4_mcs, // mcs - 1, // ndi - round&3, // rv - 0); // vrb_flag - - if (!CCE_allocation_infeasible(module_idP,CC_idP,1,subframeP,dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level,RA_template->rnti)) { - dl_req->number_dci++; - dl_req->number_pdu++; - - LOG_D(MAC,"msg4 retransmission for rnti %x (round %d) fsf %d/%d\n", RA_template->rnti, round, frameP, subframeP); - // DLSCH Config - fill_nfapi_dlsch_config(eNB, - dl_req, - RA_template->msg4_TBsize, - -1 /* retransmission, no pdu_index */, - RA_template->rnti, - 2, // resource_allocation_type : format 1A/1B/1D - 0, // virtual_resource_block_assignment_flag : localized - getRIV(N_RB_DL,first_rb,4), // resource_block_coding : RIV, 4 PRB - 2, // modulation: QPSK - round&3, // redundancy version - 1, // transport_blocks - 0, // transport_block_to_codeword_swap_flag (0) - (cc->p_eNB==1 ) ? 0 : 1, // transmission_scheme - 1, // number of layers - 1, // number of subbands - //0, // codebook index - 1, // ue_category_capacity - 4, // pa: 0 dB - 0, // delta_power_offset_index - 0, // ngap - 1, // NPRB = 3 like in DCI - (cc->p_eNB==1 ) ? 1 : 2, // transmission mode - 1, // num_bf_prb_per_subband - 1); // num_bf_vector - } - else - LOG_D(MAC,"msg4 retransmission for rnti %x (round %d) fsf %d/%d CCE allocation failed!\n", RA_template->rnti, round, frameP, subframeP); - - - // Program PUCCH1a for ACK/NAK - + if (RA_template->rach_resource_type > 0) { + AssertFatal (1 == 0, "Msg4 Retransmissions not handled yet for BL/CE UEs\n"); + } else +#endif + { + if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { - fill_nfapi_uci_acknak(module_idP,CC_idP, - RA_template->rnti, - (frameP*10)+subframeP, - dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); - - // prepare frame for retransmission - if (RA_template->Msg4_subframe>1) RA_template->Msg4_frame++; - RA_template->Msg4_frame&=1023; - RA_template->Msg4_subframe=(RA_template->Msg4_subframe+8)%10; + //RA_template->wait_ack_Msg4++; + // we have to schedule a retransmission - LOG_W(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Msg4 not acknowledged, adding ue specific dci (rnti %x) for RA (Msg4 Retransmission round %d in %d.%d)\n", - module_idP,CC_idP,frameP,subframeP,RA_template->rnti,round,RA_template->Msg4_frame,RA_template->Msg4_subframe); + first_rb = 0; + vrb_map[first_rb] = 1; + vrb_map[first_rb + 1] = 1; + vrb_map[first_rb + 2] = 1; + vrb_map[first_rb + 3] = 1; - } // Msg4 frame/subframe - } // regular LTE case + fill_nfapi_dl_dci_1A (dl_config_pdu, 4, // aggregation_level + RA_template->rnti, // rnti + 1, // rnti_type, CRNTI + RA_template->harq_pid, // harq_process + 1, // tpc, none + getRIV (N_RB_DL, first_rb, 4), // resource_block_coding + RA_template->msg4_mcs, // mcs + 1, // ndi + round & 3, // rv + 0); // vrb_flag + + if (!CCE_allocation_infeasible (module_idP, CC_idP, 1, subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, RA_template->rnti)) { + dl_req->number_dci++; + dl_req->number_pdu++; + + LOG_D (MAC, "msg4 retransmission for rnti %x (round %d) fsf %d/%d\n", RA_template->rnti, round, frameP, subframeP); + // DLSCH Config + fill_nfapi_dlsch_config (eNB, dl_req, RA_template->msg4_TBsize, -1 /* retransmission, no pdu_index */ , + RA_template->rnti, 2, // resource_allocation_type : format 1A/1B/1D + 0, // virtual_resource_block_assignment_flag : localized + getRIV (N_RB_DL, first_rb, 4), // resource_block_coding : RIV, 4 PRB + 2, // modulation: QPSK + round & 3, // redundancy version + 1, // transport_blocks + 0, // transport_block_to_codeword_swap_flag (0) + (cc->p_eNB == 1) ? 0 : 1, // transmission_scheme + 1, // number of layers + 1, // number of subbands + //0, // codebook index + 1, // ue_category_capacity + 4, // pa: 0 dB + 0, // delta_power_offset_index + 0, // ngap + 1, // NPRB = 3 like in DCI + (cc->p_eNB == 1) ? 1 : 2, // transmission mode + 1, // num_bf_prb_per_subband + 1); // num_bf_vector + } else + LOG_D (MAC, "msg4 retransmission for rnti %x (round %d) fsf %d/%d CCE allocation failed!\n", RA_template->rnti, round, frameP, subframeP); + + + // Program PUCCH1a for ACK/NAK + + + fill_nfapi_uci_acknak (module_idP, CC_idP, RA_template->rnti, (frameP * 10) + subframeP, dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); + + // prepare frame for retransmission + if (RA_template->Msg4_subframe > 1) + RA_template->Msg4_frame++; + RA_template->Msg4_frame &= 1023; + RA_template->Msg4_subframe = (RA_template->Msg4_subframe + 8) % 10; + + LOG_W (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Msg4 not acknowledged, adding ue specific dci (rnti %x) for RA (Msg4 Retransmission round %d in %d.%d)\n", + module_idP, CC_idP, frameP, subframeP, RA_template->rnti, round, RA_template->Msg4_frame, RA_template->Msg4_subframe); + + } // Msg4 frame/subframe + } // regular LTE case } else { - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d : Msg4 acknowledged\n",module_idP,CC_idP,frameP,subframeP); - RA_template->wait_ack_Msg4=0; - RA_template->RA_active=FALSE; - UE_id = find_UE_id(module_idP,RA_template->rnti); - DevAssert( UE_id != -1 ); - eNB->UE_list.UE_template[UE_PCCID(module_idP,UE_id)][UE_id].configured=TRUE; + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d : Msg4 acknowledged\n", module_idP, CC_idP, frameP, subframeP); + RA_template->wait_ack_Msg4 = 0; + RA_template->RA_active = FALSE; + UE_id = find_UE_id (module_idP, RA_template->rnti); + DevAssert (UE_id != -1); + eNB->UE_list.UE_template[UE_PCCID (module_idP, UE_id)][UE_id].configured = TRUE; } -} +} -void schedule_RA(module_id_t module_idP,frame_t frameP, sub_frame_t subframeP) +void +schedule_RA (module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) { - int CC_id; - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - RA_TEMPLATE *RA_template; - uint8_t i; + int CC_id; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + RA_TEMPLATE *RA_template; + uint8_t i; - start_meas(&eNB->schedule_ra); + start_meas (&eNB->schedule_ra); - for (CC_id=0; CC_idRA_active == TRUE) { - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active (generate RAR %d, generate_Msg4 %d, wait_ack_Msg4 %d, rnti %x)\n", - module_idP,frameP,subframeP,CC_id,i,RA_template->generate_rar,RA_template->generate_Msg4,RA_template->wait_ack_Msg4, RA_template->rnti); + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active (generate RAR %d, generate_Msg4 %d, wait_ack_Msg4 %d, rnti %x)\n", + module_idP, frameP, subframeP, CC_id, i, RA_template->generate_rar, RA_template->generate_Msg4, RA_template->wait_ack_Msg4, RA_template->rnti); - if (RA_template->generate_rar == 1) generate_Msg2(module_idP,CC_id,frameP,subframeP,RA_template); - else if (RA_template->generate_Msg4 == 1) generate_Msg4(module_idP,CC_id,frameP,subframeP,RA_template); - else if (RA_template->wait_ack_Msg4==1) check_Msg4_retransmission(module_idP,CC_id,frameP,subframeP,RA_template); + if (RA_template->generate_rar == 1) + generate_Msg2 (module_idP, CC_id, frameP, subframeP, RA_template); + else if (RA_template->generate_Msg4 == 1) + generate_Msg4 (module_idP, CC_id, frameP, subframeP, RA_template); + else if (RA_template->wait_ack_Msg4 == 1) + check_Msg4_retransmission (module_idP, CC_id, frameP, subframeP, RA_template); - } // RA_active == TRUE - } // for i=0 .. N_RA_PROC-1 - } // CC_id - - stop_meas(&eNB->schedule_ra); + } // RA_active == TRUE + } // for i=0 .. N_RA_PROC-1 + } // CC_id + + stop_meas (&eNB->schedule_ra); } // handles the event of MSG1 reception -void initiate_ra_proc(module_id_t module_idP, - int CC_id, - frame_t frameP, - sub_frame_t subframeP, - uint16_t preamble_index, - int16_t timing_offset, - uint16_t ra_rnti +void +initiate_ra_proc (module_id_t module_idP, int CC_id, frame_t frameP, sub_frame_t subframeP, uint16_t preamble_index, int16_t timing_offset, uint16_t ra_rnti #ifdef Rel14 - , - uint8_t rach_resource_type + , uint8_t rach_resource_type #endif - ) + ) { - uint8_t i; + uint8_t i; - COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id]; - RA_TEMPLATE *RA_template = &cc->RA_template[0]; + COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id]; + RA_TEMPLATE *RA_template = &cc->RA_template[0]; struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL; PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL; if (cc->radioResourceConfigCommon_BR && cc->radioResourceConfigCommon_BR->ext4) { - ext4_prach=cc->radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; - prach_ParametersListCE_r13= &ext4_prach->prach_ParametersListCE_r13; + ext4_prach = cc->radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; } - LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n",module_idP,CC_id,frameP,subframeP,preamble_index); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n", module_idP, CC_id, frameP, subframeP, preamble_index); #ifdef Rel14 - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n",module_idP,CC_id,frameP,subframeP,rach_resource_type); + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n", module_idP, CC_id, frameP, subframeP, rach_resource_type); #endif - if (prach_ParametersListCE_r13 && - prach_ParametersListCE_r13->list.countlist.count); + if (prach_ParametersListCE_r13 && prach_ParametersListCE_r13->list.count < rach_resource_type) { + LOG_E (MAC, "[eNB %d][RAPROC] CC_id %d Received impossible PRACH resource type %d, only %d CE levels configured\n", + module_idP, CC_id, rach_resource_type, (int) prach_ParametersListCE_r13->list.count); return; } - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC,1); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC,0); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 0); - for (i=0; i5)?1:0); - RA_template[i].Msg2_subframe = (subframeP+4)%10; + RA_template[i].Msg2_frame = frameP + ((subframeP > 5) ? 1 : 0); + RA_template[i].Msg2_subframe = (subframeP + 4) % 10; /* TODO: find better procedure to allocate RNTI */ do { - RA_template[i].rnti = taus(); + RA_template[i].rnti = taus (); loop++; } while (loop != 100 && /* TODO: this is not correct, the rnti may be in use without * being in the MAC yet. To be refined. */ - !(find_UE_id(module_idP, RA_template[i].rnti) == -1 && + !(find_UE_id (module_idP, RA_template[i].rnti) == -1 && /* 1024 and 60000 arbirarily chosen, not coming from standard */ RA_template[i].rnti >= 1024 && RA_template[i].rnti < 60000)); - if (loop == 100) { printf("%s:%d:%s: FATAL ERROR! contact the authors\n", __FILE__, __LINE__, __FUNCTION__); abort(); } - RA_template[i].RA_rnti = ra_rnti; + if (loop == 100) { + printf ("%s:%d:%s: FATAL ERROR! contact the authors\n", __FILE__, __LINE__, __FUNCTION__); + abort (); + } + RA_template[i].RA_rnti = ra_rnti; RA_template[i].preamble_index = preamble_index; - LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Activating RAR generation in Frame %d, subframe %d for process %d, rnti %x, RA_active %d\n", - module_idP,CC_id,frameP, - RA_template[i].Msg2_frame, - RA_template[i].Msg2_subframe, - i,RA_template[i].rnti, - RA_template[i].RA_active); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d Activating RAR generation in Frame %d, subframe %d for process %d, rnti %x, RA_active %d\n", + module_idP, CC_id, frameP, RA_template[i].Msg2_frame, RA_template[i].Msg2_subframe, i, RA_template[i].rnti, RA_template[i].RA_active); return; } } - LOG_E(MAC,"[eNB %d][RAPROC] FAILURE: CC_id %d Frame %d Initiating RA procedure for preamble index %d\n",module_idP,CC_id,frameP,preamble_index); + LOG_E (MAC, "[eNB %d][RAPROC] FAILURE: CC_id %d Frame %d Initiating RA procedure for preamble index %d\n", module_idP, CC_id, frameP, preamble_index); } -void cancel_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP, rnti_t rnti) +void +cancel_ra_proc (module_id_t module_idP, int CC_id, frame_t frameP, rnti_t rnti) { - unsigned char i; - RA_TEMPLATE *RA_template = (RA_TEMPLATE *)&RC.mac[module_idP]->common_channels[CC_id].RA_template[0]; + unsigned char i; + RA_TEMPLATE *RA_template = (RA_TEMPLATE *) & RC.mac[module_idP]->common_channels[CC_id].RA_template[0]; - MSC_LOG_EVENT(MSC_PHY_ENB, "RA Cancelling procedure ue %"PRIx16" ", rnti); - LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Cancelling RA procedure for UE rnti %x\n",module_idP,CC_id,frameP,rnti); + MSC_LOG_EVENT (MSC_PHY_ENB, "RA Cancelling procedure ue %" PRIx16 " ", rnti); + LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d Cancelling RA procedure for UE rnti %x\n", module_idP, CC_id, frameP, rnti); - for (i=0; i Date: Sun, 5 Nov 2017 05:19:40 -0800 Subject: [PATCH 076/109] debugging for MPDCCH --- openair1/PHY/LTE_TRANSPORT/dci.c | 4 +- openair1/PHY/LTE_TRANSPORT/edci.c | 92 +++++++++++++++++++++++--- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 6 +- 3 files changed, 88 insertions(+), 14 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c index 1bea8db59a..84c3b2bcec 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci.c +++ b/openair1/PHY/LTE_TRANSPORT/dci.c @@ -210,6 +210,7 @@ uint8_t *generate_dci0(uint8_t *dci, uint8_t *e, uint8_t DCI_LENGTH, uint8_t aggregation_level, + uint8_r bitsperCCE, uint16_t rnti) { @@ -230,7 +231,7 @@ uint8_t *generate_dci0(uint8_t *dci, "generate_dci FATAL, illegal aggregation_level %d\n",aggregation_level); - coded_bits = 72 * aggregation_level; + coded_bits = bitsperCCE * aggregation_level; /* @@ -2293,6 +2294,7 @@ uint8_t generate_dci_top(uint8_t num_pdcch_symbols, e+(72*dci_alloc[i].firstCCE), dci_alloc[i].dci_length, dci_alloc[i].L, + 72, dci_alloc[i].rnti); } } diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 49a60ae9e8..6d67d87bdd 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -96,16 +96,18 @@ void mpdcch_scrambling(LTE_DL_FRAME_PARMS *frame_parms, } } -// this table is the allocation of modulated MPDCCH format 5 symbols to REs -// There are in total 36 REs/ECCE * 4 ECCE/PRB_pair = 144 REs in total/PRB_pair, total is 168 REs => 24 REs for DMRS -// For format 5 there are 6 PRB pairs => 864 REs for 24 total ECCE -static uint16_t mpdcch5tab[864]; +// this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 +// start symbol is symbol 1 and L'=24 => all 6 PRBs in the set +// 9 symbols without DMRS = 9*12*6 REs = 648 REs +// 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs +// Total = 648+216 = 864 REs = 1728 bits +static uint16_t mpdcch5ss1tab[864]; -void init_mpdcch5tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { +void init_mpdcch5ss1p107108tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { int l,k,kmod,re; LOG_I(PHY,"Inititalizing mpdcch5tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=0,re=0;l<14;l++) { + for (l=1,re=0;l<14;l++) { for (k=0;k<72;k++){ kmod = k % 12; if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || @@ -116,9 +118,74 @@ void init_mpdcch5tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { AssertFatal(re==864,"RE count not equal to 864\n"); } +// this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 +// start symbol is symbol 2 and L'=24 => all 6 PRBs in the set +// 8 symbols without DMRS = 9*12*6 REs = 576 REs +// 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs +// Total = 576+216 = 792 REs = 1584 bits +static uint16_t mpdcch5ss2tab[864]; + +void init_mpdcch5ss2p107108tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { + int l,k,kmod,re; + + LOG_I(PHY,"Inititalizing mpdcch5tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l=2,re=0;l<14;l++) { + for (k=0;k<72;k++){ + kmod = k % 12; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) + mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + } + } +} +// this table is the allocation of modulated MPDCCH format 3 symbols to REs, antenna ports 107,108 +// with start symbol 1, using L'=16 => first 4 PRBs in the set +// 8 symbols without DMRS = 9*12*4 REs = 432 REs +// 4 symbols with DMRS (3 REs stolen per symbol = 4*9*4 REs = 144 REs +// Total = 432+144 = 576 = 16CCE*36RE/CCE +static uint16_t mpdcch3ss1tab[864]; + +void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { + int l,k,kmod,re; + + LOG_I(PHY,"Inititalizing mpdcch3ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l=1,re=0;l<14;l++) { + for (k=0;k<48;k++){ + kmod = k % 12; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) + mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + } + } + AssertFatal(re==864,"RE count not equal to 864\n"); +} + +// this table is the allocation of modulated MPDCCH format 2 symbols to REs, antenna ports 107,108 +// with start symbol 1, using L'=8 => last 2 PRBs in the set +// 8 symbols without DMRS = 9*12*2 REs = 216 REs +// 4 symbols with DMRS (3 REs stolen per symbol = 4*9*2 REs = 72 REs +// Total = 216+72 = 288 = 8CCE*36RE/CCE +static uint16_t mpdcch2ss1tab[864]; + +void init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { + int l,k,kmod,re; + + LOG_I(PHY,"Inititalizing mpdcch3ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l=1,re=0;l<14;l++) { + for (k=0;k<48;k++){ + kmod = k % 12; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) + mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + } + } + AssertFatal(re==864,"RE count not equal to 864\n"); +} + extern uint8_t *generate_dci0(uint8_t *dci, uint8_t *e, uint8_t DCI_LENGTH, + uint8_t bitsperCCE, uint8_t aggregation_level, uint16_t rnti); @@ -130,7 +197,15 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe,int16_t amp,in LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; int i; int gain_lin_QPSK; + uint8_t bitsperCCE; + if (mpdcch->start_symbol == 1) + bitsperCCE = 72; + else if (mpdcch->start_symbol == 2) + bitsperCCE = 66; + else if (mpdcch->start_symbol == 3) + bitsperCCE = 60; + for (i=0;inum_dci;i++) { mdci = &mpdcch->mdci_alloc[i]; @@ -150,11 +225,12 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe,int16_t amp,in generate_dci0(mdci->dci_pdu, mpdcch->e+(72*mdci->firstCCE), mdci->dci_length, + bitsperCCE, mdci->L, mdci->rnti); - coded_bits = 72 * mdci->L; + coded_bits = bitsperCCE * mdci->L; // scrambling uint16_t absSF = (frame*10)+subframe; @@ -166,7 +242,7 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe,int16_t amp,in mpdcch_scrambling(fp, mdci, absSF, - mpdcch->e+(72*mdci->firstCCE), + mpdcch->e+(bitsperCCE*mdci->firstCCE), coded_bits); // Modulation for PDCCH diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index a876dfe3eb..158d49bbbd 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -304,20 +304,16 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; RA_template->msg2_mpdcch_repetition_cnt++; dl_req->number_pdu++; - RA_template->Msg2_subframe = (RA_template->Msg2_subframe+9)%10; - } //repetition_count==0 && SF condition met if (RA_template->msg2_mpdcch_repetition_cnt>0) { // we're in a stream of repetitions - LOG_I(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", - module_idP,frameP,subframeP,RA_template->msg2_mpdcch_repetition_cnt); - if (RA_template->msg2_mpdcch_repetition_cnt==reps) { // this is the last mpdcch repetition if (cc[CC_idP].tdd_Config==NULL) { // FDD case // wait 2 subframes for PDSCH transmission if (subframeP>7) RA_template->Msg2_frame = (frameP+1)&1023; else RA_template->Msg2_frame = frameP; RA_template->Msg2_subframe = (subframeP+2)%10; // +2 is the "n+x" from Section 7.1.11 in 36.213 + LOG_I(MAC,"[eNB %d][RAPROC] SFN %d.%d : Set Msg2 in %d.%d\n",frameP,subframeP,RA_template->Msg2_frame,RA_template->Msg2_subframe); } else { AssertFatal(1==0,"TDD case not done yet\n"); From d135627884817b37f8f6ef80195fb6209259332f Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 5 Nov 2017 12:27:46 -0800 Subject: [PATCH 077/109] integration of mpdcch format 2,3,5, wired for format 5 only. integration of mpdcch dmrs signals. --- openair1/PHY/INIT/lte_init.c | 2 +- openair1/PHY/LTE_TRANSPORT/dci.c | 2 +- openair1/PHY/LTE_TRANSPORT/edci.c | 245 ++++++++++++++++++++++++----- openair1/PHY/LTE_TRANSPORT/proto.h | 2 +- 4 files changed, 213 insertions(+), 38 deletions(-) diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c index 1108bdc1ff..3925c255d0 100755 --- a/openair1/PHY/INIT/lte_init.c +++ b/openair1/PHY/INIT/lte_init.c @@ -229,7 +229,7 @@ phy_config_request (PHY_Config_t * phy_config) fp->prach_emtc_config_common.prach_ConfigInfo.prach_ConfigIndex[3], fp->prach_emtc_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig, fp->prach_emtc_config_common.prach_ConfigInfo.highSpeedFlag, fp->frame_type, RC.eNB[Mod_id][CC_id]->X_u_br[0]); - init_mpdcch5tab_normal_regular_subframe_evenNRBDL (RC.eNB[Mod_id][CC_id],3); + init_mpdcch(RC.eNB[Mod_id][CC_id]); } } #endif diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c index 84c3b2bcec..c89189ec03 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci.c +++ b/openair1/PHY/LTE_TRANSPORT/dci.c @@ -210,7 +210,7 @@ uint8_t *generate_dci0(uint8_t *dci, uint8_t *e, uint8_t DCI_LENGTH, uint8_t aggregation_level, - uint8_r bitsperCCE, + uint8_t bitsperCCE, uint16_t rnti) { diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index aa57f58b11..2d871b2221 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -102,18 +102,22 @@ mpdcch_scrambling (LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, uint16 // 9 symbols without DMRS = 9*12*6 REs = 648 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs // Total = 648+216 = 864 REs = 1728 bits -static uint16_t mpdcch5ss1tab[864]; +static uint16_t mpdcch5ss1p107108tab[864]; +static uint16_t mpdcch5ss1p109110tab[864]; -void init_mpdcch5ss1p107108tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { +void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { int l,k,kmod,re; - LOG_I(PHY,"Inititalizing mpdcch5tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + LOG_I(PHY,"Inititalizing mpdcchss15tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); for (l=1,re=0;l<14;l++) { for (k=0;k<72;k++){ kmod = k % 12; if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) - mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { + mpdcch5ss1p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch5ss1p107108tab[re]=1+mpdcch5ss1p109110tab[re]; + re++; + } } } AssertFatal(re==864,"RE count not equal to 864\n"); @@ -121,44 +125,78 @@ void init_mpdcch5ss1p107108tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *e // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 // start symbol is symbol 2 and L'=24 => all 6 PRBs in the set -// 8 symbols without DMRS = 9*12*6 REs = 576 REs +// 8 symbols without DMRS = 8*12*6 REs = 576 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs // Total = 576+216 = 792 REs = 1584 bits -static uint16_t mpdcch5ss2tab[864]; - -void init_mpdcch5ss2p107108tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { +static uint16_t mpdcch5ss2p107108tab[792]; +static uint16_t mpdcch5ss2p109110tab[792]; +void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { int l,k,kmod,re; - LOG_I(PHY,"Inititalizing mpdcch5tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + LOG_I(PHY,"Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); for (l=2,re=0;l<14;l++) { for (k=0;k<72;k++){ kmod = k % 12; if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) - mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { + mpdcch5ss2p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch5ss2p107108tab[re]=1+mpdcch5ss2p109110tab[re]; + re++; + } } } + AssertFatal(re==792,"RE count not equal to 792\n"); } + +// this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 +// start symbol is symbol 3 and L'=24 => all 6 PRBs in the set +// 7 symbols without DMRS = 7*12*6 REs = 504 REs +// 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs +// Total = 504+216 = 720 REs = 1440 bits +static uint16_t mpdcch5ss3p107108tab[720]; +static uint16_t mpdcch5ss3p109110tab[720]; +void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { + int l,k,kmod,re; + + LOG_I(PHY,"Inititalizing mpdcch5ss3tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l=3,re=0;l<14;l++) { + for (k=0;k<72;k++){ + kmod = k % 12; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { + mpdcch5ss3p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch5ss3p107108tab[re]=1+mpdcch5ss3p109110tab[re]; + re++; + } + } + } + AssertFatal(re==720,"RE count not equal to 792\n"); +} + // this table is the allocation of modulated MPDCCH format 3 symbols to REs, antenna ports 107,108 // with start symbol 1, using L'=16 => first 4 PRBs in the set // 8 symbols without DMRS = 9*12*4 REs = 432 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*4 REs = 144 REs // Total = 432+144 = 576 = 16CCE*36RE/CCE -static uint16_t mpdcch3ss1tab[864]; +static uint16_t mpdcch3ss1p107108tab[576]; +static uint16_t mpdcch3ss1p109110tab[576]; void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { int l,k,kmod,re; - LOG_I(PHY,"Inititalizing mpdcch3ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + LOG_I(PHY,"Inititalizing mpdcch3ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); for (l=1,re=0;l<14;l++) { for (k=0;k<48;k++){ kmod = k % 12; if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) - mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { + mpdcch3ss1p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch3ss1p107108tab[re]=1+mpdcch3ss1p109110tab[re]; + re++; + } } } - AssertFatal(re==864,"RE count not equal to 864\n"); + AssertFatal(re==576,"RE count not equal to 864\n"); } // this table is the allocation of modulated MPDCCH format 2 symbols to REs, antenna ports 107,108 @@ -166,23 +204,29 @@ void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { // 8 symbols without DMRS = 9*12*2 REs = 216 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*2 REs = 72 REs // Total = 216+72 = 288 = 8CCE*36RE/CCE -static uint16_t mpdcch2ss1tab[864]; - +static uint16_t mpdcch2ss1p107108tab[288]; +static uint16_t mpdcch2ss1p109110tab[288]; void init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { int l,k,kmod,re; - LOG_I(PHY,"Inititalizing mpdcch3ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + LOG_I(PHY,"Inititalizing mpdcch2ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); for (l=1,re=0;l<14;l++) { for (k=0;k<48;k++){ kmod = k % 12; if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) - mpdcch5tab[re++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { + mpdcch2ss1p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch2ss1p107108tab[re]=1+mpdcch2ss1p109110tab[re]; + re++; + } } } - AssertFatal(re==864,"RE count not equal to 864\n"); + AssertFatal(re==288,"RE count not equal to 288\n"); } + + + extern uint8_t *generate_dci0(uint8_t *dci, uint8_t *e, uint8_t DCI_LENGTH, @@ -190,6 +234,27 @@ extern uint8_t *generate_dci0(uint8_t *dci, uint8_t aggregation_level, uint16_t rnti); + +uint16_t mpdcch_dmrs_tab[12*6]; + +void init_mpdcch_dmrs_tab(uint16_t oss) { + + int re = 5*oss; + int pos = 0; + + for (int symb=0;symb<4;symb++) { + for (int prb=0;prb<6;prb++,re+=12) { + mpdcch_dmrs_tab[pos++] = re; + mpdcch_dmrs_tab[pos++] = re+5; + mpdcch_dmrs_tab[pos++] = re+10; + } + if (symb == 0) re=6*oss; + else if (symb == 1) re=12*oss; + else if (symb == 2) re=13*oss; + } + +} + void generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF) { @@ -201,18 +266,20 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int int i; int gain_lin_QPSK; uint8_t bitsperCCE; + uint16_t *mpdcchtab; + + uint32_t x1, x2, s = 0; + uint8_t Nacc = 4; + uint16_t j0, j, idelta; + uint16_t i0; + + int off; + + // Assumption: only handle a single MPDCCH per narrowband - if (mpdcch->start_symbol == 1) - bitsperCCE = 72; - else if (mpdcch->start_symbol == 2) - bitsperCCE = 66; - else if (mpdcch->start_symbol == 3) - bitsperCCE = 60; - for (i=0;inum_dci;i++) { mdci = &mpdcch->mdci_alloc[i]; - AssertFatal (fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n"); AssertFatal (fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n"); AssertFatal (mdci->L <= 24, "L is %d\n", mdci->L); @@ -221,12 +288,47 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int AssertFatal (mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); AssertFatal (mdci->reps > 0, "mdci->reps==0\n"); - // 9 REs/EREG * 4 EREG/ECCE => 36 REs/ECCE => 72 bits/ECCE, so same as regular PDCCH channel encoding + // These are to avoid unimplemented things + AssertFatal (mdci->reps == 1, "number of repetitions (%d) must be one for now\n",mdci->reps); + AssertFatal (mdci->ce_mode != 1, "CE mode B not activataed yet\n"); + AssertFatal (mdci->L != 24, "Only 2+4 and aggregation 24 for now\n"); + i0 = mdci->i0; + // antenna index + int a_index = mdci->rnti & 3; + + if ((mdci->start_symbol == 1) && (a_index<2)) { + mpdcchtab = mpdcch5ss1p107108tab; + bitsperCCE = 72; + } + else if ((mdci->start_symbol == 1) && (a_index>1)) { + mpdcchtab = mpdcch5ss1p109110tab; + bitsperCCE = 72; + } + else if ((mdci->start_symbol == 2) && (a_index<2)) { + mpdcchtab = mpdcch5ss2p107108tab; + bitsperCCE = 66; + } + else if ((mdci->start_symbol == 2) && (a_index>1)) { + mpdcchtab = mpdcch5ss2p109110tab; + bitsperCCE = 66; + } + else if ((mdci->start_symbol == 3) && (a_index<2)) { + mpdcchtab = mpdcch5ss2p107108tab; + bitsperCCE = 60; + } + else if ((mdci->start_symbol == 3) && (a_index<2)) { + mpdcchtab = mpdcch5ss2p109110tab; + bitsperCCE = 60; + } + else + AssertFatal(1==0,"Illegal combination start_symbol %d, a_index %d\n",mdci->start_symbol,a_index); + + // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing generate_dci0(mdci->dci_pdu, - mpdcch->e+(72*mdci->firstCCE), + mpdcch->e+(bitsperCCE*mdci->firstCCE), mdci->dci_length, bitsperCCE, mdci->L, @@ -261,8 +363,27 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int // first RE of narrowband // mpdcchtab5 below contains the mapping from each coded symbol to relative RE avoiding the DMRS + int nb_i0; + switch (fp->N_RB_DL) { - int re_offset = fp->first_carrier_offset + 1 + ((fp->N_RB_DL == 100) ? 1 : 0) + mdci->narrowband * 12 * 6; + case 6: + case 25: + nb_i0=0; + break; + case 15: + case 50: + case 75: + nb_i0=1; + break; + case 100: + nb_i0=2; + break; + default: + AssertFatal(1==0,"Illegal N_RB_DL %d\n",fp->N_RB_DL); + break; + } + + int re_offset = fp->first_carrier_offset + (12*nb_i0) + mdci->narrowband * 12 * 6; if (re_offset > fp->ofdm_symbol_size) re_offset -= (fp->ofdm_symbol_size - 1); int32_t *txF = &txdataF[0][re_offset]; @@ -274,10 +395,64 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int e_ptr++; ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; e_ptr++; - txF[mpdcch5tab[i + (36 * mdci->firstCCE)]] = yIQ; + txF[mpdcchtab[i + ((bitsperCCE>>1) * mdci->firstCCE)]] = yIQ; + LOG_I(PHY,"mpdcch pos %d: %d => (%d,%d)\n",i,mpdcchtab[i + ((bitsperCCE>>2) * mdci->firstCCE)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); } + if (a_index>1) off=0; + else off=1; + + // pilot scrambling initiatlization (note: this is for a single repetition) + + // x1 is set in lte_gold_generic + + // rule for BL/CE UEs from Section 6.10.3A.1 in 36.211 + + if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI + Nacc = fp->frame_type == FDD ? 4 : 10; + else + Nacc = 1; + + if (fp->frame_type == FDD || Nacc == 1) + idelta = 0; + else + idelta = Nacc - 2; + + j0 = (i0 + idelta) / Nacc; + j = (i - i0) / Nacc; + + + + uint32_t a = ((((j0 + j) * Nacc) % 10)+1); + uint32_t b = ((mdci->dmrs_scrambling_init<<1)+1) << 16; + x2 = a*b; + LOG_I(PHY,"mpdcch_dmrs cinit %d\n",x2); + + // add MPDCCH pilots + int reset = 1; + for (i=0; i < (24*6) ; i+=2) { + if ((i & 0x1f) == 0) { + s = lte_gold_generic (&x1, &x2, reset); + reset = 0; + } + ((int16_t *) & yIQ)[0] = (((s>>(i & 0x1f))&1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + ((int16_t *) & yIQ)[1] = (((s>>((i+1) & 0x1f))&1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + txF[off+mpdcch_dmrs_tab[(i>>1)]] = yIQ; + LOG_I(PHY,"mpdcch_dmrs pos %d: %d => (%d,%d)\n",i,mpdcch_dmrs_tab[(i>>1)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); + } } + + +} + +void init_mpdcch(PHY_VARS_eNB *eNB) { + + init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch_dmrs_tab(eNB->frame_parms.ofdm_symbol_size); } #endif diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index 6a27811036..8fa2f0ca22 100755 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -1678,7 +1678,7 @@ void init_ul_hopping(LTE_DL_FRAME_PARMS *frame_parms); int init_ue_paging_info(PHY_VARS_UE *ue, long defaultPagingCycle, long nB); #ifdef Rel14 -void init_mpdcch5tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB,int l_MPDCCH_start); +void init_mpdcch(PHY_VARS_eNB *eNB); #endif int32_t compareints (const void * a, const void * b); From 71dbefe981c3743cbf08e71acb394d2fe8a16aee Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Thu, 16 Nov 2017 06:15:45 +0100 Subject: [PATCH 078/109] activated debugging traces for Msg2 MPDCCH/PDSCH --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 42 ++++---- openair1/PHY/LTE_TRANSPORT/edci.c | 100 ++++++++++++------ openair1/SCHED/fapi_l1.c | 8 +- openair1/SCHED/phy_procedures_lte_eNb.c | 19 +++- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 10 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 10 +- 6 files changed, 123 insertions(+), 66 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 08f090a60c..4b912fa47c 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -2193,14 +2193,14 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1A_5MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; ((DCI6_1A_5MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_1A_5MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_1A_5MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1A_5MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; ((DCI6_1A_5MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; ((DCI6_1A_5MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; ((DCI6_1A_5MHz_t *) dci_pdu)->rv = rel13->redundancy_version; ((DCI6_1A_5MHz_t *) dci_pdu)->TPC = rel13->tpc; ((DCI6_1A_5MHz_t *) dci_pdu)->srs_req = rel13->srs_request; ((DCI6_1A_5MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1A_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_1A_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; break; case 50: @@ -2209,14 +2209,17 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1A_10MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; ((DCI6_1A_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_1A_10MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_1A_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1A_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels); ((DCI6_1A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; ((DCI6_1A_10MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; ((DCI6_1A_10MHz_t *) dci_pdu)->rv = rel13->redundancy_version; ((DCI6_1A_10MHz_t *) dci_pdu)->TPC = rel13->tpc; ((DCI6_1A_10MHz_t *) dci_pdu)->srs_req = rel13->srs_request; ((DCI6_1A_10MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_1A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; + + LOG_I(PHY,"Frame %d, Subframe %d : Programming Format 6-1A DCI, mcs %d, rballoc %x, dci_rep r%d, L %d, narrowband %d, start_symbol %d\n", + frame,subframe,rel13->mcs,rel13->resource_block_coding,1+rel13->dci_subframe_repetition_number,rel13->aggregation_level,rel13->mpdcch_narrow_band,dci_alloc->start_symbol); break; case 100: dci_alloc->dci_length = sizeof_DCI6_1A_20MHz_t; @@ -2224,14 +2227,14 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1A_20MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; ((DCI6_1A_20MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_1A_20MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_1A_20MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1A_20MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; ((DCI6_1A_20MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; ((DCI6_1A_20MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; ((DCI6_1A_20MHz_t *) dci_pdu)->rv = rel13->redundancy_version; ((DCI6_1A_20MHz_t *) dci_pdu)->TPC = rel13->tpc; ((DCI6_1A_20MHz_t *) dci_pdu)->srs_req = rel13->srs_request; ((DCI6_1A_20MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1A_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_1A_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; break; } break; @@ -2245,11 +2248,11 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1B_5MHz_t *) dci_pdu)->type = 1; ((DCI6_1B_5MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_1B_5MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_1B_5MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1B_5MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; ((DCI6_1B_5MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; ((DCI6_1B_5MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; ((DCI6_1B_5MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1B_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_1B_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; break; case 50: @@ -2257,22 +2260,22 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1B_10MHz_t *) dci_pdu)->type = 1; ((DCI6_1B_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_1B_10MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_1B_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1B_10MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; ((DCI6_1B_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; ((DCI6_1B_10MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; ((DCI6_1B_10MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1B_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_1B_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; break; case 100: dci_alloc->dci_length = sizeof_DCI6_1B_20MHz_t; ((DCI6_1B_20MHz_t *) dci_pdu)->type = 1; ((DCI6_1B_20MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_1B_20MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_1B_20MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); + ((DCI6_1B_20MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; ((DCI6_1B_20MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; ((DCI6_1B_20MHz_t *) dci_pdu)->ndi = rel13->new_data_indicator; ((DCI6_1B_20MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; - ((DCI6_1B_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_1B_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; break; } case 12: // Format 6-2 @@ -2288,8 +2291,8 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_2_paging_5MHz_t *) dci_pdu)->type = 1; ((DCI6_2_paging_5MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_2_paging_5MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_2_paging_5MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); - ((DCI6_2_paging_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_2_paging_5MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; + ((DCI6_2_paging_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; } break; @@ -2302,8 +2305,8 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_2_paging_10MHz_t *) dci_pdu)->type = 1; ((DCI6_2_paging_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_2_paging_10MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_2_paging_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); - ((DCI6_2_paging_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_2_paging_10MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; + ((DCI6_2_paging_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; } break; @@ -2316,8 +2319,8 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_2_paging_20MHz_t *) dci_pdu)->type = 1; ((DCI6_2_paging_20MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; ((DCI6_2_paging_20MHz_t *) dci_pdu)->mcs = rel13->mcs; - ((DCI6_2_paging_20MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels - 1); - ((DCI6_2_paging_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number - 1; + ((DCI6_2_paging_20MHz_t *) dci_pdu)->rep = rel13->pdsch_reptition_levels; + ((DCI6_2_paging_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; } break; @@ -2330,6 +2333,7 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * // printf("DCI: Setting subframe_tx for subframe %d\n",subframe); dlsch0->subframe_tx[(subframe + 2) % 10] = 1; + LOG_I(PHY,"PDSCH : resource_block_coding %x",rel13->resource_block_coding); conv_eMTC_rballoc (rel13->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); @@ -2366,7 +2370,9 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0_harq->frame = (subframe >= 8) ? ((frame + 1) & 1023) : frame; dlsch0_harq->subframe = (subframe + 2) % 10; + dlsch0_harq->pdsch_start = rel13->start_symbol; + LOG_I(PHY,"Setting DLSCH harq %d to active for %d.%d\n",rel13->harq_process,dlsch0_harq->frame,dlsch0_harq->subframe); dlsch0->rnti = rel13->rnti; diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 2d871b2221..5687bd721e 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -106,21 +106,32 @@ static uint16_t mpdcch5ss1p107108tab[864]; static uint16_t mpdcch5ss1p109110tab[864]; void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re; + int l,k,kmod,re107108=0,re109110=0; LOG_I(PHY,"Inititalizing mpdcchss15tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=1,re=0;l<14;l++) { + + for (l=1;l<14;l++) { for (k=0;k<72;k++){ kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { - mpdcch5ss1p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch5ss1p107108tab[re]=1+mpdcch5ss1p109110tab[re]; - re++; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13))|| + (kmod==2) || (kmod==3) || (kmod==4) || + (kmod==7) || (kmod==8) || (kmod==9)) { + mpdcch5ss1p109110tab[re109110]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch5ss1p107108tab[re107108]=mpdcch5ss1p109110tab[re109110]; + re107108++; + re109110++; + printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); + } + else if ((kmod==0)||(kmod==5)||(kmod==10)) { + mpdcch5ss1p109110tab[re109110++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + } + else if ((kmod==1)||(kmod==6)||(kmod==11)) { + mpdcch5ss1p107108tab[re107108++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); } } } - AssertFatal(re==864,"RE count not equal to 864\n"); + AssertFatal(re107108==864,"RE count not equal to 864 (%d)\n",re107108); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -131,21 +142,31 @@ void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { static uint16_t mpdcch5ss2p107108tab[792]; static uint16_t mpdcch5ss2p109110tab[792]; void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re; + int l,k,kmod,re107108=0,re109110=0; LOG_I(PHY,"Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=2,re=0;l<14;l++) { + for (l=2;l<14;l++) { for (k=0;k<72;k++){ kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { - mpdcch5ss2p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch5ss2p107108tab[re]=1+mpdcch5ss2p109110tab[re]; - re++; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13))|| + (kmod==2) || (kmod==3) || (kmod==4) || + (kmod==7) || (kmod==8) || (kmod==9)) { + mpdcch5ss2p109110tab[re109110]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch5ss2p107108tab[re107108]=mpdcch5ss2p109110tab[re109110]; + re107108++; + re109110++; + printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); + } + else if ((kmod==0)||(kmod==5)||(kmod==10)) { + mpdcch5ss2p109110tab[re109110++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + } + else if ((kmod==1)||(kmod==6)||(kmod==11)) { + mpdcch5ss2p107108tab[re107108++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); } } } - AssertFatal(re==792,"RE count not equal to 792\n"); + AssertFatal(re107108==792,"RE count not equal to 792\n"); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -156,21 +177,31 @@ void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { static uint16_t mpdcch5ss3p107108tab[720]; static uint16_t mpdcch5ss3p109110tab[720]; void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re; + int l,k,kmod,re107108=0,re109110=0; LOG_I(PHY,"Inititalizing mpdcch5ss3tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=3,re=0;l<14;l++) { + for (l=3;l<14;l++) { for (k=0;k<72;k++){ kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { - mpdcch5ss3p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch5ss3p107108tab[re]=1+mpdcch5ss3p109110tab[re]; - re++; + if (((l!=5) && (l!=6) && (l!=12) && (l!=13))|| + (kmod==2) || (kmod==3) || (kmod==4) || + (kmod==7) || (kmod==8) || (kmod==9)) { + mpdcch5ss3p109110tab[re109110]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + mpdcch5ss3p107108tab[re107108]=mpdcch5ss3p109110tab[re109110]; + re107108++; + re109110++; + printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); + } + else if ((kmod==0)||(kmod==5)||(kmod==10)) { + mpdcch5ss3p109110tab[re109110++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + } + else if ((kmod==1)||(kmod==6)||(kmod==11)) { + mpdcch5ss3p107108tab[re107108++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; + printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); } } } - AssertFatal(re==720,"RE count not equal to 792\n"); + AssertFatal(re107108==720,"RE count not equal to 792\n"); } // this table is the allocation of modulated MPDCCH format 3 symbols to REs, antenna ports 107,108 @@ -211,7 +242,7 @@ void init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { LOG_I(PHY,"Inititalizing mpdcch2ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); for (l=1,re=0;l<14;l++) { - for (k=0;k<48;k++){ + for (k=0;k<24;k++){ kmod = k % 12; if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { @@ -277,6 +308,8 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int // Assumption: only handle a single MPDCCH per narrowband + LOG_I(PHY,"generate_mdci_top: num_dci %d\n",mpdcch->num_dci); + for (i=0;inum_dci;i++) { mdci = &mpdcch->mdci_alloc[i]; @@ -286,13 +319,13 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int AssertFatal (fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "Only N_RB_DL=50,100 for MPDCCH\n"); // Force MPDDCH format 5 AssertFatal (mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); - AssertFatal (mdci->reps > 0, "mdci->reps==0\n"); // These are to avoid unimplemented things - AssertFatal (mdci->reps == 1, "number of repetitions (%d) must be one for now\n",mdci->reps); - AssertFatal (mdci->ce_mode != 1, "CE mode B not activataed yet\n"); - AssertFatal (mdci->L != 24, "Only 2+4 and aggregation 24 for now\n"); + AssertFatal (mdci->ce_mode == 1, "CE mode (%d) B not activated yet\n",mdci->ce_mode); + AssertFatal (mdci->L == 24, "Only 2+4 and aggregation 24 for now\n"); + LOG_I(PHY,"mdci %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d \n", + i,mdci->rnti,mdci->L,mdci->number_of_prb_pairs,mdci->ce_mode,mdci->i0,mdci->start_symbol); i0 = mdci->i0; // antenna index int a_index = mdci->rnti & 3; @@ -330,8 +363,8 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int generate_dci0(mdci->dci_pdu, mpdcch->e+(bitsperCCE*mdci->firstCCE), mdci->dci_length, - bitsperCCE, mdci->L, + bitsperCCE, mdci->rnti); @@ -340,7 +373,7 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int // scrambling uint16_t absSF = (frame * 10) + subframe; - AssertFatal (absSF < 1024, "Absolute subframe %d = %d*10 + %d > 1023\n", absSF, frame, subframe); + AssertFatal (absSF < 10240, "Absolute subframe %d = %d*10 + %d > 10239\n", absSF, frame, subframe); mpdcch_scrambling(fp, mdci, @@ -396,7 +429,8 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; e_ptr++; txF[mpdcchtab[i + ((bitsperCCE>>1) * mdci->firstCCE)]] = yIQ; - LOG_I(PHY,"mpdcch pos %d: %d => (%d,%d)\n",i,mpdcchtab[i + ((bitsperCCE>>2) * mdci->firstCCE)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); + //LOG_I(PHY,"Frame %d, subframe %d: mpdcch pos %d: %d => (%d,%d)\n", + // frame,subframe,i,mpdcchtab[i + ((bitsperCCE>>2) * mdci->firstCCE)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); } if (a_index>1) off=0; @@ -438,7 +472,7 @@ generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int ((int16_t *) & yIQ)[0] = (((s>>(i & 0x1f))&1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; ((int16_t *) & yIQ)[1] = (((s>>((i+1) & 0x1f))&1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; txF[off+mpdcch_dmrs_tab[(i>>1)]] = yIQ; - LOG_I(PHY,"mpdcch_dmrs pos %d: %d => (%d,%d)\n",i,mpdcch_dmrs_tab[(i>>1)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); + LOG_I(PHY,"mpdcch_dmrs pos %d: %d => (%d,%d)\n",i,off+mpdcch_dmrs_tab[(i>>1)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); } } diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 3be6f4b987..960437b935 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -238,13 +238,13 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, AssertFatal(sdu!=NULL,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d : sdu is null for pdu_index %d\n", proc->frame_tx,proc->subframe_tx,rel8->rnti,UE_id,harq_pid, dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index); - if (rel8->rnti != 0xFFFF) LOG_D(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d\n", + if (rel8->rnti != 0xFFFF) LOG_I(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d\n", proc->frame_tx,proc->subframe_tx,rel8->rnti,UE_id,harq_pid); if (codeword_index == 0) dlsch0_harq->pdu = sdu; else dlsch1_harq->pdu = sdu; } else { - if (rel8->rnti != 0xFFFF) LOG_D(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round %d, rnti %x, UE_id %d, harq_pid %d\n", + if (rel8->rnti != 0xFFFF) LOG_I(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round %d, rnti %x, UE_id %d, harq_pid %d\n", proc->frame_tx,proc->subframe_tx,dlsch0_harq->round, rel8->rnti,UE_id,harq_pid); } @@ -616,7 +616,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) eNB->phich_vars[subframe&1].num_hi = 0; - LOG_D(PHY,"NFAPI: Frame %d, Subframe %d (ul_subframe %d): received %d dl_pdu, %d tx_req, %d hi_dci0_config_req, %d UL_config \n", + LOG_I(PHY,"NFAPI: Frame %d, Subframe %d (ul_subframe %d): received %d dl_pdu, %d tx_req, %d hi_dci0_config_req, %d UL_config \n", frame,subframe,ul_subframe,number_dl_pdu,TX_req->tx_request_body.number_of_pdus,number_hi_dci0_pdu,number_ul_pdu); @@ -636,7 +636,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) } for (i=0;idl_config_request_body.dl_config_pdu_list[i]; - LOG_D(PHY,"NFAPI: dl_pdu %d : type %d\n",i,dl_config_pdu->pdu_type); + LOG_I(PHY,"NFAPI: dl_pdu %d : type %d\n",i,dl_config_pdu->pdu_type); switch (dl_config_pdu->pdu_type) { case NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE: handle_nfapi_dci_dl_pdu(eNB,proc,dl_config_pdu); diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 14618d7828..a6ed5b6d10 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -299,6 +299,9 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type int8_t UE_id = 0; uint8_t num_pdcch_symbols = 0; uint8_t num_dci = 0; +#ifdef Rel14 + uint8_t num_mdci = 0; +#endif uint8_t ul_subframe; uint32_t ul_frame; LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; @@ -391,7 +394,14 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX, 0); - +#ifdef Rel14 + num_mdci = eNB->mpdcch_vars[subframe &1].num_dci; + if (num_mdci > 0) { + LOG_I (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_mdci_top (mpdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_mdci); + + generate_mdci_top (eNB, frame, subframe, AMP, eNB->common_vars.txdataF); + } +#endif // Now scan UE specific DLSCH LTE_eNB_DLSCH_t *dlsch0, *dlsch1; for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) { @@ -404,6 +414,13 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type harq_pid = dlsch0->harq_ids[subframe]; AssertFatal (harq_pid >= 0, "harq_pid is negative\n"); // generate pdsch + LOG_I(PHY,"SFN %d.%d: DLSCH for rnti %x is active, harq_pid %d => SFN %d.%d\n", + frame, + subframe, + dlsch0->rnti, + harq_pid, + dlsch0->harq_processes[harq_pid]->frame, + dlsch0->harq_processes[harq_pid]->subframe); if ((dlsch0->harq_processes[harq_pid]->status == ACTIVE) && (dlsch0->harq_processes[harq_pid]->frame == frame) && (dlsch0->harq_processes[harq_pid]->subframe == subframe)) pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 26df2ea9c9..2a5375579e 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -252,7 +252,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { // MPDCCH configuration for RAR - LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming MPDCCH %d repetitions\n", module_idP, frameP, subframeP, reps); + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2 for CE Level %d, Programming MPDCCH %d repetitions\n", module_idP, frameP, subframeP, RA_template->rach_resource_type-1,reps); memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); @@ -266,14 +266,14 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 2; // RA-RNTI dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6) | (RA_template->msg2_narrowband<<5); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; @@ -616,7 +616,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 0; // t-C-RNTI dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; @@ -1155,7 +1155,7 @@ initiate_ra_proc (module_id_t module_idP, int CC_id, frame_t frameP, sub_frame_t } LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n", module_idP, CC_id, frameP, subframeP, preamble_index); #ifdef Rel14 - LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n", module_idP, CC_id, frameP, subframeP, rach_resource_type); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n", module_idP, CC_id, frameP, subframeP, rach_resource_type); #endif if (prach_ParametersListCE_r13 && prach_ParametersListCE_r13->list.count < rach_resource_type) { diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 475ad3af6d..0ae7ffac96 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -17,7 +17,7 @@ eNBs = mobile_country_code = "208"; - mobile_network_code = "93"; + mobile_network_code = "92"; tr_s_preference = "local_mac" @@ -186,13 +186,13 @@ eNBs = #PRACH Config prach_root = 89; - prach_config_index = 3; + prach_config_index = 0; prach_high_speed = "DISABLE"; - prach_zero_correlation = 12; - prach_freq_offset = 2; + prach_zero_correlation = 1; + prach_freq_offset = 1; #PDSCH Config Common - pdsch_referenceSignalPower = 12; # was -27 + pdsch_referenceSignalPower = -27 pdsch_p_b = 0; From 97097a8c4900511a8806970f081e910dc6fef9ce Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Thu, 16 Nov 2017 09:35:39 +0100 Subject: [PATCH 079/109] more debugging for RA procedures for eMTC --- openair1/PHY/LTE_TRANSPORT/edci.c | 2 +- openair1/SCHED/fapi_l1.c | 4 +++- openair2/LAYER2/MAC/defs.h | 1 + openair2/LAYER2/MAC/eNB_scheduler_RA.c | 8 ++++++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 5687bd721e..d8d0f88254 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -290,7 +290,7 @@ void generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF) { - LTE_eNB_MPDCCH *mpdcch= &eNB->mpdcch_vars[subframe&2]; + LTE_eNB_MPDCCH *mpdcch= &eNB->mpdcch_vars[subframe&1]; mDCI_ALLOC_t *mdci; int coded_bits; LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 960437b935..374cccb239 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -614,7 +614,9 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) eNB->pdcch_vars[subframe&1].num_pdcch_symbols = DL_req->dl_config_request_body.number_pdcch_ofdm_symbols; eNB->pdcch_vars[subframe&1].num_dci = 0; eNB->phich_vars[subframe&1].num_hi = 0; - +#ifdef Rel14 + eNB->mpdcch_vars[subframe&1].num_dci = 0; +#endif LOG_I(PHY,"NFAPI: Frame %d, Subframe %d (ul_subframe %d): received %d dl_pdu, %d tx_req, %d hi_dci0_config_req, %d UL_config \n", frame,subframe,ul_subframe,number_dl_pdu,TX_req->tx_request_body.number_of_pdus,number_hi_dci0_pdu,number_ul_pdu); diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 10867b4e8f..a18191f8cf 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -917,6 +917,7 @@ typedef struct { #ifdef Rel14 uint8_t rach_resource_type; uint8_t msg2_mpdcch_repetition_cnt; + uint8_t msg2_mpdcch_done; uint8_t msg4_mpdcch_repetition_cnt; uint8_t msg2_narrowband; uint8_t msg34_narrowband; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 2a5375579e..88ab9b1d39 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -251,6 +251,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s first_rb = narrowband_to_first_rb (&cc[CC_idP], RA_template->msg2_narrowband); if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { + RA_template->msg2_mpdcch_done = 0; // MPDCCH configuration for RAR LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2 for CE Level %d, Programming MPDCCH %d repetitions\n", module_idP, frameP, subframeP, RA_template->rach_resource_type-1,reps); @@ -308,7 +309,9 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s if (RA_template->msg2_mpdcch_repetition_cnt > 0) { // we're in a stream of repetitions - if (RA_template->msg2_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition + if ((RA_template->msg2_mpdcch_repetition_cnt == reps)&& + (RA_template->msg2_mpdcch_done == 0)){ // this is the last mpdcch repetition + RA_template->msg2_mpdcch_done = 1; if (cc[CC_idP].tdd_Config == NULL) { // FDD case // wait 2 subframes for PDSCH transmission if (subframeP > 7) @@ -329,7 +332,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s if ((RA_template->Msg2_frame == frameP) && (RA_template->Msg2_subframe == subframeP)) { // Program PDSCH - LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming PDSCH %d\n", module_idP, frameP, subframeP); + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming PDSCH\n", module_idP, frameP, subframeP); RA_template->generate_rar = 0; dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; @@ -373,6 +376,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s add_msg3 (module_idP, CC_idP, RA_template, frameP, subframeP); fill_rar_br (eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); // DL request + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming TX Req %d\n", module_idP, frameP, subframeP); eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble From 2d97eb4b34e5230b758afa98c2fb9fe4689f8562 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 19 Nov 2017 12:09:52 +0100 Subject: [PATCH 080/109] more debugging of RA procedure for eMTC --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 24 +- openair1/PHY/LTE_TRANSPORT/edci.c | 666 ++++++++++++------------ openair1/SCHED/fapi_l1.c | 12 +- openair1/SCHED/phy_procedures_lte_eNb.c | 31 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 8 +- 5 files changed, 368 insertions(+), 373 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 4b912fa47c..a75976a512 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -1065,7 +1065,7 @@ fill_dci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, DCI_ALLOC_t * dc dlsch0->subframe_tx[subframe] = 1; if (dlsch0->rnti != rel8->rnti) { // if rnti of dlsch is not the same as in the config, this is a new entry dlsch0_harq->round = 0; - dlsch0->harq_mask = 0; + dlsch0->harq_mask =0; } if ((dlsch0->harq_mask & (1 << rel8->harq_process)) > 0) { if (rel8->new_data_indicator_1 != dlsch0_harq->ndi) @@ -2353,30 +2353,42 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0_harq->dl_power_off = 1; - dlsch0->active = 1; - dlsch0->harq_mask |= (1 << rel13->harq_process); + dlsch0->subframe_tx[subframe] = 1; + if (dlsch0->rnti != rel13->rnti) { // if rnti of dlsch is not the same as in the config, this is a new entry + dlsch0_harq->round = 0; + dlsch0->harq_mask =0; + } + if ((dlsch0->harq_mask & (1 << rel13->harq_process)) > 0) { + if (rel13->new_data_indicator != dlsch0_harq->ndi) + dlsch0_harq->round = 0; + } else { // process is inactive, so activate and set round to 0 + dlsch0_harq->round = 0; + } + dlsch0_harq->ndi = rel13->new_data_indicator; if (dlsch0_harq->round == 0) { dlsch0_harq->status = ACTIVE; - // printf("Setting DLSCH process %d to ACTIVE\n",rel8->harq_process); + // MCS and TBS don't change across HARQ rounds - dlsch0_harq->mcs = rel13->mcs; dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; } + dlsch0->active = 1; + dlsch0->harq_mask |= (1 << rel13->harq_process); dlsch0->harq_ids[(subframe + 2) % 10] = rel13->harq_process; dlsch0_harq->frame = (subframe >= 8) ? ((frame + 1) & 1023) : frame; dlsch0_harq->subframe = (subframe + 2) % 10; + dlsch0->harq_ids[dlsch0_harq->subframe] = rel13->harq_process; dlsch0_harq->pdsch_start = rel13->start_symbol; LOG_I(PHY,"Setting DLSCH harq %d to active for %d.%d\n",rel13->harq_process,dlsch0_harq->frame,dlsch0_harq->subframe); dlsch0->rnti = rel13->rnti; - + dlsch0_harq->Qm = get_Qm(rel13->mcs); diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index d8d0f88254..7629e8c52c 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -49,52 +49,50 @@ //#define DEBUG_PHY #ifdef Rel14 -void -generate_edci_top (PHY_VARS_eNB * eNB, int frame, int subframe) +void generate_edci_top(PHY_VARS_eNB * eNB, int frame, int subframe) { } -void -mpdcch_scrambling (LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, uint16_t i, uint8_t * e, uint32_t length) +void mpdcch_scrambling(LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, uint16_t i, uint8_t * e, uint32_t length) { - int n; - uint8_t reset; - uint32_t x1, x2, s = 0; - uint8_t Nacc = 4; - uint16_t j0, j, idelta; - uint16_t i0 = mdci->i0; + int n; + uint8_t reset; + uint32_t x1, x2, s = 0; + uint8_t Nacc = 4; + uint16_t j0, j, idelta; + uint16_t i0 = mdci->i0; - // Note: we could actually not do anything if i-i0 < Nacc, save it for later + // Note: we could actually not do anything if i-i0 < Nacc, save it for later - reset = 1; - // x1 is set in lte_gold_generic + reset = 1; + // x1 is set in lte_gold_generic - if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI - Nacc = frame_parms->frame_type == FDD ? 4 : 10; - else - Nacc = 1; + if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI + Nacc = frame_parms->frame_type == FDD ? 4 : 10; + else + Nacc = 1; - if (frame_parms->frame_type == FDD || Nacc == 1) - idelta = 0; - else - idelta = Nacc - 2; + if (frame_parms->frame_type == FDD || Nacc == 1) + idelta = 0; + else + idelta = Nacc - 2; - j0 = (i0 + idelta) / Nacc; - j = (i - i0) / Nacc; + j0 = (i0 + idelta) / Nacc; + j = (i - i0) / Nacc; - // rule for BL/CE UEs from Section 6.8.B2 in 36.211 - x2 = ((((j0 + j) * Nacc) % 10) << 9) + mdci->dmrs_scrambling_init; + // rule for BL/CE UEs from Section 6.8.B2 in 36.211 + x2 = ((((j0 + j) * Nacc) % 10) << 9) + mdci->dmrs_scrambling_init; - for (n = 0; n < length; n++) { - if ((i & 0x1f) == 0) { - s = lte_gold_generic (&x1, &x2, reset); - //printf("lte_gold[%d]=%x\n",i,s); - reset = 0; + for (n = 0; n < length; n++) { + if ((i & 0x1f) == 0) { + s = lte_gold_generic(&x1, &x2, reset); + //printf("lte_gold[%d]=%x\n",i,s); + reset = 0; + } + e[i] = (e[i] & 1) ^ ((s >> (i & 0x1f)) & 1); } - e[i] = (e[i] & 1) ^ ((s >> (i & 0x1f)) & 1); - } } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -105,33 +103,30 @@ mpdcch_scrambling (LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, uint16 static uint16_t mpdcch5ss1p107108tab[864]; static uint16_t mpdcch5ss1p109110tab[864]; -void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re107108=0,re109110=0; +void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) +{ + int l, k, kmod, re107108 = 0, re109110 = 0; - LOG_I(PHY,"Inititalizing mpdcchss15tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + LOG_I(PHY, "Inititalizing mpdcchss15tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=1;l<14;l++) { - for (k=0;k<72;k++){ - kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13))|| - (kmod==2) || (kmod==3) || (kmod==4) || - (kmod==7) || (kmod==8) || (kmod==9)) { - mpdcch5ss1p109110tab[re109110]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch5ss1p107108tab[re107108]=mpdcch5ss1p109110tab[re109110]; - re107108++; - re109110++; - printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); - } - else if ((kmod==0)||(kmod==5)||(kmod==10)) { - mpdcch5ss1p109110tab[re109110++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - } - else if ((kmod==1)||(kmod==6)||(kmod==11)) { - mpdcch5ss1p107108tab[re107108++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); - } + for (l = 1; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { + mpdcch5ss1p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + mpdcch5ss1p107108tab[re107108] = mpdcch5ss1p109110tab[re109110]; + re107108++; + re109110++; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { + mpdcch5ss1p109110tab[re109110++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + } else if ((kmod == 1) || (kmod == 6) || (kmod == 11)) { + mpdcch5ss1p107108tab[re107108++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + } + } } - } - AssertFatal(re107108==864,"RE count not equal to 864 (%d)\n",re107108); + AssertFatal(re107108 == 864, "RE count not equal to 864 (%d)\n", re107108); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -141,32 +136,29 @@ void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { // Total = 576+216 = 792 REs = 1584 bits static uint16_t mpdcch5ss2p107108tab[792]; static uint16_t mpdcch5ss2p109110tab[792]; -void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re107108=0,re109110=0; +void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) +{ + int l, k, kmod, re107108 = 0, re109110 = 0; - LOG_I(PHY,"Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=2;l<14;l++) { - for (k=0;k<72;k++){ - kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13))|| - (kmod==2) || (kmod==3) || (kmod==4) || - (kmod==7) || (kmod==8) || (kmod==9)) { - mpdcch5ss2p109110tab[re109110]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch5ss2p107108tab[re107108]=mpdcch5ss2p109110tab[re109110]; - re107108++; - re109110++; - printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); - } - else if ((kmod==0)||(kmod==5)||(kmod==10)) { - mpdcch5ss2p109110tab[re109110++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - } - else if ((kmod==1)||(kmod==6)||(kmod==11)) { - mpdcch5ss2p107108tab[re107108++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); - } + LOG_I(PHY, "Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 2; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { + mpdcch5ss2p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + mpdcch5ss2p107108tab[re107108] = mpdcch5ss2p109110tab[re109110]; + re107108++; + re109110++; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { + mpdcch5ss2p109110tab[re109110++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + } else if ((kmod == 1) || (kmod == 6) || (kmod == 11)) { + mpdcch5ss2p107108tab[re107108++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + } + } } - } - AssertFatal(re107108==792,"RE count not equal to 792\n"); + AssertFatal(re107108 == 792, "RE count not equal to 792\n"); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -176,32 +168,29 @@ void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { // Total = 504+216 = 720 REs = 1440 bits static uint16_t mpdcch5ss3p107108tab[720]; static uint16_t mpdcch5ss3p109110tab[720]; -void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re107108=0,re109110=0; +void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) +{ + int l, k, kmod, re107108 = 0, re109110 = 0; - LOG_I(PHY,"Inititalizing mpdcch5ss3tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=3;l<14;l++) { - for (k=0;k<72;k++){ - kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13))|| - (kmod==2) || (kmod==3) || (kmod==4) || - (kmod==7) || (kmod==8) || (kmod==9)) { - mpdcch5ss3p109110tab[re109110]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch5ss3p107108tab[re107108]=mpdcch5ss3p109110tab[re109110]; - re107108++; - re109110++; - printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); - } - else if ((kmod==0)||(kmod==5)||(kmod==10)) { - mpdcch5ss3p109110tab[re109110++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - } - else if ((kmod==1)||(kmod==6)||(kmod==11)) { - mpdcch5ss3p107108tab[re107108++]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - printf("l %d, k %d (kmod %d) => re %d\n",l,k,kmod,re107108); - } + LOG_I(PHY, "Inititalizing mpdcch5ss3tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 3; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { + mpdcch5ss3p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + mpdcch5ss3p107108tab[re107108] = mpdcch5ss3p109110tab[re109110]; + re107108++; + re109110++; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { + mpdcch5ss3p109110tab[re109110++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + } else if ((kmod == 1) || (kmod == 6) || (kmod == 11)) { + mpdcch5ss3p107108tab[re107108++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + } + } } - } - AssertFatal(re107108==720,"RE count not equal to 792\n"); + AssertFatal(re107108 == 720, "RE count not equal to 792\n"); } // this table is the allocation of modulated MPDCCH format 3 symbols to REs, antenna ports 107,108 @@ -212,22 +201,22 @@ void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { static uint16_t mpdcch3ss1p107108tab[576]; static uint16_t mpdcch3ss1p109110tab[576]; -void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re; +void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) +{ + int l, k, kmod, re; - LOG_I(PHY,"Inititalizing mpdcch3ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=1,re=0;l<14;l++) { - for (k=0;k<48;k++){ - kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { - mpdcch3ss1p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch3ss1p107108tab[re]=1+mpdcch3ss1p109110tab[re]; - re++; - } + LOG_I(PHY, "Inititalizing mpdcch3ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 1, re = 0; l < 14; l++) { + for (k = 0; k < 48; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) { + mpdcch3ss1p109110tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + mpdcch3ss1p107108tab[re] = 1 + mpdcch3ss1p109110tab[re]; + re++; + } + } } - } - AssertFatal(re==576,"RE count not equal to 864\n"); + AssertFatal(re == 576, "RE count not equal to 864\n"); } // this table is the allocation of modulated MPDCCH format 2 symbols to REs, antenna ports 107,108 @@ -237,256 +226,241 @@ void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { // Total = 216+72 = 288 = 8CCE*36RE/CCE static uint16_t mpdcch2ss1p107108tab[288]; static uint16_t mpdcch2ss1p109110tab[288]; -void init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB *eNB) { - int l,k,kmod,re; +void init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) +{ + int l, k, kmod, re; - LOG_I(PHY,"Inititalizing mpdcch2ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l=1,re=0;l<14;l++) { - for (k=0;k<24;k++){ - kmod = k % 12; - if (((l!=5) && (l!=6) && (l!=12) && (l!=13)) || - (((l==5)||(l==6)||(l==12)||(l==13))&&(kmod!=0)&&(kmod!=5)&&(kmod!=10))) { - mpdcch2ss1p109110tab[re]=(l*eNB->frame_parms.ofdm_symbol_size)+k; - mpdcch2ss1p107108tab[re]=1+mpdcch2ss1p109110tab[re]; - re++; - } + LOG_I(PHY, "Inititalizing mpdcch2ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 1, re = 0; l < 14; l++) { + for (k = 0; k < 24; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) { + mpdcch2ss1p109110tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + mpdcch2ss1p107108tab[re] = 1 + mpdcch2ss1p109110tab[re]; + re++; + } + } } - } - AssertFatal(re==288,"RE count not equal to 288\n"); + AssertFatal(re == 288, "RE count not equal to 288\n"); } -extern uint8_t *generate_dci0(uint8_t *dci, - uint8_t *e, - uint8_t DCI_LENGTH, - uint8_t bitsperCCE, - uint8_t aggregation_level, - uint16_t rnti); +extern uint8_t *generate_dci0(uint8_t * dci, uint8_t * e, uint8_t DCI_LENGTH, uint8_t bitsperCCE, uint8_t aggregation_level, uint16_t rnti); -uint16_t mpdcch_dmrs_tab[12*6]; +uint16_t mpdcch_dmrs_tab[12 * 6]; -void init_mpdcch_dmrs_tab(uint16_t oss) { - - int re = 5*oss; - int pos = 0; - - for (int symb=0;symb<4;symb++) { - for (int prb=0;prb<6;prb++,re+=12) { - mpdcch_dmrs_tab[pos++] = re; - mpdcch_dmrs_tab[pos++] = re+5; - mpdcch_dmrs_tab[pos++] = re+10; - } - if (symb == 0) re=6*oss; - else if (symb == 1) re=12*oss; - else if (symb == 2) re=13*oss; - } - -} - -void -generate_mdci_top (PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF) +void init_mpdcch_dmrs_tab(uint16_t oss) { - LTE_eNB_MPDCCH *mpdcch= &eNB->mpdcch_vars[subframe&1]; - mDCI_ALLOC_t *mdci; - int coded_bits; - LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; - int i; - int gain_lin_QPSK; - uint8_t bitsperCCE; - uint16_t *mpdcchtab; + int re = 5 * oss; + int pos = 0; - uint32_t x1, x2, s = 0; - uint8_t Nacc = 4; - uint16_t j0, j, idelta; - uint16_t i0; - - int off; - - // Assumption: only handle a single MPDCCH per narrowband - - LOG_I(PHY,"generate_mdci_top: num_dci %d\n",mpdcch->num_dci); - - for (i=0;inum_dci;i++) { - mdci = &mpdcch->mdci_alloc[i]; - - AssertFatal (fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n"); - AssertFatal (fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n"); - AssertFatal (mdci->L <= 24, "L is %d\n", mdci->L); - AssertFatal (fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "Only N_RB_DL=50,100 for MPDCCH\n"); - // Force MPDDCH format 5 - AssertFatal (mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); - - // These are to avoid unimplemented things - AssertFatal (mdci->ce_mode == 1, "CE mode (%d) B not activated yet\n",mdci->ce_mode); - AssertFatal (mdci->L == 24, "Only 2+4 and aggregation 24 for now\n"); - - LOG_I(PHY,"mdci %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d \n", - i,mdci->rnti,mdci->L,mdci->number_of_prb_pairs,mdci->ce_mode,mdci->i0,mdci->start_symbol); - i0 = mdci->i0; - // antenna index - int a_index = mdci->rnti & 3; - - if ((mdci->start_symbol == 1) && (a_index<2)) { - mpdcchtab = mpdcch5ss1p107108tab; - bitsperCCE = 72; - } - else if ((mdci->start_symbol == 1) && (a_index>1)) { - mpdcchtab = mpdcch5ss1p109110tab; - bitsperCCE = 72; - } - else if ((mdci->start_symbol == 2) && (a_index<2)) { - mpdcchtab = mpdcch5ss2p107108tab; - bitsperCCE = 66; - } - else if ((mdci->start_symbol == 2) && (a_index>1)) { - mpdcchtab = mpdcch5ss2p109110tab; - bitsperCCE = 66; - } - else if ((mdci->start_symbol == 3) && (a_index<2)) { - mpdcchtab = mpdcch5ss2p107108tab; - bitsperCCE = 60; - } - else if ((mdci->start_symbol == 3) && (a_index<2)) { - mpdcchtab = mpdcch5ss2p109110tab; - bitsperCCE = 60; - } - else - AssertFatal(1==0,"Illegal combination start_symbol %d, a_index %d\n",mdci->start_symbol,a_index); - - - // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing - - generate_dci0(mdci->dci_pdu, - mpdcch->e+(bitsperCCE*mdci->firstCCE), - mdci->dci_length, - mdci->L, - bitsperCCE, - mdci->rnti); - - - coded_bits = bitsperCCE * mdci->L; - - // scrambling - uint16_t absSF = (frame * 10) + subframe; - - AssertFatal (absSF < 10240, "Absolute subframe %d = %d*10 + %d > 10239\n", absSF, frame, subframe); - - mpdcch_scrambling(fp, - mdci, - absSF, - mpdcch->e+(bitsperCCE*mdci->firstCCE), - coded_bits); - - // Modulation for PDCCH - if (fp->nb_antenna_ports_eNB == 1) - gain_lin_QPSK = (int16_t) ((amp * ONE_OVER_SQRT2_Q15) >> 15); - else - gain_lin_QPSK = amp / 2; - - uint8_t *e_ptr = mpdcch->e; - - // if (mdci->transmission_type==0) nprime=mdci->rnti&3; // for Localized 2+4 we use 6.8B.5 rule - // map directly to one antenna port for now - // Note: aside from the antenna port mapping, there is no difference between localized and distributed transmission for MPDCCH format 5 - - // first RE of narrowband - // mpdcchtab5 below contains the mapping from each coded symbol to relative RE avoiding the DMRS - - int nb_i0; - switch (fp->N_RB_DL) { - - case 6: - case 25: - nb_i0=0; - break; - case 15: - case 50: - case 75: - nb_i0=1; - break; - case 100: - nb_i0=2; - break; - default: - AssertFatal(1==0,"Illegal N_RB_DL %d\n",fp->N_RB_DL); - break; + for (int symb = 0; symb < 4; symb++) { + for (int prb = 0; prb < 6; prb++, re += 12) { + mpdcch_dmrs_tab[pos++] = re; + mpdcch_dmrs_tab[pos++] = re + 5; + mpdcch_dmrs_tab[pos++] = re + 10; + } + if (symb == 0) + re = 6 * oss; + else if (symb == 1) + re = 12 * oss; + else if (symb == 2) + re = 13 * oss; } - int re_offset = fp->first_carrier_offset + (12*nb_i0) + mdci->narrowband * 12 * 6; - if (re_offset > fp->ofdm_symbol_size) - re_offset -= (fp->ofdm_symbol_size - 1); - int32_t *txF = &txdataF[0][re_offset]; - int32_t yIQ; +} - for (i = 0; i < (coded_bits >> 1); i++) { - // QPSK modulation to yIQ - ((int16_t *) & yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - e_ptr++; - ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - e_ptr++; - txF[mpdcchtab[i + ((bitsperCCE>>1) * mdci->firstCCE)]] = yIQ; - //LOG_I(PHY,"Frame %d, subframe %d: mpdcch pos %d: %d => (%d,%d)\n", - // frame,subframe,i,mpdcchtab[i + ((bitsperCCE>>2) * mdci->firstCCE)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); +void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF) +{ + + LTE_eNB_MPDCCH *mpdcch = &eNB->mpdcch_vars[subframe & 1]; + mDCI_ALLOC_t *mdci; + int coded_bits; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + int i; + int gain_lin_QPSK; + uint8_t bitsperCCE; + uint16_t *mpdcchtab; + + uint32_t x1, x2, s = 0; + uint8_t Nacc = 4; + uint16_t j0, j, idelta; + uint16_t i0; + + int off; + + // Assumption: only handle a single MPDCCH per narrowband + + LOG_I(PHY, "generate_mdci_top: num_dci %d\n", mpdcch->num_dci); + + for (i = 0; i < mpdcch->num_dci; i++) { + mdci = &mpdcch->mdci_alloc[i]; + + AssertFatal(fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n"); + AssertFatal(fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n"); + AssertFatal(mdci->L <= 24, "L is %d\n", mdci->L); + AssertFatal(fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "Only N_RB_DL=50,100 for MPDCCH\n"); + // Force MPDDCH format 5 + AssertFatal(mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); + + // These are to avoid unimplemented things + AssertFatal(mdci->ce_mode == 1, "CE mode (%d) B not activated yet\n", mdci->ce_mode); + AssertFatal(mdci->L == 24, "Only 2+4 and aggregation 24 for now\n"); + + LOG_I(PHY, "mdci %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d \n", i, mdci->rnti, mdci->L, mdci->number_of_prb_pairs, mdci->ce_mode, mdci->i0, mdci->start_symbol); + i0 = mdci->i0; + // antenna index + int a_index = mdci->rnti & 3; + + if ((mdci->start_symbol == 1) && (a_index < 2)) { + mpdcchtab = mpdcch5ss1p107108tab; + bitsperCCE = 72; + } else if ((mdci->start_symbol == 1) && (a_index > 1)) { + mpdcchtab = mpdcch5ss1p109110tab; + bitsperCCE = 72; + } else if ((mdci->start_symbol == 2) && (a_index < 2)) { + mpdcchtab = mpdcch5ss2p107108tab; + bitsperCCE = 66; + } else if ((mdci->start_symbol == 2) && (a_index > 1)) { + mpdcchtab = mpdcch5ss2p109110tab; + bitsperCCE = 66; + } else if ((mdci->start_symbol == 3) && (a_index < 2)) { + mpdcchtab = mpdcch5ss2p107108tab; + bitsperCCE = 60; + } else if ((mdci->start_symbol == 3) && (a_index < 2)) { + mpdcchtab = mpdcch5ss2p109110tab; + bitsperCCE = 60; + } else + AssertFatal(1 == 0, "Illegal combination start_symbol %d, a_index %d\n", mdci->start_symbol, a_index); + + + // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing + + generate_dci0(mdci->dci_pdu, mpdcch->e + (bitsperCCE * mdci->firstCCE), mdci->dci_length, mdci->L, bitsperCCE, mdci->rnti); + + + coded_bits = bitsperCCE * mdci->L; + + // scrambling + uint16_t absSF = (frame * 10) + subframe; + + AssertFatal(absSF < 10240, "Absolute subframe %d = %d*10 + %d > 10239\n", absSF, frame, subframe); + + mpdcch_scrambling(fp, mdci, absSF, mpdcch->e + (bitsperCCE * mdci->firstCCE), coded_bits); + + // Modulation for PDCCH + if (fp->nb_antenna_ports_eNB == 1) + gain_lin_QPSK = (int16_t) ((amp * ONE_OVER_SQRT2_Q15) >> 15); + else + gain_lin_QPSK = amp / 2; + + uint8_t *e_ptr = mpdcch->e; + + // if (mdci->transmission_type==0) nprime=mdci->rnti&3; // for Localized 2+4 we use 6.8B.5 rule + // map directly to one antenna port for now + // Note: aside from the antenna port mapping, there is no difference between localized and distributed transmission for MPDCCH format 5 + + // first RE of narrowband + // mpdcchtab5 below contains the mapping from each coded symbol to relative RE avoiding the DMRS + + int nb_i0; + switch (fp->N_RB_DL) { + + case 6: + case 25: + nb_i0 = 0; + break; + case 15: + case 50: + case 75: + nb_i0 = 1; + break; + case 100: + nb_i0 = 2; + break; + default: + AssertFatal(1 == 0, "Illegal N_RB_DL %d\n", fp->N_RB_DL); + break; + } + + int re_offset = fp->first_carrier_offset + (12 * nb_i0) + mdci->narrowband * 12 * 6; + if (re_offset > fp->ofdm_symbol_size) + re_offset -= (fp->ofdm_symbol_size - 1); + int32_t *txF = &txdataF[0][re_offset]; + int32_t yIQ; + + for (i = 0; i < (coded_bits >> 1); i++) { + // QPSK modulation to yIQ + ((int16_t *) & yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + e_ptr++; + ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + e_ptr++; + txF[mpdcchtab[i + ((bitsperCCE >> 1) * mdci->firstCCE)]] = yIQ; + //LOG_I(PHY,"Frame %d, subframe %d: mpdcch pos %d: %d => (%d,%d)\n", + // frame,subframe,i,mpdcchtab[i + ((bitsperCCE>>2) * mdci->firstCCE)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); + } + + if (a_index > 1) + off = 0; + else + off = 1; + + // pilot scrambling initiatlization (note: this is for a single repetition) + + // x1 is set in lte_gold_generic + + // rule for BL/CE UEs from Section 6.10.3A.1 in 36.211 + + if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI + Nacc = fp->frame_type == FDD ? 4 : 10; + else + Nacc = 1; + + if (fp->frame_type == FDD || Nacc == 1) + idelta = 0; + else + idelta = Nacc - 2; + + j0 = (i0 + idelta) / Nacc; + j = (i - i0) / Nacc; + + + + uint32_t a = ((((j0 + j) * Nacc) % 10) + 1); + uint32_t b = ((mdci->dmrs_scrambling_init << 1) + 1) << 16; + x2 = a * b; + LOG_I(PHY, "mpdcch_dmrs cinit %d\n", x2); + + // add MPDCCH pilots + int reset = 1; + for (i = 0; i < (24 * 6); i += 2) { + if ((i & 0x1f) == 0) { + s = lte_gold_generic(&x1, &x2, reset); + reset = 0; + } + ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + txF[off + mpdcch_dmrs_tab[(i >> 1)]] = yIQ; + LOG_D(PHY, "mpdcch_dmrs pos %d: %d => (%d,%d)\n", i, off + mpdcch_dmrs_tab[(i >> 1)], ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); + } } - if (a_index>1) off=0; - else off=1; - - // pilot scrambling initiatlization (note: this is for a single repetition) - - // x1 is set in lte_gold_generic - - // rule for BL/CE UEs from Section 6.10.3A.1 in 36.211 - - if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI - Nacc = fp->frame_type == FDD ? 4 : 10; - else - Nacc = 1; - - if (fp->frame_type == FDD || Nacc == 1) - idelta = 0; - else - idelta = Nacc - 2; - - j0 = (i0 + idelta) / Nacc; - j = (i - i0) / Nacc; - - - - uint32_t a = ((((j0 + j) * Nacc) % 10)+1); - uint32_t b = ((mdci->dmrs_scrambling_init<<1)+1) << 16; - x2 = a*b; - LOG_I(PHY,"mpdcch_dmrs cinit %d\n",x2); - - // add MPDCCH pilots - int reset = 1; - for (i=0; i < (24*6) ; i+=2) { - if ((i & 0x1f) == 0) { - s = lte_gold_generic (&x1, &x2, reset); - reset = 0; - } - ((int16_t *) & yIQ)[0] = (((s>>(i & 0x1f))&1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - ((int16_t *) & yIQ)[1] = (((s>>((i+1) & 0x1f))&1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - txF[off+mpdcch_dmrs_tab[(i>>1)]] = yIQ; - LOG_I(PHY,"mpdcch_dmrs pos %d: %d => (%d,%d)\n",i,off+mpdcch_dmrs_tab[(i>>1)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); - } - } - } -void init_mpdcch(PHY_VARS_eNB *eNB) { +void init_mpdcch(PHY_VARS_eNB * eNB) +{ - init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch_dmrs_tab(eNB->frame_parms.ofdm_symbol_size); + init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch_dmrs_tab(eNB->frame_parms.ofdm_symbol_size); } #endif diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 374cccb239..b34c360ff9 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -214,7 +214,10 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, dlsch0->i0 = 0xFFFF; #endif + dlsch0->active = 1; harq_pid = dlsch0->harq_ids[proc->subframe_tx]; + dlsch0->harq_mask |= (1<=0) && (harq_pid<8),"harq_pid %d not in 0...7\n",harq_pid); dlsch0_harq = dlsch0->harq_processes[harq_pid]; dlsch1_harq = dlsch1->harq_processes[harq_pid]; @@ -232,8 +235,11 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, computeRhoB_eNB(&eNB->pdsch_config_dedicated[UE_id],&(eNB->frame_parms.pdsch_config_common),eNB->frame_parms.nb_antenna_ports_eNB,dlsch1,dlsch1_harq->dl_power_off); } +#ifndef Rel14 dlsch0_harq->pdsch_start = eNB->pdcch_vars[proc->subframe_tx & 1].num_pdcch_symbols; - +#else + dlsch0_harq->pdsch_start = rel10->pdsch_start; +#endif if (dlsch0_harq->round==0) { //get pointer to SDU if this a new SDU AssertFatal(sdu!=NULL,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d : sdu is null for pdu_index %d\n", proc->frame_tx,proc->subframe_tx,rel8->rnti,UE_id,harq_pid, @@ -618,7 +624,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) eNB->mpdcch_vars[subframe&1].num_dci = 0; #endif - LOG_I(PHY,"NFAPI: Frame %d, Subframe %d (ul_subframe %d): received %d dl_pdu, %d tx_req, %d hi_dci0_config_req, %d UL_config \n", + LOG_D(PHY,"NFAPI: Frame %d, Subframe %d (ul_subframe %d): received %d dl_pdu, %d tx_req, %d hi_dci0_config_req, %d UL_config \n", frame,subframe,ul_subframe,number_dl_pdu,TX_req->tx_request_body.number_of_pdus,number_hi_dci0_pdu,number_ul_pdu); @@ -638,7 +644,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) } for (i=0;idl_config_request_body.dl_config_pdu_list[i]; - LOG_I(PHY,"NFAPI: dl_pdu %d : type %d\n",i,dl_config_pdu->pdu_type); + LOG_D(PHY,"NFAPI: dl_pdu %d : type %d\n",i,dl_config_pdu->pdu_type); switch (dl_config_pdu->pdu_type) { case NFAPI_DL_CONFIG_DCI_DL_PDU_TYPE: handle_nfapi_dci_dl_pdu(eNB,proc,dl_config_pdu); diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index a6ed5b6d10..74005e3166 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -407,27 +407,30 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) { dlsch0 = eNB->dlsch[(uint8_t) UE_id][0]; dlsch1 = eNB->dlsch[(uint8_t) UE_id][1]; - + //if (dlsch0 && (dlsch0->rnti > 0) && (dlsch0->rnti!=0xFFFF)) if ((dlsch0) && (dlsch0->rnti > 0) && (dlsch0->active == 1)) { // get harq_pid harq_pid = dlsch0->harq_ids[subframe]; - AssertFatal (harq_pid >= 0, "harq_pid is negative\n"); + if (harq_pid >=0 && harq_pid < 8) { // generate pdsch - LOG_I(PHY,"SFN %d.%d: DLSCH for rnti %x is active, harq_pid %d => SFN %d.%d\n", - frame, - subframe, - dlsch0->rnti, - harq_pid, - dlsch0->harq_processes[harq_pid]->frame, - dlsch0->harq_processes[harq_pid]->subframe); - if ((dlsch0->harq_processes[harq_pid]->status == ACTIVE) && (dlsch0->harq_processes[harq_pid]->frame == frame) && (dlsch0->harq_processes[harq_pid]->subframe == subframe)) - pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); + if ((dlsch0->rnti !=0xFFFF)) { + LOG_I(PHY,"SFN %d.%d: DLSCH %d for rnti %x is active, harq_pid %d => SFN %d.%d\n", + frame, + subframe, + UE_id, + dlsch0->rnti, + harq_pid, + dlsch0->harq_processes[harq_pid]->frame, + dlsch0->harq_processes[harq_pid]->subframe); + } + if ((dlsch0->harq_processes[harq_pid]->status == ACTIVE) && (dlsch0->harq_processes[harq_pid]->frame == frame) && (dlsch0->harq_processes[harq_pid]->subframe == subframe)) + pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); + } } - else if ((dlsch0) && (dlsch0->rnti > 0) && (dlsch0->active == 0)) { // clear subframe TX flag since UE is not scheduled for PDSCH in this subframe (so that we don't look for PUCCH later) @@ -1078,7 +1081,7 @@ pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) ulsch->cyclicShift = (ulsch_harq->n_DMRS2 + fp->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift + nPRS) % 12; - LOG_D (PHY, + LOG_I (PHY, "[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, Qm %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, nprs %d), O_ACK %d, beta_cqi %d \n", eNB->Mod_id, harq_pid, frame, subframe, ulsch_harq->dci_alloc, @@ -1103,7 +1106,7 @@ pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) stop_meas (&eNB->ulsch_decoding_stats); - LOG_D (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d\n", eNB->Mod_id, harq_pid, frame, subframe, ulsch->rnti, dB_fixed (eNB->pusch_vars[i]->ulsch_power[0]), dB_fixed (eNB->pusch_vars[i]->ulsch_power[1]), 20, //eNB->measurements.n0_power_dB[0], + LOG_I (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d\n", eNB->Mod_id, harq_pid, frame, subframe, ulsch->rnti, dB_fixed (eNB->pusch_vars[i]->ulsch_power[0]), dB_fixed (eNB->pusch_vars[i]->ulsch_power[1]), 20, //eNB->measurements.n0_power_dB[0], 20, //eNB->measurements.n0_power_dB[1], ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1], ret); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 88ab9b1d39..6f15e90c8f 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -85,9 +85,9 @@ add_msg3 (module_id_t module_idP, int CC_id, RA_TEMPLATE * RA_template, frame_t #ifdef Rel14 if (RA_template->rach_resource_type > 0) { - LOG_D (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n", + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n", module_idP, frameP, subframeP, CC_id, RA_template->rach_resource_type - 1, RA_template->Msg3_frame, RA_template->Msg3_subframe); - LOG_D (MAC, "Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d) : (%d,%d)\n", + LOG_I (MAC, "Frame %d, Subframe %d Adding Msg3 UL Config Request for (%d,%d) : (%d,%d)\n", frameP, subframeP, RA_template->Msg3_frame, RA_template->Msg3_subframe, RA_template->msg3_nb_rb, RA_template->msg3_round); ul_config_pdu = &ul_req_body->ul_config_pdu_list[ul_req_body->number_of_pdus]; @@ -371,10 +371,10 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; dl_req->number_pdu++; - // Program UL processing for Msg3, same as regular LTE + fill_rar_br (eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1) ; +// Program UL processing for Msg3, same as regular LTE get_Msg3alloc (&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); add_msg3 (module_idP, CC_idP, RA_template, frameP, subframeP); - fill_rar_br (eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1); // DL request LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming TX Req %d\n", module_idP, frameP, subframeP); eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; From 7451f4c9f5c66a0993d218f6750a8d1dc0431143 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 21 Nov 2017 08:00:48 +0100 Subject: [PATCH 081/109] fixed MPDDCH resource element mappings and DMRS scrambling initialization --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 23 +++++++----- openair1/PHY/LTE_TRANSPORT/edci.c | 47 ++++++++++++++++--------- openair1/SCHED/phy_procedures_lte_eNb.c | 2 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 4 +-- 4 files changed, 48 insertions(+), 28 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index a75976a512..5db9ca9af7 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -2218,8 +2218,8 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1A_10MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; ((DCI6_1A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; - LOG_I(PHY,"Frame %d, Subframe %d : Programming Format 6-1A DCI, mcs %d, rballoc %x, dci_rep r%d, L %d, narrowband %d, start_symbol %d\n", - frame,subframe,rel13->mcs,rel13->resource_block_coding,1+rel13->dci_subframe_repetition_number,rel13->aggregation_level,rel13->mpdcch_narrow_band,dci_alloc->start_symbol); + LOG_I(PHY,"Frame %d, Subframe %d : Programming Format 6-1A DCI, mcs %d, rballoc %x, dci_rep r%d, L %d, narrowband %d, start_symbol %d, TPC %d, ra_flag %d, dci_type %d\n", + frame,subframe,rel13->mcs,rel13->resource_block_coding,1+rel13->dci_subframe_repetition_number,rel13->aggregation_level,rel13->mpdcch_narrow_band,dci_alloc->start_symbol,rel13->tpc,dci_alloc->ra_flag,rel13->rnti_type); break; case 100: dci_alloc->dci_length = sizeof_DCI6_1A_20MHz_t; @@ -2333,7 +2333,7 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * // printf("DCI: Setting subframe_tx for subframe %d\n",subframe); dlsch0->subframe_tx[(subframe + 2) % 10] = 1; - LOG_I(PHY,"PDSCH : resource_block_coding %x",rel13->resource_block_coding); + LOG_I(PHY,"PDSCH : resource_block_coding %x\n",rel13->resource_block_coding); conv_eMTC_rballoc (rel13->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); @@ -2360,7 +2360,7 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0->harq_mask =0; } if ((dlsch0->harq_mask & (1 << rel13->harq_process)) > 0) { - if (rel13->new_data_indicator != dlsch0_harq->ndi) + if ((rel13->new_data_indicator != dlsch0_harq->ndi)||(dci_alloc->ra_flag==1)) dlsch0_harq->round = 0; } else { // process is inactive, so activate and set round to 0 dlsch0_harq->round = 0; @@ -2369,10 +2369,15 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * if (dlsch0_harq->round == 0) { dlsch0_harq->status = ACTIVE; - - // MCS and TBS don't change across HARQ rounds - dlsch0_harq->TBS = TBStable[get_I_TBS (dlsch0_harq->mcs)][dlsch0_harq->nb_rb - 1]; - + dlsch0_harq->mcs = rel13->mcs; + if (dci_alloc->ra_flag == 0) // get TBS from table using mcs and nb_rb + dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][dlsch0_harq->nb_rb-1]; + else if (rel13->tpc == 0) //N1A_PRB=2, get TBS from table using mcs and nb_rb=2 + dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][1]; + else if (rel13->tpc == 1) //N1A_PRB=3, get TBS from table using mcs and nb_rb=3 + dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][2]; + + LOG_I(PHY,"TBS = %d(%d)\n",dlsch0_harq->TBS,dlsch0_harq->mcs); } dlsch0->active = 1; dlsch0->harq_mask |= (1 << rel13->harq_process); @@ -2384,7 +2389,7 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0->harq_ids[dlsch0_harq->subframe] = rel13->harq_process; dlsch0_harq->pdsch_start = rel13->start_symbol; - LOG_I(PHY,"Setting DLSCH harq %d to active for %d.%d\n",rel13->harq_process,dlsch0_harq->frame,dlsch0_harq->subframe); + LOG_I(PHY,"Setting DLSCH harq %d round %d to active for %d.%d\n",rel13->harq_process,dlsch0_harq->round,dlsch0_harq->frame,dlsch0_harq->subframe); dlsch0->rnti = rel13->rnti; diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 7629e8c52c..e5a93c09de 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -84,7 +84,8 @@ void mpdcch_scrambling(LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, ui // rule for BL/CE UEs from Section 6.8.B2 in 36.211 x2 = ((((j0 + j) * Nacc) % 10) << 9) + mdci->dmrs_scrambling_init; - + LOG_I(PHY,"MPDCCH cinit = %x (mdci->dmrs_scrambling_init = %d)\n", + x2,mdci->dmrs_scrambling_init); for (n = 0; n < length; n++) { if ((i & 0x1f) == 0) { s = lte_gold_generic(&x1, &x2, reset); @@ -139,26 +140,33 @@ static uint16_t mpdcch5ss2p109110tab[792]; void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) { int l, k, kmod, re107108 = 0, re109110 = 0; - + int nushift = eNB->frame_parms.Nid_cell % 6; + int nushiftp3 = (eNB->frame_parms.Nid_cell+3) % 6; + // NOTE : THIS IS FOR TM1 ONLY FOR NOW!!!!!!! LOG_I(PHY, "Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); for (l = 2; l < 14; l++) { for (k = 0; k < 72; k++) { kmod = k % 12; - if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { + if ((((l == 4)||(l==11)) && (kmod != nushiftp3) && (kmod != (nushiftp3+6))) || + ((l == 7) && (kmod != nushift) &&(kmod != (nushift+6)))) { // CS RS + mpdcch5ss2p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + mpdcch5ss2p107108tab[re107108] = mpdcch5ss2p109110tab[re109110]; + re107108++; + re109110++; + printf("CSRS: l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); + + } + if (((l!=4)&&(l!=7)&&(l!=11)) && + (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9))) { mpdcch5ss2p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; mpdcch5ss2p107108tab[re107108] = mpdcch5ss2p109110tab[re109110]; re107108++; re109110++; printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { - mpdcch5ss2p109110tab[re109110++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - } else if ((kmod == 1) || (kmod == 6) || (kmod == 11)) { - mpdcch5ss2p107108tab[re107108++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); } } } - AssertFatal(re107108 == 792, "RE count not equal to 792\n"); + AssertFatal(re107108 == 684, "RE count not equal to 684\n"); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -295,6 +303,10 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, // Assumption: only handle a single MPDCCH per narrowband + int nsymb = (fp->Ncp==0) ? 14:12; + + int symbol_offset = (uint32_t)fp->ofdm_symbol_size*(subframe*nsymb); + LOG_I(PHY, "generate_mdci_top: num_dci %d\n", mpdcch->num_dci); for (i = 0; i < mpdcch->num_dci; i++) { @@ -310,11 +322,10 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, // These are to avoid unimplemented things AssertFatal(mdci->ce_mode == 1, "CE mode (%d) B not activated yet\n", mdci->ce_mode); AssertFatal(mdci->L == 24, "Only 2+4 and aggregation 24 for now\n"); - - LOG_I(PHY, "mdci %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d \n", i, mdci->rnti, mdci->L, mdci->number_of_prb_pairs, mdci->ce_mode, mdci->i0, mdci->start_symbol); + int a_index = mdci->rnti & 3; + LOG_I(PHY, "mdci %d, length %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d Ant %d\n", i, mdci->dci_length,mdci->rnti, mdci->L, mdci->number_of_prb_pairs, mdci->ce_mode, mdci->i0, mdci->start_symbol,(a_index<2)?107:109); i0 = mdci->i0; // antenna index - int a_index = mdci->rnti & 3; if ((mdci->start_symbol == 1) && (a_index < 2)) { mpdcchtab = mpdcch5ss1p107108tab; @@ -390,7 +401,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int re_offset = fp->first_carrier_offset + (12 * nb_i0) + mdci->narrowband * 12 * 6; if (re_offset > fp->ofdm_symbol_size) re_offset -= (fp->ofdm_symbol_size - 1); - int32_t *txF = &txdataF[0][re_offset]; + int32_t *txF = &txdataF[0][symbol_offset+re_offset]; int32_t yIQ; for (i = 0; i < (coded_bits >> 1); i++) { @@ -426,17 +437,19 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, idelta = Nacc - 2; j0 = (i0 + idelta) / Nacc; - j = (i - i0) / Nacc; + j = (absSF - i0) / Nacc; uint32_t a = ((((j0 + j) * Nacc) % 10) + 1); uint32_t b = ((mdci->dmrs_scrambling_init << 1) + 1) << 16; x2 = a * b; - LOG_I(PHY, "mpdcch_dmrs cinit %d\n", x2); + x2 = x2 + 2; + LOG_I(PHY, "mpdcch_dmrs cinit %x (a=%d,b=%d,i0=%d,j0=%d)\n", x2,a,b,i0,j0); // add MPDCCH pilots int reset = 1; + //gain_lin_QPSK*=2; for (i = 0; i < (24 * 6); i += 2) { if ((i & 0x1f) == 0) { s = lte_gold_generic(&x1, &x2, reset); @@ -444,7 +457,9 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, } ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - txF[off + mpdcch_dmrs_tab[(i >> 1)]] = yIQ; + txF[mpdcch_dmrs_tab[(i >> 1)]] = yIQ; + txF[mpdcch_dmrs_tab[1+(i >> 1)]] = yIQ; + LOG_D(PHY, "mpdcch_dmrs pos %d: %d => (%d,%d)\n", i, off + mpdcch_dmrs_tab[(i >> 1)], ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); } } diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 74005e3166..9f3b962ef9 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -535,7 +535,7 @@ prach_procedures (PHY_VARS_eNB * eNB, eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind]; // eNB->preamble_list_br[ind].preamble_rel8.preamble = max_preamble[ind]; // note: fid is implicitly 0 here, this is the rule for eMTC RA-RNTI from 36.321, Section 5.1.4 - eNB->preamble_list_br[ind].preamble_rel8.rnti = 1 + subframe + (eNB->prach_vars_br.first_frame[ce_level] % 40); + eNB->preamble_list_br[ind].preamble_rel8.rnti = 1 + subframe + (60*(eNB->prach_vars_br.first_frame[ce_level] % 40)); eNB->preamble_list_br[ind].instance_length = 0; //don't know exactly what this is eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type = 1 + ce_level; // CE Level LOG_D (PHY, "Filling NFAPI indication for RACH %d CELevel %d (mask %x) : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 6f15e90c8f..a707b40cdf 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -275,7 +275,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6) | (RA_template->msg2_narrowband<<5); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 1; // adjust according to size of RAR, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; @@ -286,7 +286,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3 (36.212); => 208 bits for mcs=4, choose mcs according t message size TBD + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 0; // N1A_PRB=2 (36.212); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; From 7db69e3ad57988f04cc636b9ce303b62afce81a8 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 21 Nov 2017 17:24:51 +0100 Subject: [PATCH 082/109] MPDCCH resource element fix --- openair1/PHY/LTE_TRANSPORT/edci.c | 4 ++-- openair1/SCHED/phy_procedures_lte_eNb.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index e5a93c09de..1b5c7eeab8 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -449,7 +449,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, // add MPDCCH pilots int reset = 1; - //gain_lin_QPSK*=2; + gain_lin_QPSK*=2; for (i = 0; i < (24 * 6); i += 2) { if ((i & 0x1f) == 0) { s = lte_gold_generic(&x1, &x2, reset); @@ -458,7 +458,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; txF[mpdcch_dmrs_tab[(i >> 1)]] = yIQ; - txF[mpdcch_dmrs_tab[1+(i >> 1)]] = yIQ; + txF[1+mpdcch_dmrs_tab[(i >> 1)]] = yIQ; LOG_D(PHY, "mpdcch_dmrs pos %d: %d => (%d,%d)\n", i, off + mpdcch_dmrs_tab[(i >> 1)], ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); } diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 9f3b962ef9..8199f26053 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -399,7 +399,9 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type if (num_mdci > 0) { LOG_I (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_mdci_top (mpdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_mdci); - generate_mdci_top (eNB, frame, subframe, AMP, eNB->common_vars.txdataF); + generate_mdci_top (eNB, frame, subframe, AMP*3/4, eNB->common_vars.txdataF); + //write_output("/tmp/mpdcch.m","mpdcch_txF",(void*)&eNB->common_vars.txdataF[0][subframe*14*1024],14*1024,1,1); + //exit(-1); } #endif // Now scan UE specific DLSCH From dd695beb5e06864252bee808fe5fedd60ad1253c Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 26 Nov 2017 03:22:29 -0800 Subject: [PATCH 083/109] functions up to Msg3 reception. Still a bug in decoding, signal is perfect, but decoding fails. probably an issue in the descrambling --- openair1/PHY/LTE_TRANSPORT/dci.c | 36 +- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 30 +- openair1/PHY/LTE_TRANSPORT/edci.c | 640 +++++++++--------- openair1/PHY/LTE_TRANSPORT/mdci.h | 8 +- openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c | 2 +- openair1/SCHED/phy_procedures_lte_eNb.c | 144 ++-- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 18 +- openair2/LAYER2/MAC/rar_tools.c | 18 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 12 +- 9 files changed, 453 insertions(+), 455 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c index c89189ec03..db1de9be2c 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci.c +++ b/openair1/PHY/LTE_TRANSPORT/dci.c @@ -177,9 +177,9 @@ void dci_encoding(uint8_t *a, #endif // encode dci -#ifdef DEBUG_DCI_ENCODING - printf("Doing DCI encoding for %d bits, e %p, rnti %x\n",A,e,rnti); -#endif + //#ifdef DEBUG_DCI_ENCODING + if (E>1000) printf("Doing DCI encoding for %d bits, e %p, rnti %x\n",A,e,rnti); + //#endif memset((void *)d,LTE_NULL,96); @@ -197,42 +197,25 @@ void dci_encoding(uint8_t *a, #endif RCC = sub_block_interleaving_cc(D,d+96,w); -#ifdef DEBUG_DCI_ENCODING - printf("Doing DCI rate matching for %d channel bits, RCC %d, e %p\n",E,RCC,e); -#endif + //#ifdef DEBUG_DCI_ENCODING + if (E>1000) printf("Doing DCI rate matching for %d channel bits, RCC %d, e %p\n",E,RCC,e); + //#endif lte_rate_matching_cc(RCC,E,w,e); + } uint8_t *generate_dci0(uint8_t *dci, uint8_t *e, uint8_t DCI_LENGTH, - uint8_t aggregation_level, - uint8_t bitsperCCE, + uint16_t coded_bits, uint16_t rnti) { - uint16_t coded_bits; uint8_t dci_flip[8]; - AssertFatal((aggregation_level==1) || - (aggregation_level==2) || - (aggregation_level==4) || - (aggregation_level==8) -#ifdef Rel14 // Added for EPDCCH/MPDCCH - || - (aggregation_level==16) || - (aggregation_level==24) || - (aggregation_level==32) -#endif - , - "generate_dci FATAL, illegal aggregation_level %d\n",aggregation_level); - - - coded_bits = bitsperCCE * aggregation_level; - /* #ifdef DEBUG_DCI_ENCODING @@ -2293,8 +2276,7 @@ uint8_t generate_dci_top(uint8_t num_pdcch_symbols, e_ptr = generate_dci0(dci_alloc[i].dci_pdu, e+(72*dci_alloc[i].firstCCE), dci_alloc[i].dci_length, - dci_alloc[i].L, - 72, + 72*dci_alloc[i].L, dci_alloc[i].rnti); } } diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 5db9ca9af7..4b4bff3426 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -164,12 +164,11 @@ int8_t delta_PUSCH_acc[4] = { -1, 0, 1, 3 }; int8_t *delta_PUCCH_lut = delta_PUSCH_acc; void -conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) +conv_eMTC_rballoc (uint8_t narrowband,uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) { - int narrowband = resource_block_coding >> 5; - int RIV = resource_block_coding & 31; + int RIV = resource_block_coding; int N_NB_DL = N_RB_DL / 6; int i0 = (N_RB_DL >> 1) - (3 * N_NB_DL); int first_rb = (6 * narrowband) + i0; @@ -177,6 +176,8 @@ conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * int ind = first_rb >> 5; int ind_mod = first_rb & 31; + AssertFatal(RIV<32,"RIV is %d > 31\n"); + if (((N_RB_DL & 1) > 0) && (narrowband >= (N_NB_DL >> 1))) first_rb++; rb_alloc[0] = 0; @@ -2208,6 +2209,7 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1A_10MHz_t *) dci_pdu)->type = 1; ((DCI6_1A_10MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; ((DCI6_1A_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; + ((DCI6_1A_10MHz_t *) dci_pdu)->narrowband = rel13->mpdcch_narrow_band; ((DCI6_1A_10MHz_t *) dci_pdu)->mcs = rel13->mcs; ((DCI6_1A_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels); ((DCI6_1A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; @@ -2218,8 +2220,22 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * ((DCI6_1A_10MHz_t *) dci_pdu)->harq_ack_off = rel13->harq_resource_offset; ((DCI6_1A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; - LOG_I(PHY,"Frame %d, Subframe %d : Programming Format 6-1A DCI, mcs %d, rballoc %x, dci_rep r%d, L %d, narrowband %d, start_symbol %d, TPC %d, ra_flag %d, dci_type %d\n", - frame,subframe,rel13->mcs,rel13->resource_block_coding,1+rel13->dci_subframe_repetition_number,rel13->aggregation_level,rel13->mpdcch_narrow_band,dci_alloc->start_symbol,rel13->tpc,dci_alloc->ra_flag,rel13->rnti_type); + LOG_I(PHY,"Frame %d, Subframe %d : Programming Format 6-1A DCI, type %d, hopping %d, narrowband %d, rballoc %x, mcs %d, rep %d, harq_pid %d, ndi %d, rv %d, TPC %d, srs_req %d, harq_ack_off %d, dci_rep r%d => %x\n", + frame,subframe, + ((DCI6_1A_10MHz_t *) dci_pdu)->type, + ((DCI6_1A_10MHz_t *) dci_pdu)->hopping, + ((DCI6_1A_10MHz_t *) dci_pdu)->narrowband, + ((DCI6_1A_10MHz_t *) dci_pdu)->rballoc, + ((DCI6_1A_10MHz_t *) dci_pdu)->mcs, + ((DCI6_1A_10MHz_t *) dci_pdu)->rep, + ((DCI6_1A_10MHz_t *) dci_pdu)->harq_pid, + ((DCI6_1A_10MHz_t *) dci_pdu)->ndi, + ((DCI6_1A_10MHz_t *) dci_pdu)->rv, + ((DCI6_1A_10MHz_t *) dci_pdu)->TPC, + ((DCI6_1A_10MHz_t *) dci_pdu)->srs_req, + ((DCI6_1A_10MHz_t *) dci_pdu)->harq_ack_off, + ((DCI6_1A_10MHz_t *) dci_pdu)->dci_rep, + ((uint32_t*)dci_pdu)[0]); break; case 100: dci_alloc->dci_length = sizeof_DCI6_1A_20MHz_t; @@ -2335,7 +2351,9 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0->subframe_tx[(subframe + 2) % 10] = 1; LOG_I(PHY,"PDSCH : resource_block_coding %x\n",rel13->resource_block_coding); - conv_eMTC_rballoc (rel13->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); + conv_eMTC_rballoc (rel13->mpdcch_narrow_band,rel13->resource_block_coding, + fp->N_RB_DL, + dlsch0_harq->rb_alloc); dlsch0_harq->nb_rb = RIV2nb_rb_LUT6[rel13->resource_block_coding & 31]; // this is the 6PRB RIV diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 1b5c7eeab8..60e4b6f1dc 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -19,16 +19,16 @@ * contact@openairinterface.org */ -/*! \file PHY/LTE_TRANSPORT/dci.c -* \brief Implements PDCCH physical channel TX/RX procedures (36.211) and DCI encoding/decoding (36.212/36.213). Current LTE compliance V8.6 2009-03. -* \author R. Knopp -* \date 2011 -* \version 0.1 -* \company Eurecom -* \email: knopp@eurecom.fr -* \note -* \warning -*/ +/*! \file PHY/LTE_TRANSPORT/edci.c + * \brief Implements M/EPDCCH physical channel TX/RX procedures (36.211). + * \author R. Knopp + * \date 2011 + * \version 0.1 + * \company Eurecom + * \email: knopp@eurecom.fr + * \note + * \warning + */ #ifdef USER_MODE #include #include @@ -56,44 +56,46 @@ void generate_edci_top(PHY_VARS_eNB * eNB, int frame, int subframe) void mpdcch_scrambling(LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, uint16_t i, uint8_t * e, uint32_t length) { - int n; - uint8_t reset; - uint32_t x1, x2, s = 0; - uint8_t Nacc = 4; - uint16_t j0, j, idelta; - uint16_t i0 = mdci->i0; + int n; + uint8_t reset; + uint32_t x1, x2, s = 0; + uint8_t Nacc = 4; + uint16_t j0, j, idelta; + uint16_t i0 = mdci->i0; - // Note: we could actually not do anything if i-i0 < Nacc, save it for later + // Note: we could actually not do anything if i-i0 < Nacc, save it for later - reset = 1; - // x1 is set in lte_gold_generic + reset = 1; + // x1 is set in lte_gold_generic - if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI - Nacc = frame_parms->frame_type == FDD ? 4 : 10; - else - Nacc = 1; + if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI + Nacc = frame_parms->frame_type == FDD ? 4 : 10; + else + Nacc = 1; - if (frame_parms->frame_type == FDD || Nacc == 1) - idelta = 0; - else - idelta = Nacc - 2; + if (frame_parms->frame_type == FDD || Nacc == 1) + idelta = 0; + else + idelta = Nacc - 2; - j0 = (i0 + idelta) / Nacc; - j = (i - i0) / Nacc; + j0 = (i0 + idelta) / Nacc; + j = (i - i0) / Nacc; - // rule for BL/CE UEs from Section 6.8.B2 in 36.211 - x2 = ((((j0 + j) * Nacc) % 10) << 9) + mdci->dmrs_scrambling_init; - LOG_I(PHY,"MPDCCH cinit = %x (mdci->dmrs_scrambling_init = %d)\n", - x2,mdci->dmrs_scrambling_init); - for (n = 0; n < length; n++) { - if ((i & 0x1f) == 0) { - s = lte_gold_generic(&x1, &x2, reset); - //printf("lte_gold[%d]=%x\n",i,s); - reset = 0; - } - e[i] = (e[i] & 1) ^ ((s >> (i & 0x1f)) & 1); + // rule for BL/CE UEs from Section 6.8.B2 in 36.211 + x2 = ((((j0 + j) * Nacc) % 10) << 9) + mdci->dmrs_scrambling_init; + LOG_I(PHY,"MPDCCH cinit = %x (mdci->dmrs_scrambling_init = %d), scrambling %d encoded DCI bits\n", + x2,mdci->dmrs_scrambling_init,length); + for (n = 0; n < length; n++) { + if ((n & 0x1f) == 0) { + s = lte_gold_generic(&x1, &x2, reset); + //printf("lte_gold[%d]=%x\n",i,s); + reset = 0; } + + e[n] = (e[n] & 1) ^ ((s >> (n & 0x1f)) & 1); + + } } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -101,33 +103,27 @@ void mpdcch_scrambling(LTE_DL_FRAME_PARMS * frame_parms, mDCI_ALLOC_t * mdci, ui // 9 symbols without DMRS = 9*12*6 REs = 648 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs // Total = 648+216 = 864 REs = 1728 bits -static uint16_t mpdcch5ss1p107108tab[864]; -static uint16_t mpdcch5ss1p109110tab[864]; +static uint16_t mpdcch5ss1tab[864]; void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) { - int l, k, kmod, re107108 = 0, re109110 = 0; + int l, k, kmod, re=0; - LOG_I(PHY, "Inititalizing mpdcchss15tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + LOG_I(PHY, "Inititalizing mpdcchss15tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l = 1; l < 14; l++) { - for (k = 0; k < 72; k++) { - kmod = k % 12; - if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { - mpdcch5ss1p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - mpdcch5ss1p107108tab[re107108] = mpdcch5ss1p109110tab[re109110]; - re107108++; - re109110++; - printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { - mpdcch5ss1p109110tab[re109110++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - } else if ((kmod == 1) || (kmod == 6) || (kmod == 11)) { - mpdcch5ss1p107108tab[re107108++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - } - } + for (l = 1; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { + mpdcch5ss1tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + re++; + printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re); + } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { + mpdcch5ss1tab[re++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + } } - AssertFatal(re107108 == 864, "RE count not equal to 864 (%d)\n", re107108); + } + AssertFatal(re == 864, "RE count not equal to 864 (%d)\n", re); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -135,38 +131,31 @@ void init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) // 8 symbols without DMRS = 8*12*6 REs = 576 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs // Total = 576+216 = 792 REs = 1584 bits -static uint16_t mpdcch5ss2p107108tab[792]; -static uint16_t mpdcch5ss2p109110tab[792]; +static uint16_t mpdcch5ss2tab[792]; + void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) { - int l, k, kmod, re107108 = 0, re109110 = 0; - int nushift = eNB->frame_parms.Nid_cell % 6; - int nushiftp3 = (eNB->frame_parms.Nid_cell+3) % 6; - // NOTE : THIS IS FOR TM1 ONLY FOR NOW!!!!!!! - LOG_I(PHY, "Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l = 2; l < 14; l++) { - for (k = 0; k < 72; k++) { - kmod = k % 12; - if ((((l == 4)||(l==11)) && (kmod != nushiftp3) && (kmod != (nushiftp3+6))) || - ((l == 7) && (kmod != nushift) &&(kmod != (nushift+6)))) { // CS RS - mpdcch5ss2p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - mpdcch5ss2p107108tab[re107108] = mpdcch5ss2p109110tab[re109110]; - re107108++; - re109110++; - printf("CSRS: l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - - } - if (((l!=4)&&(l!=7)&&(l!=11)) && - (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9))) { - mpdcch5ss2p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - mpdcch5ss2p107108tab[re107108] = mpdcch5ss2p109110tab[re109110]; - re107108++; - re109110++; - printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - } - } + int l, k, kmod, re=0; + int nushift = eNB->frame_parms.Nid_cell % 6; + int nushiftp3 = (eNB->frame_parms.Nid_cell+3) % 6; + // NOTE : THIS IS FOR TM1 ONLY FOR NOW!!!!!!! + LOG_I(PHY, "Inititalizing mpdcch5ss2tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 2; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if ((((l == 4)||(l==11)) && (kmod != nushiftp3) && (kmod != (nushiftp3+6))) || + ((l == 7) && (kmod != nushift) &&(kmod != (nushift+6)))) { // CS RS + mpdcch5ss2tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + re++; + } + if (((l!=4)&&(l!=7)&&(l!=11)) && + (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9))) { + mpdcch5ss2tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + re++; + } } - AssertFatal(re107108 == 684, "RE count not equal to 684\n"); + } + AssertFatal(re == 684, "RE count not equal to 684\n"); } // this table is the allocation of modulated MPDCCH format 5 symbols to REs, antenna ports 107,108 @@ -174,31 +163,24 @@ void init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) // 7 symbols without DMRS = 7*12*6 REs = 504 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*6 REs = 216 REs // Total = 504+216 = 720 REs = 1440 bits -static uint16_t mpdcch5ss3p107108tab[720]; -static uint16_t mpdcch5ss3p109110tab[720]; +static uint16_t mpdcch5ss3tab[720]; void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) { - int l, k, kmod, re107108 = 0, re109110 = 0; + int l, k, kmod, re=0; - LOG_I(PHY, "Inititalizing mpdcch5ss3tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l = 3; l < 14; l++) { - for (k = 0; k < 72; k++) { - kmod = k % 12; - if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { - mpdcch5ss3p109110tab[re109110] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - mpdcch5ss3p107108tab[re107108] = mpdcch5ss3p109110tab[re109110]; - re107108++; - re109110++; - printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { - mpdcch5ss3p109110tab[re109110++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - } else if ((kmod == 1) || (kmod == 6) || (kmod == 11)) { - mpdcch5ss3p107108tab[re107108++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - printf("l %d, k %d (kmod %d) => re %d\n", l, k, kmod, re107108); - } - } + LOG_I(PHY, "Inititalizing mpdcch5ss3tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 3; l < 14; l++) { + for (k = 0; k < 72; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (kmod == 2) || (kmod == 3) || (kmod == 4) || (kmod == 7) || (kmod == 8) || (kmod == 9)) { + mpdcch5ss3tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + re++; + } else if ((kmod == 0) || (kmod == 5) || (kmod == 10)) { + mpdcch5ss3tab[re++] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + } } - AssertFatal(re107108 == 720, "RE count not equal to 792\n"); + } + AssertFatal(re == 720, "RE count not equal to 792\n"); } // this table is the allocation of modulated MPDCCH format 3 symbols to REs, antenna ports 107,108 @@ -206,25 +188,23 @@ void init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) // 8 symbols without DMRS = 9*12*4 REs = 432 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*4 REs = 144 REs // Total = 432+144 = 576 = 16CCE*36RE/CCE -static uint16_t mpdcch3ss1p107108tab[576]; -static uint16_t mpdcch3ss1p109110tab[576]; +static uint16_t mpdcch3ss1tab[576]; void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) { - int l, k, kmod, re; + int l, k, kmod, re=0; - LOG_I(PHY, "Inititalizing mpdcch3ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l = 1, re = 0; l < 14; l++) { - for (k = 0; k < 48; k++) { - kmod = k % 12; - if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) { - mpdcch3ss1p109110tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - mpdcch3ss1p107108tab[re] = 1 + mpdcch3ss1p109110tab[re]; - re++; - } - } + LOG_I(PHY, "Inititalizing mpdcch3ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 1, re = 0; l < 14; l++) { + for (k = 0; k < 48; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) { + mpdcch3ss1tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + re++; + } } - AssertFatal(re == 576, "RE count not equal to 864\n"); + } + AssertFatal(re == 576, "RE count not equal to 864\n"); } // this table is the allocation of modulated MPDCCH format 2 symbols to REs, antenna ports 107,108 @@ -232,30 +212,29 @@ void init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) // 8 symbols without DMRS = 9*12*2 REs = 216 REs // 4 symbols with DMRS (3 REs stolen per symbol = 4*9*2 REs = 72 REs // Total = 216+72 = 288 = 8CCE*36RE/CCE -static uint16_t mpdcch2ss1p107108tab[288]; -static uint16_t mpdcch2ss1p109110tab[288]; +static uint16_t mpdcch2ss1tab[288]; + void init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(PHY_VARS_eNB * eNB) { - int l, k, kmod, re; + int l, k, kmod, re=0; - LOG_I(PHY, "Inititalizing mpdcch2ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); - for (l = 1, re = 0; l < 14; l++) { - for (k = 0; k < 24; k++) { - kmod = k % 12; - if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) { - mpdcch2ss1p109110tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; - mpdcch2ss1p107108tab[re] = 1 + mpdcch2ss1p109110tab[re]; - re++; - } - } + LOG_I(PHY, "Inititalizing mpdcch2ss1tab for normal prefix, normal prefix, no PSS/SSS/PBCH, even N_RB_DL\n"); + for (l = 1, re = 0; l < 14; l++) { + for (k = 0; k < 24; k++) { + kmod = k % 12; + if (((l != 5) && (l != 6) && (l != 12) && (l != 13)) || (((l == 5) || (l == 6) || (l == 12) || (l == 13)) && (kmod != 0) && (kmod != 5) && (kmod != 10))) { + mpdcch2ss1tab[re] = (l * eNB->frame_parms.ofdm_symbol_size) + k; + re++; + } } - AssertFatal(re == 288, "RE count not equal to 288\n"); + } + AssertFatal(re == 288, "RE count not equal to 288\n"); } -extern uint8_t *generate_dci0(uint8_t * dci, uint8_t * e, uint8_t DCI_LENGTH, uint8_t bitsperCCE, uint8_t aggregation_level, uint16_t rnti); +extern uint8_t *generate_dci0(uint8_t * dci, uint8_t * e, uint8_t DCI_LENGTH, uint16_t coded_bits, uint16_t rnti); uint16_t mpdcch_dmrs_tab[12 * 6]; @@ -263,219 +242,246 @@ uint16_t mpdcch_dmrs_tab[12 * 6]; void init_mpdcch_dmrs_tab(uint16_t oss) { - int re = 5 * oss; - int pos = 0; + int re = 5 * oss; + int pos = 0; - for (int symb = 0; symb < 4; symb++) { - for (int prb = 0; prb < 6; prb++, re += 12) { - mpdcch_dmrs_tab[pos++] = re; - mpdcch_dmrs_tab[pos++] = re + 5; - mpdcch_dmrs_tab[pos++] = re + 10; - } - if (symb == 0) - re = 6 * oss; - else if (symb == 1) - re = 12 * oss; - else if (symb == 2) - re = 13 * oss; + for (int symb = 0; symb < 4; symb++) { + for (int prb = 0; prb < 6; prb++, re += 12) { + mpdcch_dmrs_tab[pos++] = re; + mpdcch_dmrs_tab[pos++] = re + 5; + mpdcch_dmrs_tab[pos++] = re + 10; } + if (symb == 0) + re = 6 * oss; + else if (symb == 1) + re = 12 * oss; + else if (symb == 2) + re = 13 * oss; + } } void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF) { - LTE_eNB_MPDCCH *mpdcch = &eNB->mpdcch_vars[subframe & 1]; - mDCI_ALLOC_t *mdci; - int coded_bits; - LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; - int i; - int gain_lin_QPSK; - uint8_t bitsperCCE; - uint16_t *mpdcchtab; + LTE_eNB_MPDCCH *mpdcch = &eNB->mpdcch_vars[subframe & 1]; + mDCI_ALLOC_t *mdci; + int coded_bits; + LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; + int i; + int gain_lin_QPSK; + uint8_t bitsperCCE; + uint16_t *mpdcchtab; - uint32_t x1, x2, s = 0; - uint8_t Nacc = 4; - uint16_t j0, j, idelta; - uint16_t i0; + uint32_t x1, x2, s = 0; + uint8_t Nacc = 4; + uint16_t j0, j, idelta; + uint16_t i0; - int off; + int off; - // Assumption: only handle a single MPDCCH per narrowband + // Assumption: only handle a single MPDCCH per narrowband - int nsymb = (fp->Ncp==0) ? 14:12; + int nsymb = (fp->Ncp==0) ? 14:12; - int symbol_offset = (uint32_t)fp->ofdm_symbol_size*(subframe*nsymb); + int symbol_offset = (uint32_t)fp->ofdm_symbol_size*(subframe*nsymb); - LOG_I(PHY, "generate_mdci_top: num_dci %d\n", mpdcch->num_dci); + int wp[2][4] = {{1,1,1,1},{1,-1,1,-1}}; + int *w; - for (i = 0; i < mpdcch->num_dci; i++) { - mdci = &mpdcch->mdci_alloc[i]; + LOG_I(PHY, "generate_mdci_top: num_dci %d\n", mpdcch->num_dci); - AssertFatal(fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n"); - AssertFatal(fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n"); - AssertFatal(mdci->L <= 24, "L is %d\n", mdci->L); - AssertFatal(fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "Only N_RB_DL=50,100 for MPDCCH\n"); - // Force MPDDCH format 5 - AssertFatal(mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); + for (i = 0; i < mpdcch->num_dci; i++) { + mdci = &mpdcch->mdci_alloc[i]; - // These are to avoid unimplemented things - AssertFatal(mdci->ce_mode == 1, "CE mode (%d) B not activated yet\n", mdci->ce_mode); - AssertFatal(mdci->L == 24, "Only 2+4 and aggregation 24 for now\n"); - int a_index = mdci->rnti & 3; - LOG_I(PHY, "mdci %d, length %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d Ant %d\n", i, mdci->dci_length,mdci->rnti, mdci->L, mdci->number_of_prb_pairs, mdci->ce_mode, mdci->i0, mdci->start_symbol,(a_index<2)?107:109); - i0 = mdci->i0; - // antenna index + AssertFatal(fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n"); + AssertFatal(fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n"); + AssertFatal(mdci->L <= 24, "L is %d\n", mdci->L); + AssertFatal(fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "Only N_RB_DL=50,100 for MPDCCH\n"); + // Force MPDDCH format 5 + AssertFatal(mdci->number_of_prb_pairs == 6, "2 or 4 PRB pairs not support yet for MPDCCH\n"); - if ((mdci->start_symbol == 1) && (a_index < 2)) { - mpdcchtab = mpdcch5ss1p107108tab; - bitsperCCE = 72; - } else if ((mdci->start_symbol == 1) && (a_index > 1)) { - mpdcchtab = mpdcch5ss1p109110tab; - bitsperCCE = 72; - } else if ((mdci->start_symbol == 2) && (a_index < 2)) { - mpdcchtab = mpdcch5ss2p107108tab; - bitsperCCE = 66; - } else if ((mdci->start_symbol == 2) && (a_index > 1)) { - mpdcchtab = mpdcch5ss2p109110tab; - bitsperCCE = 66; - } else if ((mdci->start_symbol == 3) && (a_index < 2)) { - mpdcchtab = mpdcch5ss2p107108tab; - bitsperCCE = 60; - } else if ((mdci->start_symbol == 3) && (a_index < 2)) { - mpdcchtab = mpdcch5ss2p109110tab; - bitsperCCE = 60; - } else - AssertFatal(1 == 0, "Illegal combination start_symbol %d, a_index %d\n", mdci->start_symbol, a_index); + // These are to avoid unimplemented things + AssertFatal(mdci->ce_mode == 1, "CE mode (%d) B not activated yet\n", mdci->ce_mode); + AssertFatal(mdci->L == 24, "Only 2+4 and aggregation 24 for now\n"); + int a_index=mdci->rnti & 3; + i0 = mdci->i0; + // antenna index - // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing + if (mdci->start_symbol == 1) { + mpdcchtab = mpdcch5ss1tab; + coded_bits = 756*2; + } else if (mdci->start_symbol == 2) { + mpdcchtab = mpdcch5ss2tab; + coded_bits=684*2; + } else if (mdci->start_symbol == 3) { + mpdcchtab = mpdcch5ss3tab; + coded_bits = 612*2; + } else + AssertFatal(1 == 0, "Illegal combination start_symbol %d, a_index %d\n", mdci->start_symbol, a_index); - generate_dci0(mdci->dci_pdu, mpdcch->e + (bitsperCCE * mdci->firstCCE), mdci->dci_length, mdci->L, bitsperCCE, mdci->rnti); + LOG_I(PHY, "mdci %d, length %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d ,coded_bits %d\n", + i, mdci->dci_length,mdci->rnti, + mdci->L, mdci->number_of_prb_pairs, + mdci->ce_mode, mdci->i0, mdci->start_symbol, + coded_bits); + // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing - coded_bits = bitsperCCE * mdci->L; - - // scrambling - uint16_t absSF = (frame * 10) + subframe; - - AssertFatal(absSF < 10240, "Absolute subframe %d = %d*10 + %d > 10239\n", absSF, frame, subframe); - - mpdcch_scrambling(fp, mdci, absSF, mpdcch->e + (bitsperCCE * mdci->firstCCE), coded_bits); - - // Modulation for PDCCH - if (fp->nb_antenna_ports_eNB == 1) - gain_lin_QPSK = (int16_t) ((amp * ONE_OVER_SQRT2_Q15) >> 15); - else - gain_lin_QPSK = amp / 2; - - uint8_t *e_ptr = mpdcch->e; - - // if (mdci->transmission_type==0) nprime=mdci->rnti&3; // for Localized 2+4 we use 6.8B.5 rule - // map directly to one antenna port for now - // Note: aside from the antenna port mapping, there is no difference between localized and distributed transmission for MPDCCH format 5 - - // first RE of narrowband - // mpdcchtab5 below contains the mapping from each coded symbol to relative RE avoiding the DMRS - - int nb_i0; - switch (fp->N_RB_DL) { - - case 6: - case 25: - nb_i0 = 0; - break; - case 15: - case 50: - case 75: - nb_i0 = 1; - break; - case 100: - nb_i0 = 2; - break; - default: - AssertFatal(1 == 0, "Illegal N_RB_DL %d\n", fp->N_RB_DL); - break; - } - - int re_offset = fp->first_carrier_offset + (12 * nb_i0) + mdci->narrowband * 12 * 6; - if (re_offset > fp->ofdm_symbol_size) - re_offset -= (fp->ofdm_symbol_size - 1); - int32_t *txF = &txdataF[0][symbol_offset+re_offset]; - int32_t yIQ; - - for (i = 0; i < (coded_bits >> 1); i++) { - // QPSK modulation to yIQ - ((int16_t *) & yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - e_ptr++; - ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - e_ptr++; - txF[mpdcchtab[i + ((bitsperCCE >> 1) * mdci->firstCCE)]] = yIQ; - //LOG_I(PHY,"Frame %d, subframe %d: mpdcch pos %d: %d => (%d,%d)\n", - // frame,subframe,i,mpdcchtab[i + ((bitsperCCE>>2) * mdci->firstCCE)],((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); - } - - if (a_index > 1) - off = 0; - else - off = 1; - - // pilot scrambling initiatlization (note: this is for a single repetition) - - // x1 is set in lte_gold_generic - - // rule for BL/CE UEs from Section 6.10.3A.1 in 36.211 - - if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI - Nacc = fp->frame_type == FDD ? 4 : 10; - else - Nacc = 1; - - if (fp->frame_type == FDD || Nacc == 1) - idelta = 0; - else - idelta = Nacc - 2; - - j0 = (i0 + idelta) / Nacc; - j = (absSF - i0) / Nacc; + generate_dci0(mdci->dci_pdu, mpdcch->e, mdci->dci_length, coded_bits, mdci->rnti); - uint32_t a = ((((j0 + j) * Nacc) % 10) + 1); - uint32_t b = ((mdci->dmrs_scrambling_init << 1) + 1) << 16; - x2 = a * b; - x2 = x2 + 2; - LOG_I(PHY, "mpdcch_dmrs cinit %x (a=%d,b=%d,i0=%d,j0=%d)\n", x2,a,b,i0,j0); + // scrambling + uint16_t absSF = (frame * 10) + subframe; - // add MPDCCH pilots - int reset = 1; - gain_lin_QPSK*=2; - for (i = 0; i < (24 * 6); i += 2) { - if ((i & 0x1f) == 0) { - s = lte_gold_generic(&x1, &x2, reset); - reset = 0; - } - ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; - txF[mpdcch_dmrs_tab[(i >> 1)]] = yIQ; - txF[1+mpdcch_dmrs_tab[(i >> 1)]] = yIQ; + AssertFatal(absSF < 10240, "Absolute subframe %d = %d*10 + %d > 10239\n", absSF, frame, subframe); - LOG_D(PHY, "mpdcch_dmrs pos %d: %d => (%d,%d)\n", i, off + mpdcch_dmrs_tab[(i >> 1)], ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); - } + mpdcch_scrambling(fp, mdci, absSF, mpdcch->e, coded_bits); + + // Modulation for PDCCH + if (fp->nb_antenna_ports_eNB == 1) + gain_lin_QPSK = (int16_t) ((amp * ONE_OVER_SQRT2_Q15) >> 15); + else + gain_lin_QPSK = amp / 2; + + uint8_t *e_ptr = mpdcch->e; + + // if (mdci->transmission_type==0) nprime=mdci->rnti&3; // for Localized 2+4 we use 6.8B.5 rule + // map directly to one antenna port for now + // Note: aside from the antenna port mapping, there is no difference between localized and distributed transmission for MPDCCH format 5 + + // first RE of narrowband + // mpdcchtab5 below contains the mapping from each coded symbol to relative RE avoiding the DMRS + + int nb_i0; + switch (fp->N_RB_DL) { + + case 6: + case 25: + nb_i0 = 0; + break; + case 15: + case 50: + case 75: + nb_i0 = 1; + break; + case 100: + nb_i0 = 2; + break; + default: + AssertFatal(1 == 0, "Illegal N_RB_DL %d\n", fp->N_RB_DL); + break; } + int re_offset = fp->first_carrier_offset + (12 * nb_i0) + (mdci->narrowband * 12 * 6); + if (re_offset > fp->ofdm_symbol_size) + re_offset -= (fp->ofdm_symbol_size - 1); + int32_t *txF = &txdataF[0][symbol_offset+re_offset]; + int32_t yIQ; + for (i = 0; i < (coded_bits >> 1); i++) { + // QPSK modulation to yIQ + ((int16_t *) & yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + e_ptr++; + ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + e_ptr++; + txF[mpdcchtab[i]] = yIQ; + LOG_D(PHY,"Frame %d, subframe %d: mpdcch pos %d (%d,%d) => (%d,%d)\n", + frame,subframe,i,mpdcchtab[i]+re_offset,mpdcchtab[i]/fp->ofdm_symbol_size, + ((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); + } + + if (mdci->transmission_type == 1) w=0; // distributed + else w = wp[a_index&1]; + + // pilot scrambling initiatlization (note: this is for a single repetition) + + // x1 is set in lte_gold_generic + + // rule for BL/CE UEs from Section 6.10.3A.1 in 36.211 + + if ((mdci->rnti == 0xFFFE) || (mdci->ce_mode == 2)) // CEModeB Note: also for mdci->rnti==SC_RNTI + Nacc = fp->frame_type == FDD ? 4 : 10; + else + Nacc = 1; + + if (fp->frame_type == FDD || Nacc == 1) + idelta = 0; + else + idelta = Nacc - 2; + + j0 = (i0 + idelta) / Nacc; + j = (absSF - i0) / Nacc; + + + + uint32_t a = ((((j0 + j) * Nacc) % 10) + 1); + uint32_t b = ((mdci->dmrs_scrambling_init << 1) + 1) << 16; + x2 = a * b; + x2 = x2 + 2; + LOG_I(PHY, "mpdcch_dmrs cinit %x (a=%d,b=%d,i0=%d,j0=%d)\n", x2,a,b,i0,j0); + + // add MPDCCH pilots + int reset = 1; + + int first_prb = (mdci->narrowband*6) + nb_i0; + int last_prb = (mdci->narrowband*6) + nb_i0 + 5; + int soffset[4] = {5,6,12,13}; + + + for (int lprime=0,i=0;lprime<4;lprime++) { + for (int nprb=0;nprb<110;nprb++) { + if (nprbN_RB_DL) { + re_offset = fp->first_carrier_offset + (12 * nprb); + if (re_offset > fp->ofdm_symbol_size) + re_offset -= (fp->ofdm_symbol_size - 1); + txF = &txdataF[0][symbol_offset + re_offset + fp->ofdm_symbol_size*soffset[lprime]]; + } + for (int mprime=0;mprime<3;mprime++,i++) { + + if ((i & 0x1f) == 0) { + s = lte_gold_generic(&x1, &x2, reset); + reset = 0; + } + + // select PRBs corresponding to narrowband + if ((nprb>= first_prb) && + (nprb<= last_prb)) { + ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + if (mdci->transmission_type==1) { // same thing on both 107 and 109 + txF[(5*mprime)] = yIQ; + txF[1+(5*mprime)] = yIQ; + } + else { // put on selected antenna port with w sequence + if (((mprime+nprb)&1) == 0) + txF[off+(5*mprime)] = yIQ*w[lprime]; + else + txF[off+(5*mprime)] = yIQ*w[3-lprime]; + } + + LOG_I(PHY, "mpdcch_dmrs pos (dist %d, l %d,nprb %d,mprime %d) %d => (%d,%d)\n", + mdci->transmission_type, soffset[lprime],nprb,mprime, + re_offset + fp->ofdm_symbol_size*soffset[lprime]+(5*mprime), + ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); + } // narrowband condition + } // RE (m') loop + } // nprb loop + } // symbol (l') loop + } // num_dci loop } void init_mpdcch(PHY_VARS_eNB * eNB) { - init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(eNB); - init_mpdcch_dmrs_tab(eNB->frame_parms.ofdm_symbol_size); + init_mpdcch5ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch5ss2tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch5ss3tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch3ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch2ss1tab_normal_regular_subframe_evenNRBDL(eNB); + init_mpdcch_dmrs_tab(eNB->frame_parms.ofdm_symbol_size); } #endif diff --git a/openair1/PHY/LTE_TRANSPORT/mdci.h b/openair1/PHY/LTE_TRANSPORT/mdci.h index 1e278f8011..b2b0d3edce 100755 --- a/openair1/PHY/LTE_TRANSPORT/mdci.h +++ b/openair1/PHY/LTE_TRANSPORT/mdci.h @@ -135,7 +135,7 @@ typedef struct DCI6_0A_10MHz DCI6_0A_10MHz_t; /// basic DCI Format Type 6-1A (10 MHz, FDD primary carrier, 24 bits, 5 bit format, TM!=9,TM!=6, no scheduling enhancement) struct DCI6_1A_10MHz { /// padding to fill 32-bit word - uint32_t padding:4; + uint32_t padding:3; /// DCI subframe repetition number uint32_t dci_rep:2; /// HARQ-ACK resource offset @@ -154,8 +154,10 @@ struct DCI6_1A_10MHz { uint32_t rep:2; /// Modulation and Coding Scheme and Redundancy Version uint32_t mcs:4; - /// Resource block assignment (assignment flag = 0 for 10 MHz, ceil(log2(floor(N_RB_DL/6)))+5) - uint32_t rballoc:8; + /// Resource block assignment + uint32_t rballoc:5; + /// narroband index log2(floor(N_RB_DL/6))) bits + uint32_t narrowband:3; /// Frequency hopping flag uint32_t hopping:1; /// 0/1A differentiator diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c index f885bf8eb3..0bd2f522d7 100755 --- a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c +++ b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c @@ -904,7 +904,7 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, //#ifdef DEBUG_ULSCH_DECODING - LOG_D(PHY,"Frame %d, Subframe %d: ulsch_decoding (Nid_cell %d, rnti %x, x2 %x): A %d, round %d, RV %d, O_r1 %d, O_RI %d, O_ACK %d, G %d\n", + LOG_I(PHY,"Frame %d, Subframe %d: ulsch_decoding (Nid_cell %d, rnti %x, x2 %x): A %d, round %d, RV %d, O_r1 %d, O_RI %d, O_ACK %d, G %d\n", proc->frame_rx,subframe, frame_parms->Nid_cell,ulsch->rnti,x2, A, diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 8199f26053..f092886ec2 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -76,11 +76,11 @@ pmch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, PHY_VARS_RN * rn, r // 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, - eNB->CC_id, - proc->frame_tx, - subframe); - */ + mch_pduP = mac_xface->get_mch_sdu(eNB->Mod_id, + eNB->CC_id, + proc->frame_tx, + subframe); + */ switch (r_type) { case no_relay: if ((mch_pduP->Pdu_size > 0) && (mch_pduP->sync_area == 0)) // TEST: only transmit mcch for sync area 0 @@ -212,23 +212,7 @@ pdsch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, int harq_pid, LTE_ LOG_I (PHY, "[eNB %" PRIu8 "][PDSCH %" PRIx16 "/%" PRIu8 "] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %" PRIu16 ", pdsch_start %d, G %d, nb_rb %" PRIu16 ", rb0 %x, rb1 %x, TBS %" - PRIu16 ", pmi_alloc %" PRIx64 ", rv %" PRIu8 " (round %" PRIu8 ")\n", eNB->Mod_id, dlsch->rnti, harq_pid, frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, get_G (fp, - dlsch_harq-> - nb_rb, - dlsch_harq-> - rb_alloc, - dlsch_harq-> - Qm, - dlsch_harq-> - Nl, - dlsch_harq-> - pdsch_start, - frame, - subframe, - dlsch_harq-> - mimo_mode == - TM7 ? 7 : 0), - dlsch_harq->nb_rb, dlsch_harq->rb_alloc[0], dlsch_harq->rb_alloc[1], dlsch_harq->TBS, pmi2hex_2Ar1 (dlsch_harq->pmi_alloc), dlsch_harq->rvidx, dlsch_harq->round); + PRIu16 ", pmi_alloc %" PRIx64 ", rv %" PRIu8 " (round %" PRIu8 ")\n", eNB->Mod_id, dlsch->rnti, harq_pid, frame, subframe, input_buffer_length, dlsch_harq->pdsch_start, get_G(fp,dlsch_harq->nb_rb,dlsch_harq->rb_alloc,dlsch_harq->Qm,dlsch_harq->Nl,dlsch_harq->pdsch_start,frame,subframe,dlsch_harq->mimo_mode == TM7 ? 7 : 0),dlsch_harq->nb_rb, dlsch_harq->rb_alloc[0], dlsch_harq->rb_alloc[1], dlsch_harq->TBS, pmi2hex_2Ar1 (dlsch_harq->pmi_alloc), dlsch_harq->rvidx, dlsch_harq->round); } #if defined(MESSAGE_CHART_GENERATOR_PHY) MSC_LOG_TX_MESSAGE (MSC_PHY_ENB, MSC_PHY_UE, @@ -397,11 +381,12 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type #ifdef Rel14 num_mdci = eNB->mpdcch_vars[subframe &1].num_dci; if (num_mdci > 0) { - LOG_I (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_mdci_top (mpdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_mdci); + LOG_I (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_mdci_top (mpdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_mdci); - generate_mdci_top (eNB, frame, subframe, AMP*3/4, eNB->common_vars.txdataF); - //write_output("/tmp/mpdcch.m","mpdcch_txF",(void*)&eNB->common_vars.txdataF[0][subframe*14*1024],14*1024,1,1); - //exit(-1); + generate_mdci_top (eNB, frame, subframe, AMP, eNB->common_vars.txdataF); + + /* write_output("/tmp/mpdcch.m","mpdcch_txF",(void*)&eNB->common_vars.txdataF[0][subframe*14*1024],14*1024,1,1); + exit(-1);*/ } #endif // Now scan UE specific DLSCH @@ -415,19 +400,19 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type // get harq_pid harq_pid = dlsch0->harq_ids[subframe]; if (harq_pid >=0 && harq_pid < 8) { - // generate pdsch + // generate pdsch if ((dlsch0->rnti !=0xFFFF)) { LOG_I(PHY,"SFN %d.%d: DLSCH %d for rnti %x is active, harq_pid %d => SFN %d.%d\n", - frame, - subframe, - UE_id, - dlsch0->rnti, - harq_pid, - dlsch0->harq_processes[harq_pid]->frame, - dlsch0->harq_processes[harq_pid]->subframe); + frame, + subframe, + UE_id, + dlsch0->rnti, + harq_pid, + dlsch0->harq_processes[harq_pid]->frame, + dlsch0->harq_processes[harq_pid]->subframe); } if ((dlsch0->harq_processes[harq_pid]->status == ACTIVE) && (dlsch0->harq_processes[harq_pid]->frame == frame) && (dlsch0->harq_processes[harq_pid]->subframe == subframe)) - pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); + pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); } @@ -456,7 +441,7 @@ prach_procedures (PHY_VARS_eNB * eNB, #ifdef Rel14 int br_flag #endif - ) + ) { uint16_t max_preamble[4], max_preamble_energy[4], max_preamble_delay[4]; uint16_t i; @@ -471,13 +456,13 @@ prach_procedures (PHY_VARS_eNB * eNB, pthread_mutex_unlock (&eNB->UL_INFO_mutex); } else #endif - { - pthread_mutex_lock (&eNB->UL_INFO_mutex); - eNB->UL_INFO.rach_ind.number_of_preambles = 0; - pthread_mutex_unlock (&eNB->UL_INFO_mutex); - subframe = eNB->proc.subframe_prach; - frame = eNB->proc.frame_prach; - } + { + pthread_mutex_lock (&eNB->UL_INFO_mutex); + eNB->UL_INFO.rach_ind.number_of_preambles = 0; + pthread_mutex_unlock (&eNB->UL_INFO_mutex); + subframe = eNB->proc.subframe_prach; + frame = eNB->proc.frame_prach; + } RU_t *ru; int aa = 0; int ru_aa; @@ -505,7 +490,7 @@ prach_procedures (PHY_VARS_eNB * eNB, #ifdef Rel14 , br_flag #endif - ); + ); #ifdef DEBUG_PHY_PROC LOG_I (PHY, "[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d\n", frame, subframe, max_preamble[0], max_preamble_energy[0] / 10, max_preamble_delay[0]); @@ -528,7 +513,7 @@ prach_procedures (PHY_VARS_eNB * eNB, (eNB->prach_vars_br.repetition_number[ce_level]== eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level])) { - */ + */ if (eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] == 1) { if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { @@ -548,46 +533,46 @@ prach_procedures (PHY_VARS_eNB * eNB, eNB->preamble_list_br[ind].preamble_rel8.preamble, eNB->preamble_list_br[ind].preamble_rel8.rnti, eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type); } /* - ind++; - } - } */// ce_level + ind++; + } + } */// ce_level } } else #endif - { - if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { + { + if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { - LOG_D (PHY, "[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", - eNB->Mod_id, eNB->CC_id, frame, subframe, max_preamble[0], max_preamble_energy[0] / 10, max_preamble_energy[0] % 10, max_preamble_delay[0]); + LOG_D (PHY, "[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", + eNB->Mod_id, eNB->CC_id, frame, subframe, max_preamble[0], max_preamble_energy[0] / 10, max_preamble_energy[0] % 10, max_preamble_delay[0]); - T (T_ENB_PHY_INITIATE_RA_PROCEDURE, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (max_preamble[0]), T_INT (max_preamble_energy[0]), T_INT (max_preamble_delay[0])); + T (T_ENB_PHY_INITIATE_RA_PROCEDURE, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (max_preamble[0]), T_INT (max_preamble_energy[0]), T_INT (max_preamble_delay[0])); - pthread_mutex_lock (&eNB->UL_INFO_mutex); + pthread_mutex_lock (&eNB->UL_INFO_mutex); - eNB->UL_INFO.rach_ind.number_of_preambles = 1; - eNB->UL_INFO.rach_ind.preamble_list = eNB->preamble_list; + eNB->UL_INFO.rach_ind.number_of_preambles = 1; + eNB->UL_INFO.rach_ind.preamble_list = eNB->preamble_list; - eNB->preamble_list[0].preamble_rel8.timing_advance = max_preamble_delay[0]; - eNB->preamble_list[0].preamble_rel8.preamble = max_preamble[0]; - eNB->preamble_list[0].preamble_rel8.rnti = 1 + subframe; // note: fid is implicitly 0 here - eNB->preamble_list[0].preamble_rel13.rach_resource_type = 0; - eNB->preamble_list[0].instance_length = 0; //don't know exactly what this is + eNB->preamble_list[0].preamble_rel8.timing_advance = max_preamble_delay[0]; + eNB->preamble_list[0].preamble_rel8.preamble = max_preamble[0]; + eNB->preamble_list[0].preamble_rel8.rnti = 1 + subframe; // note: fid is implicitly 0 here + eNB->preamble_list[0].preamble_rel13.rach_resource_type = 0; + eNB->preamble_list[0].instance_length = 0; //don't know exactly what this is - LOG_D (PHY, "Filling NFAPI indication for RACH : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", - eNB->preamble_list[0].preamble_rel8.timing_advance, - eNB->preamble_list[0].preamble_rel8.preamble, eNB->preamble_list[0].preamble_rel8.rnti, eNB->preamble_list[0].preamble_rel13.rach_resource_type); - pthread_mutex_unlock (&eNB->UL_INFO_mutex); + LOG_D (PHY, "Filling NFAPI indication for RACH : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", + eNB->preamble_list[0].preamble_rel8.timing_advance, + eNB->preamble_list[0].preamble_rel8.preamble, eNB->preamble_list[0].preamble_rel8.rnti, eNB->preamble_list[0].preamble_rel13.rach_resource_type); + pthread_mutex_unlock (&eNB->UL_INFO_mutex); - } // max_preamble_energy > prach_I0 + 100 - else { - eNB->measurements.prach_I0 = ((eNB->measurements.prach_I0 * 900) >> 10) + ((max_preamble_energy[0] * 124) >> 10); - if (frame == 0) - LOG_I (PHY, "prach_I0 = %d.%d dB\n", eNB->measurements.prach_I0 / 10, eNB->measurements.prach_I0 % 10); - if (eNB->prach_energy_counter < 100) - eNB->prach_energy_counter++; - } - } // else br_flag + } // max_preamble_energy > prach_I0 + 100 + else { + eNB->measurements.prach_I0 = ((eNB->measurements.prach_I0 * 900) >> 10) + ((max_preamble_energy[0] * 124) >> 10); + if (frame == 0) + LOG_I (PHY, "prach_I0 = %d.%d dB\n", eNB->measurements.prach_I0 / 10, eNB->measurements.prach_I0 % 10); + if (eNB->prach_energy_counter < 100) + eNB->prach_energy_counter++; + } + } // else br_flag VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX, 0); } @@ -652,7 +637,7 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) { LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; uint8_t SR_payload = 0, pucch_b0b1[4][2] = { {0, 0}, {0, 0}, {0, 0}, {0, 0} }, harq_ack[4] = { - 0, 0, 0, 0}; + 0, 0, 0, 0}; int32_t metric[4] = { 0, 0, 0, 0 }, metric_SR = 0, max_metric; const int subframe = proc->subframe_rx; const int frame = proc->frame_rx; @@ -1130,8 +1115,11 @@ pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) fill_crc_indication (eNB, i, frame, subframe, 1); // indicate NAK to MAC fill_rx_indication (eNB, i, frame, subframe); // indicate SDU to MAC - LOG_D (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n", + LOG_I (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n", eNB->Mod_id, harq_pid, frame, subframe, i, ulsch_harq->round - 1, ulsch->Mlimit, ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1]); + dump_ulsch(eNB,frame,subframe,i); + exit(-1); + if (ulsch_harq->round >= 3) { ulsch_harq->status = SCH_IDLE; ulsch_harq->handled = 0; @@ -1329,8 +1317,8 @@ release_harq (PHY_VARS_eNB * eNB, int UE_id, int tb, uint16_t frame, uint8_t sub dlsch0_harq->status = SCH_IDLE; /*if ((dlsch1_harq == NULL)|| - ((dlsch1_harq!=NULL)&& - (dlsch1_harq->status == SCH_IDLE))) */ + ((dlsch1_harq!=NULL)&& + (dlsch1_harq->status == SCH_IDLE))) */ dlsch0->harq_mask &= ~(1 << harq_pid); LOG_D (PHY, "Frame %d, subframe %d: Releasing harq %d for UE %x\n", frame, subframe, harq_pid, dlsch0->rnti); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index a707b40cdf..1eed3de5bb 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -247,7 +247,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); // get narrowband according to higher-layer config num_nb = p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.count; - RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index % num_nb]; + RA_template->msg2_narrowband = *p[RA_template->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[RA_template->preamble_index % num_nb]-1; first_rb = narrowband_to_first_rb (&cc[CC_idP], RA_template->msg2_narrowband); if ((RA_template->msg2_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { @@ -274,8 +274,9 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6) | (RA_template->msg2_narrowband<<5); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 1; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = RA_template->msg2_narrowband; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 0; // adjust according to size of RAR, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; @@ -286,7 +287,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 0; // N1A_PRB=2 (36.212); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3 (36.212) => 56 bits dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; @@ -371,7 +372,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; dl_req->number_pdu++; - fill_rar_br (eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1) ; + fill_rar_br (eNB, CC_idP, RA_template, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, RA_template->rach_resource_type - 1) ; // Program UL processing for Msg3, same as regular LTE get_Msg3alloc (&cc[CC_idP], subframeP, frameP, &RA_template->Msg3_frame, &RA_template->Msg3_subframe); add_msg3 (module_idP, CC_idP, RA_template, frameP, subframeP); @@ -628,7 +629,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); // check if not getRIV(N_RB_DL,first_rb,6); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of Msg4, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 0; // adjust according to size of Msg4, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; @@ -639,7 +640,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3; => 208 bits + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3; => dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; @@ -1160,13 +1161,14 @@ initiate_ra_proc (module_id_t module_idP, int CC_id, frame_t frameP, sub_frame_t LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n", module_idP, CC_id, frameP, subframeP, preamble_index); #ifdef Rel14 LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d PRACH resource type %d\n", module_idP, CC_id, frameP, subframeP, rach_resource_type); -#endif + if (prach_ParametersListCE_r13 && prach_ParametersListCE_r13->list.count < rach_resource_type) { LOG_E (MAC, "[eNB %d][RAPROC] CC_id %d Received impossible PRACH resource type %d, only %d CE levels configured\n", module_idP, CC_id, rach_resource_type, (int) prach_ParametersListCE_r13->list.count); return; } +#endif VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME (VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 0); diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c index e5de10a464..9294832a01 100755 --- a/openair2/LAYER2/MAC/rar_tools.c +++ b/openair2/LAYER2/MAC/rar_tools.c @@ -139,7 +139,7 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, uint8_t *rar = (uint8_t *)(dlsch_buffer+1); int i; - uint8_t nb,rballoc,reps; + uint8_t rballoc,reps; uint8_t mcs,TPC,ULdelay,cqireq,mpdcch_nb_index; int input_buffer_length; @@ -158,7 +158,7 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, // Copy the Msg2 narrowband RA_template->msg34_narrowband = RA_template->msg2_narrowband; - RA_template->msg3_first_rb = ce_level; + RA_template->msg3_first_rb = 0; RA_template->msg3_nb_rb = 2; if (ce_level<2) { //CE Level 0,1, CEmodeA @@ -170,24 +170,24 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, rar[5] = (uint8_t)(RA_template->rnti&0xff); //cc->RA_template[ra_idx].timing_offset = 0; - nb = 0; reps = 0; - mcs = 7; + RA_template->msg3_mcs = 7; TPC = 3; // no power increase ULdelay = 0; cqireq = 0; mpdcch_nb_index = 0; - rballoc = mac_computeRIV(6,RA_template->msg3_first_rb,RA_template->msg3_nb_rb); // one PRB only for UL Grant in position 1+ce_level within Narrowband + rballoc = mac_computeRIV(6,RA_template->msg3_first_rb,RA_template->msg3_nb_rb); + unsigned int buffer = 0; - buffer |= N_NB_index << (16 + (4 - N_NB_index)); + buffer |= RA_template->msg34_narrowband << (16 + (4 - N_NB_index)); buffer |= ((rballoc & 0xFF) << (12 + (4 - N_NB_index))); buffer |= ((reps & 0x03) << (10 + (4 - N_NB_index))); - buffer |= ((mcs & 0x07) << (7 + (4 - N_NB_index))); + buffer |= ((RA_template->msg3_mcs & 0x07) << (7 + (4 - N_NB_index))); buffer |= ((TPC & 0x07) << (4 + (4 - N_NB_index))); buffer |= ((cqireq & 0x01) << (3 + (4 - N_NB_index))); buffer |= ((ULdelay & 0x01) << (2 + (4 - N_NB_index))); - buffer |= ((ULdelay & 0x01) << (4 - N_NB_index)); - rar[1] = (buffer>>12) & 0x0F; + buffer |= (mpdcch_nb_index << (4 - N_NB_index)); + rar[1] = (buffer>>16) & 0x0F; rar[2] = (buffer>>8) & 0xFF; rar[3] = buffer&0xFF; } diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 0ae7ffac96..23d4538b06 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -256,7 +256,7 @@ eNBs = numRepetitionPerPreambleAttempt_r13 = "n1"; #0 mpdcch_NumRepetition_RA_r13 = "r1"; #0 prach_HoppingConfig_r13 = "off"; #1 - max_available_narrow_band = [2]; + max_available_narrow_band = [3]; } ); @@ -355,7 +355,7 @@ eNBs = ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.26"; + mme_ip_address = ( { ipv4 = "127.0.0.3"; ipv6 = "192:168:30::17"; active = "yes"; preference = "ipv4"; @@ -365,10 +365,10 @@ eNBs = NETWORK_INTERFACES : { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.150/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.150/24"; + ENB_INTERFACE_NAME_FOR_S1_MME = "lo"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24"; + ENB_INTERFACE_NAME_FOR_S1U = "lo"; + ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.4/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; From 500e826c14963c1536d438ba8c145e0684d5d754 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 26 Nov 2017 08:37:23 -0800 Subject: [PATCH 084/109] aligned nDMRS1 parameter in LTE and LTE-M sections of SIB2 until L1 uses LTE-M parameters for PUSCH --- .../GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 23d4538b06..382cc9d2fc 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -204,6 +204,7 @@ eNBs = pusch_groupHoppingEnabled = "ENABLE"; pusch_groupAssignment = 0; pusch_sequenceHoppingEnabled = "DISABLE"; + pusch_nDMRS1 = 1; # PUCCH Config Common pucch_delta_shift = 1; @@ -307,7 +308,6 @@ eNBs = rach_preamblesGroupAConfig = "DISABLE"; - pusch_nDMRS1 = 0; phich_duration = "NORMAL"; phich_resource = "ONESIXTH"; srs_enable = "DISABLE"; From 3a2f4c797adc840ac9bb3056297f138e4cf628f4 Mon Sep 17 00:00:00 2001 From: sharma Date: Wed, 29 Nov 2017 07:54:41 +0100 Subject: [PATCH 085/109] debugging of Msg4 --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 13 +- openair1/PHY/LTE_TRANSPORT/defs.h | 2 + openair1/PHY/LTE_TRANSPORT/edci.c | 7 +- openair1/SCHED/fapi_l1.c | 4 +- openair1/SCHED/phy_procedures_lte_eNb.c | 6 +- openair2/LAYER2/MAC/defs.h | 5 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 342 ++++++++++++------------ openair2/LAYER2/MAC/rar_tools.c | 6 +- openair2/RRC/LITE/rrc_eNB.c | 1 + 9 files changed, 205 insertions(+), 181 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 4b4bff3426..5a27a4dd06 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -2168,9 +2168,6 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci_alloc->dmrs_scrambling_init = rel13->drms_scrambling_init; dci_alloc->i0 = rel13->initial_transmission_sf_io; - dci_alloc->ra_flag = 0; - if (rel13->rnti_type == 2) - dci_alloc->ra_flag = 1; UE_id = find_dlsch (rel13->rnti, eNB, SEARCH_EXIST_OR_FREE); AssertFatal (UE_id != -1, "no free or exiting dlsch_context\n"); @@ -2178,6 +2175,14 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0 = eNB->dlsch[UE_id][0]; dlsch0_harq = dlsch0->harq_processes[rel13->harq_process]; + dci_alloc->ra_flag = 0; + dlsch0->ra_flag = 0; + + if (rel13->rnti_type == 2) { + dci_alloc->ra_flag = 1; + dlsch0->ra_flag = 1; + } + AssertFatal (fp->frame_type == FDD, "TDD is not supported yet for eMTC\n"); AssertFatal (fp->N_RB_DL == 25 || fp->N_RB_DL == 50 || fp->N_RB_DL == 100, "eMTC only with N_RB_DL = 25,50,100\n"); @@ -2400,10 +2405,10 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0->active = 1; dlsch0->harq_mask |= (1 << rel13->harq_process); - dlsch0->harq_ids[(subframe + 2) % 10] = rel13->harq_process; dlsch0_harq->frame = (subframe >= 8) ? ((frame + 1) & 1023) : frame; dlsch0_harq->subframe = (subframe + 2) % 10; + LOG_I(PHY,"Setting DLSCH harq_ids[%d] to %d\n",dlsch0_harq->subframe,dlsch0->harq_ids[dlsch0_harq->subframe]); dlsch0->harq_ids[dlsch0_harq->subframe] = rel13->harq_process; dlsch0_harq->pdsch_start = rel13->start_symbol; diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h index 5ba9e48006..fb42e39a6c 100755 --- a/openair1/PHY/LTE_TRANSPORT/defs.h +++ b/openair1/PHY/LTE_TRANSPORT/defs.h @@ -273,6 +273,8 @@ typedef struct { uint16_t rnti; /// Active flag for baseband transmitter processing uint8_t active; + /// flag to indicate that this DLSCH is for RAR + uint8_t ra_flag; /// HARQ process mask, indicates which processes are currently active uint16_t harq_mask; /// Indicator of TX activation per subframe. Used during PUCCH detection for ACK/NAK. diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 60e4b6f1dc..932408ad0a 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -388,9 +388,10 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; e_ptr++; txF[mpdcchtab[i]] = yIQ; + /* LOG_D(PHY,"Frame %d, subframe %d: mpdcch pos %d (%d,%d) => (%d,%d)\n", frame,subframe,i,mpdcchtab[i]+re_offset,mpdcchtab[i]/fp->ofdm_symbol_size, - ((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]); + ((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]);*/ } if (mdci->transmission_type == 1) w=0; // distributed @@ -461,11 +462,11 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, else txF[off+(5*mprime)] = yIQ*w[3-lprime]; } - + /* LOG_I(PHY, "mpdcch_dmrs pos (dist %d, l %d,nprb %d,mprime %d) %d => (%d,%d)\n", mdci->transmission_type, soffset[lprime],nprb,mprime, re_offset + fp->ofdm_symbol_size*soffset[lprime]+(5*mprime), - ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); + ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]);*/ } // narrowband condition } // RE (m') loop } // nprb loop diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index b34c360ff9..b8dc008aa2 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -218,7 +218,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, harq_pid = dlsch0->harq_ids[proc->subframe_tx]; dlsch0->harq_mask |= (1<=0) && (harq_pid<8),"harq_pid %d not in 0...7\n",harq_pid); + AssertFatal((harq_pid>=0) && (harq_pid<8),"subframe %d: harq_pid %d not in 0...7\n",proc->subframe_tx,harq_pid); dlsch0_harq = dlsch0->harq_processes[harq_pid]; dlsch1_harq = dlsch1->harq_processes[harq_pid]; AssertFatal(dlsch0_harq!=NULL,"dlsch_harq is null\n"); @@ -381,7 +381,7 @@ void handle_uci_harq_information(PHY_VARS_eNB *eNB, LTE_eNB_UCI *uci,nfapi_ul_co uci->n_pucch_3[0] = harq_information->harq_information_rel9_fdd.n_pucch_1_0; uci->n_pucch_3[1] = harq_information->harq_information_rel11.n_pucch_2_0; } - else AssertFatal(1==0,"unsupported HARQ mode %d\n",harq_information->harq_information_rel9_fdd.ack_nack_mode); + else AssertFatal(1==0,"unsupported FDD HARQ mode %d size %d\n",harq_information->harq_information_rel9_fdd.ack_nack_mode,harq_information->harq_information_rel9_fdd.harq_size); } else { // TDD uci->num_pucch_resources = harq_information->harq_information_rel10_tdd.number_of_pucch_resources; diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index f092886ec2..9339ebc49a 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -265,9 +265,9 @@ pdsch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, int harq_pid, LTE_ stop_meas (&eNB->dlsch_modulation_stats); dlsch->active = 0; - dlsch_harq->round++; - if (dlsch->rnti == 0xFFFF) - dlsch->harq_mask = 0; + + if (dlsch->rnti == 0xFFFF || dlsch->ra_flag == 1) dlsch->harq_mask = 0; // clear the harq mask for SI and RA-RNTI + else dlsch_harq->round++; //increment the round index for CRNTI and t-CRNTI } diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index a18191f8cf..267392d684 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -914,13 +914,16 @@ typedef struct { int msg4_TBsize; /// MCS used for Msg4 int msg4_mcs; + /// size off piggybacked RRC SDU + uint8_t msg4_rrc_sdu_length; #ifdef Rel14 uint8_t rach_resource_type; uint8_t msg2_mpdcch_repetition_cnt; uint8_t msg2_mpdcch_done; uint8_t msg4_mpdcch_repetition_cnt; + uint8_t msg4_mpdcch_done; uint8_t msg2_narrowband; - uint8_t msg34_narrowband; + uint32_t msg34_narrowband; #endif } RA_TEMPLATE; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 1eed3de5bb..468fd27bc0 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -274,10 +274,9 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = RA_template->msg2_narrowband; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 0; // adjust according to size of RAR, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; @@ -325,7 +324,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s AssertFatal (1 == 0, "TDD case not done yet\n"); } } // mpdcch_repetition_count == reps - else { + else if (RA_template->msg2_mpdcch_done == 0) { LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, MPDCCH repetition %d\n", module_idP, frameP, subframeP, RA_template->msg2_mpdcch_repetition_cnt); RA_template->msg2_mpdcch_repetition_cnt++; } @@ -484,7 +483,6 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s eNB_MAC_INST *eNB = RC.mac[module_idP]; COMMON_channels_t *cc = eNB->common_channels; - int16_t rrc_sdu_length; int UE_id = -1; uint16_t msg4_padding; uint16_t msg4_post_padding; @@ -544,13 +542,14 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s case 2: p[1] = prach_ParametersListCE_r13->list.array[1]; n1pucchan[1] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[1]; - AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level1 shouldn't be NULL\n"); + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level1 shouldn't be NULL\n"); pucchreps[1] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13); case 1: p[0] = prach_ParametersListCE_r13->list.array[0]; n1pucchan[0] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[0]; - AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level0 shouldn't be NULL\n"); + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level0 shouldn't be NULL\n"); pucchreps[0] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13); + break; default: AssertFatal (1 == 0, "Illegal count for prach_ParametersListCE_r13 %d\n", prach_ParametersListCE_r13->list.count); } @@ -574,14 +573,6 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; - // Get RRCConnectionSetup for Piggyback - rrc_sdu_length = mac_rrc_data_req (module_idP, CC_idP, frameP, CCCH, 1, // 1 transport block - &cc[CC_idP].CCCH_pdu.payload[0], ENB_FLAG_YES, module_idP, 0); // not used in this case - - AssertFatal (rrc_sdu_length > 0, "[MAC][eNB Scheduler] CCCH not allocated\n"); - - - LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, rrc_sdu_length); #ifdef Rel14 @@ -597,19 +588,28 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s // distributed transmission // rmax from SIB2 information - rmax = p[RA_template->rach_resource_type - 1]->mpdcch_NumRepetition_RA_r13; - AssertFatal (rmax >= 4, "choose rmax>=4 for enough repeititions, or reduce rep to 1 or 2\n"); + rmax = 1<rach_resource_type - 1]->mpdcch_NumRepetition_RA_r13; + // choose r3 by default for Msg4 (this is ok from table 9.1.5-3 for rmax = >=4, if we choose rmax <4 it has to be less - rep = 2; + rep = 0; // get actual repetition count from Table 9.1.5-3 reps = (rmax <= 8) ? (1 << rep) : (rmax >> (3 - rep)); // get first narrowband first_rb = narrowband_to_first_rb (&cc[CC_idP], RA_template->msg34_narrowband); if ((RA_template->msg4_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { - // MPDCCH configuration for RAR - + // Get RRCConnectionSetup for Piggyback + RA_template->msg4_rrc_sdu_length = mac_rrc_data_req (module_idP, CC_idP, frameP, CCCH, 1, // 1 transport block + &cc[CC_idP].CCCH_pdu.payload[0], ENB_FLAG_YES, module_idP, 0); // not used in this case + + AssertFatal (RA_template->msg4_rrc_sdu_length > 0, "[MAC][eNB Scheduler] CCCH not allocated\n"); + + + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, RA_template->msg4_rrc_sdu_length); + + // MPDCCH configuration for Msg4 + RA_template->msg4_mpdcch_done=0; memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); @@ -623,14 +623,14 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 0; // t-C-RNTI - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->RA_rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->rnti; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; /// Check this is still N_id_cell for type2 common dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); // check if not getRIV(N_RB_DL,first_rb,6); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 0; // adjust according to size of Msg4, 208 bits with N1A_PRB=3 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 4; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of Msg4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 0 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = RA_template->harq_pid; @@ -640,7 +640,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 1; // N1A_PRB=3; => + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 3; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; @@ -657,143 +657,153 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; RA_template->msg4_mpdcch_repetition_cnt++; dl_req->number_pdu++; - + RA_template->msg4_TBsize = get_TBS_DL(dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs, + 6); } //repetition_count==0 && SF condition met - else if (RA_template->msg4_mpdcch_repetition_cnt > 0) { // we're in a stream of repetitions - RA_template->msg4_mpdcch_repetition_cnt++; + + if ((RA_template->msg4_mpdcch_repetition_cnt > 0)&& + (RA_template->msg4_mpdcch_done==0)) { // we're in a stream of repetitions if (RA_template->msg4_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition - if (cc[CC_idP].tdd_Config == NULL) { // FDD case + RA_template->msg4_mpdcch_done = 1; + if (cc[CC_idP].tdd_Config == NULL) { // FDD case // wait 2 subframes for PDSCH transmission if (subframeP > 7) RA_template->Msg4_frame = (frameP + 1) & 1023; else RA_template->Msg4_frame = frameP; RA_template->Msg4_subframe = (subframeP + 2) % 10; + LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Set Msg4 PDSCH in %d.%d\n", + module_idP, CC_idP, frameP, subframeP, RA_template->Msg4_frame,RA_template->Msg4_subframe); } else { AssertFatal (1 == 0, "TDD case not done yet\n"); } - } // mpdcch_repetition_count == reps - if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { - - // Program PDSCH - - LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 BR with RRC Piggyback (ce_level %d RNTI %x)\n", - module_idP, CC_idP, frameP, subframeP, RA_template->rach_resource_type - 1, RA_template->rnti); - - AssertFatal (1 == 0, "Msg4 generation not finished for BL/CE UE\n"); - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); - dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; - dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->rnti; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV (N_RB_DL, first_rb, 6); // check that this isn't getRIV(6,0,6) - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; - // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; - - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; - - RA_template->generate_Msg4 = 0; - RA_template->wait_ack_Msg4 = 1; - - lcid = 0; - - UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; - msg4_header = 1 + 6 + 1; // CR header, CR CE, SDU header - - if ((RA_template->msg4_TBsize - rrc_sdu_length - msg4_header) <= 2) { - msg4_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header; - msg4_post_padding = 0; - } else { - msg4_padding = 0; - msg4_post_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header - 1; - } - - LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", - module_idP, CC_idP, frameP, subframeP, RA_template->msg4_TBsize, rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); - DevAssert (UE_id != UE_INDEX_INVALID); // FIXME not sure how to gracefully return - // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] - offset = generate_dlsch_header ((unsigned char *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus - (unsigned short *) &rrc_sdu_length, // - &lcid, // sdu_lcid - 255, // no drx - 31, // no timing advance - RA_template->cont_res_id, // contention res id - msg4_padding, // no padding - msg4_post_padding); - - memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], rrc_sdu_length); - - // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; - TX_req->pdu_length = rrc_sdu_length; - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; - TX_req->num_segments = 1; - TX_req->segments[0].segment_length = rrc_sdu_length; - TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; - - // Program ACK/NAK for Msg4 PDSCH - int absSF = (RA_template->Msg3_frame * 10) + RA_template->Msg3_subframe; - // see Section 10.2 from 36.213 - int ackNAK_absSF = absSF + reps + 4; - AssertFatal (reps > 2, "Have to handle programming of ACK when PDSCH repetitions is > 2\n"); - ul_req = &eNB->UL_req_tmp[CC_idP][ackNAK_absSF % 10].ul_config_request_body; - ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; - - ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; - ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_uci_harq_pdu)); - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.handle = 0; // don't know how to use this - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti = RA_template->rnti; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.empty_symbols = 0; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions = pucchreps[RA_template->rach_resource_type - 1]; - ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.repetition_number = 0; - // Note need to keep sending this across reptitions!!!! Not really for PUCCH, to ask small-cell forum, we'll see for the other messages, maybe parameters change across repetitions and FAPI has to provide for that - if (cc[CC_idP].tdd_Config == NULL) { // FDD case - ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel8_fdd.n_pucch_1_0 = n1pucchan[RA_template->rach_resource_type - 1]; - // NOTE: How to fill in the rest of the n_pucch_1_0 information 213 Section 10.1.2.1 in the general case - // = N_ECCE_q + Delta_ARO + n1pucchan[ce_level] - // higher in the MPDCCH configuration, N_ECCE_q is hard-coded to 0, and harq resource offset to 0 => - // Delta_ARO = 0 from Table 10.1.2.1-1 - ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel8_fdd.harq_size = 1; // 1-bit ACK/NAK - } else { - AssertFatal (1 == 0, "PUCCH configuration for ACK/NAK not handled yet for TDD BL/CE case\n"); - } - ul_req->number_of_pdus++; - T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_idP), T_INT (RA_template->rnti), T_INT (frameP), T_INT (subframeP), - T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); - - if (opt_enabled == 1) { - trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); - LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), rrc_sdu_length); - } - } // Msg4 frame/subframe - } // msg4_mpdcch_repetition_count + } + else if (RA_template->msg4_mpdcch_done==0) + RA_template->msg4_mpdcch_repetition_cnt++; + } +// mpdcch_repetition_count == reps + else if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { + + // Program PDSCH + + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 BR with RRC Piggyback (ce_level %d RNTI %x)\n", + module_idP, CC_idP, frameP, subframeP, RA_template->rach_resource_type - 1, RA_template->rnti); + + + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = RA_template->rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV (N_RB_DL, first_rb, 6); // check that this isn't getRIV(6,0,6) + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + RA_template->generate_Msg4 = 0; + RA_template->wait_ack_Msg4 = 1; + + lcid = 0; + + UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; + msg4_header = 1 + 6 + 1; // CR header, CR CE, SDU header + AssertFatal((RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header)>=0, + "msg4_TBS %d is too small, change mcs to increase by %d bytes\n",RA_template->msg4_TBsize,RA_template->msg4_rrc_sdu_length+msg4_header-RA_template->msg4_TBsize); + if ((RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header) <= 2) { + msg4_padding = RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header; + msg4_post_padding = 0; + } else { + msg4_padding = 0; + msg4_post_padding = RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header - 1; + } + + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", + module_idP, CC_idP, frameP, subframeP, RA_template->msg4_TBsize, RA_template->msg4_rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); + DevAssert (UE_id != UE_INDEX_INVALID); // FIXME not sure how to gracefully return + // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] + offset = generate_dlsch_header ((unsigned char *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus + (unsigned short *) &RA_template->msg4_rrc_sdu_length, // + &lcid, // sdu_lcid + 255, // no drx + 31, // no timing advance + RA_template->cont_res_id, // contention res id + msg4_padding, // no padding + msg4_post_padding); + + memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], RA_template->msg4_rrc_sdu_length); + + // DL request + eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; + TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + TX_req->pdu_length = RA_template->msg4_TBsize; + TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = RA_template->msg4_TBsize; + TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]; + eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + + // Program ACK/NAK for Msg4 PDSCH + int absSF = (RA_template->Msg3_frame * 10) + RA_template->Msg3_subframe; + // see Section 10.2 from 36.213 + int ackNAK_absSF = absSF + reps + 4; + AssertFatal (reps == 1, "Have to handle programming of ACK when PDSCH repetitions is > 1\n"); + ul_req = &eNB->UL_req_tmp[CC_idP][ackNAK_absSF % 10].ul_config_request_body; + ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_uci_harq_pdu)); + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.handle = 0; // don't know how to use this + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti = RA_template->rnti; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.ue_type = (RA_template->rach_resource_type < 3) ? 1 : 2; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.empty_symbols = 0; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions = pucchreps[RA_template->rach_resource_type - 1]; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.repetition_number = 0; + // Note need to keep sending this across reptitions!!!! Not really for PUCCH, to ask small-cell forum, we'll see for the other messages, maybe parameters change across repetitions and FAPI has to provide for that + if (cc[CC_idP].tdd_Config == NULL) { // FDD case + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel9_fdd.n_pucch_1_0 = n1pucchan[RA_template->rach_resource_type - 1]; + // NOTE: How to fill in the rest of the n_pucch_1_0 information 213 Section 10.1.2.1 in the general case + // = N_ECCE_q + Delta_ARO + n1pucchan[ce_level] + // higher in the MPDCCH configuration, N_ECCE_q is hard-coded to 0, and harq resource offset to 0 => + // Delta_ARO = 0 from Table 10.1.2.1-1 + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel9_fdd.harq_size = 1; // 1-bit ACK/NAK + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel9_fdd.number_of_pucch_resources = 1; + } else { + AssertFatal (1 == 0, "PUCCH configuration for ACK/NAK not handled yet for TDD BL/CE case\n"); + } + ul_req->number_of_pdus++; + T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_idP), T_INT (RA_template->rnti), T_INT (frameP), T_INT (subframeP), + T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); + + if (opt_enabled == 1) { + trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], RA_template->msg4_rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); + LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), RA_template->msg4_rrc_sdu_length); + } + } // Msg4 frame/subframe } // rach_resource_type > 0 else #endif @@ -813,22 +823,22 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s // Compute MCS/TBS for 3 PRB (coded on 4 vrb) msg4_header = 1 + 6 + 1; // CR header, CR CE, SDU header - if ((rrc_sdu_length + msg4_header) <= 22) { + if ((RA_template->msg4_rrc_sdu_length + msg4_header) <= 22) { RA_template->msg4_mcs = 4; RA_template->msg4_TBsize = 22; - } else if ((rrc_sdu_length + msg4_header) <= 28) { + } else if ((RA_template->msg4_rrc_sdu_length + msg4_header) <= 28) { RA_template->msg4_mcs = 5; RA_template->msg4_TBsize = 28; - } else if ((rrc_sdu_length + msg4_header) <= 32) { + } else if ((RA_template->msg4_rrc_sdu_length + msg4_header) <= 32) { RA_template->msg4_mcs = 6; RA_template->msg4_TBsize = 32; - } else if ((rrc_sdu_length + msg4_header) <= 41) { + } else if ((RA_template->msg4_rrc_sdu_length + msg4_header) <= 41) { RA_template->msg4_mcs = 7; RA_template->msg4_TBsize = 41; - } else if ((rrc_sdu_length + msg4_header) <= 49) { + } else if ((RA_template->msg4_rrc_sdu_length + msg4_header) <= 49) { RA_template->msg4_mcs = 8; RA_template->msg4_TBsize = 49; - } else if ((rrc_sdu_length + msg4_header) <= 57) { + } else if ((RA_template->msg4_rrc_sdu_length + msg4_header) <= 57) { RA_template->msg4_mcs = 9; RA_template->msg4_TBsize = 57; } @@ -874,20 +884,20 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; UE_list->UE_sched_ctrl[UE_id].round[CC_idP][RA_template->harq_pid] = 0; - if ((RA_template->msg4_TBsize - rrc_sdu_length - msg4_header) <= 2) { - msg4_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header; + if ((RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header) <= 2) { + msg4_padding = RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header; msg4_post_padding = 0; } else { msg4_padding = 0; - msg4_post_padding = RA_template->msg4_TBsize - rrc_sdu_length - msg4_header - 1; + msg4_post_padding = RA_template->msg4_TBsize - RA_template->msg4_rrc_sdu_length - msg4_header - 1; } LOG_D (MAC, "[eNB %d][RAPROC] CC_idP %d Frame %d subframeP %d Msg4 : TBS %d, sdu_len %d, msg4_header %d, msg4_padding %d, msg4_post_padding %d\n", - module_idP, CC_idP, frameP, subframeP, RA_template->msg4_TBsize, rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); + module_idP, CC_idP, frameP, subframeP, RA_template->msg4_TBsize, RA_template->msg4_rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); DevAssert (UE_id != UE_INDEX_INVALID); // FIXME not sure how to gracefully return // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] offset = generate_dlsch_header ((unsigned char *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus - (unsigned short *) &rrc_sdu_length, // + (unsigned short *) &RA_template->msg4_rrc_sdu_length, // &lcid, // sdu_lcid 255, // no drx 31, // no timing advance @@ -895,7 +905,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s msg4_padding, // no padding msg4_post_padding); - memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], rrc_sdu_length); + memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], RA_template->msg4_rrc_sdu_length); // DLSCH Config fill_nfapi_dlsch_config (eNB, dl_req, RA_template->msg4_TBsize, eNB->pdu_index[CC_idP], RA_template->rnti, 2, // resource_allocation_type : format 1A/1B/1D @@ -921,7 +931,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s // DL request eNB->TX_req[CC_idP].sfn_sf = fill_nfapi_tx_req (&eNB->TX_req[CC_idP].tx_request_body, - (frameP * 10) + subframeP, rrc_sdu_length, eNB->pdu_index[CC_idP], eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]); + (frameP * 10) + subframeP, RA_template->msg4_rrc_sdu_length, eNB->pdu_index[CC_idP], eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]); eNB->pdu_index[CC_idP]++; LOG_D (MAC, "Filling UCI ACK/NAK information, cce_idx %d\n", dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx); @@ -934,8 +944,8 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], RA_template->msg4_TBsize)); if (opt_enabled == 1) { - trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); - LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), rrc_sdu_length); + trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], RA_template->msg4_rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); + LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), RA_template->msg4_rrc_sdu_length); } } // CCE Allocation feasible @@ -1011,7 +1021,9 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s #ifdef Rel14 if (RA_template->rach_resource_type > 0) { - AssertFatal (1 == 0, "Msg4 Retransmissions not handled yet for BL/CE UEs\n"); + if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { + AssertFatal (1 == 0, "Msg4 Retransmissions not handled yet for BL/CE UEs\n"); + } } else #endif { diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c index 9294832a01..1c83bf5e9d 100755 --- a/openair2/LAYER2/MAC/rar_tools.c +++ b/openair2/LAYER2/MAC/rar_tools.c @@ -139,8 +139,8 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, uint8_t *rar = (uint8_t *)(dlsch_buffer+1); int i; - uint8_t rballoc,reps; - uint8_t mcs,TPC,ULdelay,cqireq,mpdcch_nb_index; + uint32_t rballoc,reps; + uint32_t mcs,TPC,ULdelay,cqireq,mpdcch_nb_index; int input_buffer_length; @@ -178,7 +178,7 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, mpdcch_nb_index = 0; rballoc = mac_computeRIV(6,RA_template->msg3_first_rb,RA_template->msg3_nb_rb); - unsigned int buffer = 0; + uint32_t buffer = 0; buffer |= RA_template->msg34_narrowband << (16 + (4 - N_NB_index)); buffer |= ((rballoc & 0xFF) << (12 + (4 - N_NB_index))); buffer |= ((reps & 0x03) << (10 + (4 - N_NB_index))); diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 7b551c194f..559f58ab4b 100755 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -3778,6 +3778,7 @@ rrc_eNB_generate_RRCConnectionSetup( SRB_configList = &ue_context_pP->ue_context.SRB_configList; #ifdef Rel14 if (is_mtc) { + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size = do_RRCConnectionSetup_BR(ctxt_pP, ue_context_pP, CC_id, From 18d996ebd60ad007d69ad3d23c6a224887d403b1 Mon Sep 17 00:00:00 2001 From: sharma Date: Sun, 3 Dec 2017 00:08:04 +0100 Subject: [PATCH 086/109] addition of UL scheduler for eMTC --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 149 ++++++++ openair1/PHY/LTE_TRANSPORT/edci.c | 7 +- openair1/PHY/LTE_TRANSPORT/mdci.h | 16 +- openair1/PHY/LTE_TRANSPORT/proto.h | 6 +- openair1/PHY/LTE_TRANSPORT/pucch.c | 46 ++- openair1/SCHED/fapi_l1.c | 41 +- openair1/SCHED/phy_procedures_lte_eNb.c | 40 +- openair2/LAYER2/MAC/defs.h | 2 + openair2/LAYER2/MAC/eNB_scheduler.c | 4 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 43 ++- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 3 +- .../LAYER2/MAC/eNB_scheduler_primitives.c | 2 +- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 358 +++++++++++++++++- openair2/LAYER2/MAC/pre_processor.c | 2 + openair2/RRC/LITE/MESSAGES/asn1_msg.c | 5 +- openair2/RRC/LITE/rrc_common.c | 8 +- openair2/RRC/LITE/rrc_eNB.c | 1 + 17 files changed, 647 insertions(+), 86 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 5a27a4dd06..6059ac8aa7 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -2583,6 +2583,155 @@ fill_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, DCI_ALLOC_t * dci_alloc, } } +#ifdef Rel14 +void +fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci_alloc, nfapi_hi_dci0_mpdcch_dci_pdu * pdu) +{ + LTE_DL_FRAME_PARMS *frame_parms = &eNB->frame_parms; + nfapi_hi_dci0_mpdcch_dci_pdu_rel13_t *rel13 = &pdu->mpdcch_dci_pdu_rel13; + + uint32_t cqi_req = rel13->csi_request; + uint32_t dai = rel13->dl_assignment_index; + uint32_t TPC = rel13->tpc; + uint32_t mcs = rel13->mcs; + uint32_t hopping = rel13->frequency_hopping_flag; + uint32_t rballoc = computeRIV (6, + rel13->resource_block_start, + rel13->number_of_resource_blocks); + + uint32_t ndi = rel13->new_data_indication; + +#ifdef T_TRACER + T (T_ENB_PHY_ULSCH_UE_DCI, T_INT (eNB->Mod_id), T_INT (proc->frame_tx), T_INT (proc->subframe_tx), + T_INT (rel13->rnti), T_INT (((proc->frame_tx * 10 + proc->subframe_tx + 4) % 8) /* TODO: correct harq pid */ ), + T_INT (mcs), T_INT (-1 /* TODO: remove round? */ ), + T_INT (rel13->resource_block_start), + T_INT (rel13->number_of_resource_blocks), + T_INT (get_TBS_UL (mcs, rel13->number_of_resource_blocks) * 8), T_INT (rel13->aggregation_level), T_INT (rel13->cce_index)); +#endif + + void *dci_pdu = (void *) dci_alloc->dci_pdu; + + AssertFatal(rel13->ce_mode == 1 && rel13->dci_format == 4, "dci format 5 (CE_modeB) not supported yet\n"); + + LOG_D (PHY, "Filling DCI6-0A with cqi %d, mcs %d, hopping %d, rballoc %x (%d,%d) ndi %d TPC %d\n", cqi_req, + mcs, hopping, rballoc, rel13->resource_block_start, rel13->number_of_resource_blocks, ndi, TPC); + + dci_alloc->format = format6_0A; + dci_alloc->firstCCE = rel13->ecce_index; + dci_alloc->L = rel13->aggreagation_level; + dci_alloc->rnti = rel13->rnti; + dci_alloc->harq_pid = rel13->harq_process; + dci_alloc->narrowband = rel13->mpdcch_narrowband; + dci_alloc->number_of_prb_pairs = rel13->number_of_prb_pairs; + dci_alloc->resource_block_assignment = rel13->resource_block_assignment; + dci_alloc->transmission_type = rel13->mpdcch_transmission_type; + dci_alloc->start_symbol = rel13->start_symbol; + dci_alloc->ce_mode = rel13->ce_mode; + dci_alloc->dmrs_scrambling_init = rel13->drms_scrambling_init; + dci_alloc->i0 = rel13->initial_transmission_sf_io; + + + switch (frame_parms->N_RB_DL) { + case 6: + if (frame_parms->frame_type == TDD) { + AssertFatal(1==0,"TDD not supported for eMTC yet\n"); + } else { + AssertFatal(1==0,"6 PRBS not supported for eMTC\n"); + } + + break; + + case 25: + if (frame_parms->frame_type == TDD) { + AssertFatal(1==0,"TDD not supported for eMTC yet\n"); + } else { + dci_alloc->dci_length = sizeof_DCI6_0A_5MHz_t; + ((DCI6_0A_10MHz_t *) dci_pdu)->type = 0; + ((DCI6_0A_10MHz_t *) dci_pdu)->hopping = hopping; + ((DCI6_0A_10MHz_t *) dci_pdu)->rballoc = rballoc; + ((DCI6_0A_10MHz_t *) dci_pdu)->mcs = mcs; + ((DCI6_0A_10MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; + ((DCI6_0A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_0A_10MHz_t *) dci_pdu)->ndi = ndi; + ((DCI6_0A_10MHz_t *) dci_pdu)->rv_idx = rel13->redudency_version; + ((DCI6_0A_10MHz_t *) dci_pdu)->TPC = TPC; + ((DCI6_0A_10MHz_t *) dci_pdu)->csi_req = cqi_req; + ((DCI6_0A_10MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_0A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; + + } + + break; + + case 50: + if (frame_parms->frame_type == TDD) { + AssertFatal(1==0,"TDD not supported for eMTC yet\n"); + } else { + dci_alloc->dci_length = sizeof_DCI6_0A_10MHz_t; + ((DCI6_0A_10MHz_t *) dci_pdu)->type = 0; + ((DCI6_0A_10MHz_t *) dci_pdu)->hopping = hopping; + ((DCI6_0A_10MHz_t *) dci_pdu)->rballoc = rballoc; + ((DCI6_0A_10MHz_t *) dci_pdu)->mcs = mcs; + ((DCI6_0A_10MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; + ((DCI6_0A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_0A_10MHz_t *) dci_pdu)->ndi = ndi; + ((DCI6_0A_10MHz_t *) dci_pdu)->rv_idx = rel13->redudency_version; + ((DCI6_0A_10MHz_t *) dci_pdu)->TPC = TPC; + ((DCI6_0A_10MHz_t *) dci_pdu)->csi_req = cqi_req; + ((DCI6_0A_10MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_0A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; + LOG_I(PHY,"Frame %d, Subframe %d : Programming Format 6-0A DCI, type %d, hopping %d, narrowband %d, rballoc %x, mcs %d, rep %d, harq_pid %d, ndi %d, rv %d, TPC %d, csi_req %d, srs_req %d, dci_rep r%d => %x\n", + proc->frame_tx,proc->subframe_tx, + ((DCI6_0A_10MHz_t *) dci_pdu)->type, + ((DCI6_0A_10MHz_t *) dci_pdu)->hopping, + ((DCI6_0A_10MHz_t *) dci_pdu)->narrowband, + ((DCI6_0A_10MHz_t *) dci_pdu)->rballoc, + ((DCI6_0A_10MHz_t *) dci_pdu)->mcs, + ((DCI6_0A_10MHz_t *) dci_pdu)->rep, + ((DCI6_0A_10MHz_t *) dci_pdu)->harq_pid, + ((DCI6_0A_10MHz_t *) dci_pdu)->ndi, + ((DCI6_0A_10MHz_t *) dci_pdu)->rv_idx, + ((DCI6_0A_10MHz_t *) dci_pdu)->TPC, + ((DCI6_0A_10MHz_t *) dci_pdu)->csi_req, + ((DCI6_0A_10MHz_t *) dci_pdu)->srs_req, + ((DCI6_0A_10MHz_t *) dci_pdu)->dci_rep, + ((uint32_t*)dci_pdu)[0]); + + } + + break; + + case 100: + if (frame_parms->frame_type == TDD) { + AssertFatal(1==0,"TDD not supported for eMTC yet\n"); + } else { + dci_alloc->dci_length = sizeof_DCI6_0A_20MHz_t; + ((DCI6_0A_20MHz_t *) dci_pdu)->type = 0; + ((DCI6_0A_20MHz_t *) dci_pdu)->hopping = hopping; + ((DCI6_0A_20MHz_t *) dci_pdu)->rballoc = rballoc; + ((DCI6_0A_20MHz_t *) dci_pdu)->mcs = rel13->mcs; + ((DCI6_0A_20MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; + ((DCI6_0A_20MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_0A_20MHz_t *) dci_pdu)->ndi = ndi; + ((DCI6_0A_20MHz_t *) dci_pdu)->rv_idx = rel13->redudency_version; + ((DCI6_0A_20MHz_t *) dci_pdu)->TPC = TPC; + ((DCI6_0A_20MHz_t *) dci_pdu)->csi_req = cqi_req; + ((DCI6_0A_20MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_0A_20MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; + } + + //printf("eNB: rb_alloc (20 MHz dci) %d\n",rballoc); + break; + + default: + LOG_E (PHY, "Invalid N_RB_DL %d\n", frame_parms->N_RB_DL); + DevParam (frame_parms->N_RB_DL, 0, 0); + break; + } +} +#endif + void fill_ulsch (PHY_VARS_eNB * eNB, nfapi_ul_config_ulsch_pdu * ulsch_pdu, int frame, int subframe) { diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 932408ad0a..fbc3adc7aa 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -339,7 +339,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, AssertFatal(absSF < 10240, "Absolute subframe %d = %d*10 + %d > 10239\n", absSF, frame, subframe); mpdcch_scrambling(fp, mdci, absSF, mpdcch->e, coded_bits); - + // Modulation for PDCCH if (fp->nb_antenna_ports_eNB == 1) gain_lin_QPSK = (int16_t) ((amp * ONE_OVER_SQRT2_Q15) >> 15); @@ -388,15 +388,14 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, ((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK; e_ptr++; txF[mpdcchtab[i]] = yIQ; - /* - LOG_D(PHY,"Frame %d, subframe %d: mpdcch pos %d (%d,%d) => (%d,%d)\n", + /* + LOG_I(PHY,"Frame %d, subframe %d: mpdcch pos %d (%d,%d) => (%d,%d)\n", frame,subframe,i,mpdcchtab[i]+re_offset,mpdcchtab[i]/fp->ofdm_symbol_size, ((int16_t *) & yIQ)[0],((int16_t *) & yIQ)[1]);*/ } if (mdci->transmission_type == 1) w=0; // distributed else w = wp[a_index&1]; - // pilot scrambling initiatlization (note: this is for a single repetition) // x1 is set in lte_gold_generic diff --git a/openair1/PHY/LTE_TRANSPORT/mdci.h b/openair1/PHY/LTE_TRANSPORT/mdci.h index b2b0d3edce..5068aa072c 100755 --- a/openair1/PHY/LTE_TRANSPORT/mdci.h +++ b/openair1/PHY/LTE_TRANSPORT/mdci.h @@ -89,7 +89,9 @@ struct DCI6_1A_5MHz { /// Modulation and Coding Scheme and Redundancy Version uint32_t mcs:4; /// Resource block assignment (assignment flag = 0 for 5 MHz, ceil(log2(floor(N_RB_DL/6)))+5) - uint32_t rballoc:7; + uint32_t rballoc:5; + /// narroband index log2(floor(N_RB_DL/6))) bits + uint32_t narrowband:2; /// Frequency hopping flag uint32_t hopping:1; /// 0/1A differentiator @@ -122,7 +124,9 @@ struct DCI6_0A_10MHz { /// Modulation and Coding Scheme and Redundancy Version uint32_t mcs:4; /// RB Assignment (ceil(log2(floor(N_RB_UL/6))) + 5 bits) - uint32_t rballoc:8; + uint32_t rballoc:5; + /// narroband index log2(floor(N_RB_DL/6))) bits + uint32_t narrowband:3; /// Hopping flag uint32_t hopping:1; /// type = 0 => DCI Format 0, type = 1 => DCI Format 1A @@ -190,7 +194,9 @@ struct DCI6_0A_20MHz { /// Modulation and Coding Scheme and Redundancy Version uint32_t mcs:4; /// RB Assignment (ceil(log2(floor(N_RB_UL/6))) + 5 bits) - uint32_t rballoc:9; + uint32_t rballoc:5; + /// narroband index log2(floor(N_RB_DL/6))) bits + uint32_t narrowband:4; /// Hopping flag uint32_t hopping:1; /// type = 0 => DCI Format 0, type = 1 => DCI Format 1A @@ -223,7 +229,9 @@ struct DCI6_1A_20MHz { /// Modulation and Coding Scheme and Redundancy Version uint32_t mcs:4; /// Resource block assignment (assignment flag = 0 for 20 MHz, ceil(log2(floor(N_RB_DL/6)))+5) - uint32_t rballoc:9; + uint32_t rballoc:5; + /// narroband index log2(floor(N_RB_DL/6))) bits + uint32_t narrowband:4; /// Frequency hopping flag uint32_t hopping:1; /// 0/1A differentiator diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index 8fa2f0ca22..c39879a771 100755 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -2103,7 +2103,11 @@ uint32_t rx_pucch(PHY_VARS_eNB *phy_vars_eNB, uint8_t *payload, int frame, uint8_t subframe, - uint8_t pucch1_thres); + uint8_t pucch1_thres +#ifdef Rel14 + ,uint8_t br_flag + ); +#endif int32_t rx_pucch_emul(PHY_VARS_eNB *phy_vars_eNB, eNB_rxtx_proc_t *proc, diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c index bda998d0fb..d03ac16105 100755 --- a/openair1/PHY/LTE_TRANSPORT/pucch.c +++ b/openair1/PHY/LTE_TRANSPORT/pucch.c @@ -1793,7 +1793,11 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, uint8_t *payload, int frame, uint8_t subframe, - uint8_t pucch1_thres) + uint8_t pucch1_thres +#ifdef Rel14 + ,uint8_t br_flag +#endif + ) { @@ -2057,14 +2061,25 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, //for (j=0,l=0;l<(nsymb-1);l++) { for (j=0,l=0; l>1)) && ((m&1) == 0)) - re_offset = (m*6) + frame_parms->first_carrier_offset; - else if ((l<(nsymb>>1)) && ((m&1) == 1)) - re_offset = frame_parms->first_carrier_offset + (frame_parms->N_RB_DL - (m>>1) - 1)*12; - else if ((m&1) == 0) - re_offset = frame_parms->first_carrier_offset + (frame_parms->N_RB_DL - (m>>1) - 1)*12; +#ifdef Rel14 + if (br_flag > 0 ) { + if ((m&1) == 0) + re_offset = (m*6) + frame_parms->first_carrier_offset; + else + re_offset = frame_parms->first_carrier_offset + (frame_parms->N_RB_DL - (m>>1) - 1)*12; + } else - re_offset = ((m-1)*6) + frame_parms->first_carrier_offset; +#endif + { + if ((l<(nsymb>>1)) && ((m&1) == 0)) + re_offset = (m*6) + frame_parms->first_carrier_offset; + else if ((l<(nsymb>>1)) && ((m&1) == 1)) + re_offset = frame_parms->first_carrier_offset + (frame_parms->N_RB_DL - (m>>1) - 1)*12; + else if ((m&1) == 0) + re_offset = frame_parms->first_carrier_offset + (frame_parms->N_RB_DL - (m>>1) - 1)*12; + else + re_offset = ((m-1)*6) + frame_parms->first_carrier_offset; + } if (re_offset > frame_parms->ofdm_symbol_size) re_offset -= (frame_parms->ofdm_symbol_size); @@ -2159,9 +2174,9 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, printf("[eNB] PUCCH: stat %d, stat_max %d, phase_max %d\n", stat,stat_max,phase_max); #endif -#ifdef DEBUG_PUCCH_RX - LOG_D(PHY,"[eNB] PUCCH fmt1: stat_max : %d, sigma2_dB %d (%d, %d), phase_max : %d\n",dB_fixed(stat_max),sigma2_dB,eNB->measurements.n0_subband_power_tot_dBm[6],pucch1_thres,phase_max); -#endif + //#ifdef DEBUG_PUCCH_RX + LOG_I(PHY,"[eNB] PUCCH fmt1: stat_max : %d, sigma2_dB %d (%d, %d), phase_max : %d\n",dB_fixed(stat_max),sigma2_dB,eNB->measurements.n0_subband_power_tot_dBm[6],pucch1_thres,phase_max); + //#endif eNB->pucch1_stats[UE_id][(subframe<<10)+eNB->pucch1_stats_cnt[UE_id][subframe]] = stat_max; @@ -2368,7 +2383,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, #endif } - + #ifdef DEBUG_PUCCH_RX printf("[eNB] PUCCH subframe %d chest1[%d][%d] => (%d,%d)\n",subframe,aa,re, @@ -2416,9 +2431,10 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, } // aa - LOG_D(PHY,"PUCCH 1a/b: subframe %d : stat %d,%d (pos %d)\n",subframe,stat_re,stat_im, + LOG_I(PHY,"PUCCH 1a/b: SFN.SF %d.%d : stat %d,%d (pos %d)\n", + frame,subframe,stat_re,stat_im, (subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe])); - LOG_D(PHY,"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d\n",subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres); + LOG_D(PHY,"PUCCH 1a/b: SFN.SF %d.%d : sigma2_dB %d, stat_max %d, pucch1_thres %d\n",frame,subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres); eNB->pucch1ab_stats[UE_id][(subframe<<11) + 2*(eNB->pucch1ab_stats_cnt[UE_id][subframe])] = (stat_re); eNB->pucch1ab_stats[UE_id][(subframe<<11) + 1+2*(eNB->pucch1ab_stats_cnt[UE_id][subframe])] = (stat_im); @@ -2432,7 +2448,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, if (fmt==pucch_format1b) *(1+payload) = (stat_im<0) ? 1 : 2; } else { // insufficient energy on PUCCH so NAK - LOG_I(PHY,"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d\n",subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres); + LOG_D(PHY,"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d\n",subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres); *payload = 4; // DTX ((int16_t*)&eNB->pucch1ab_stats[UE_id][(subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe])])[0] = (int16_t)(stat_re); ((int16_t*)&eNB->pucch1ab_stats[UE_id][(subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe])])[1] = (int16_t)(stat_im); diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index b8dc008aa2..fddea1a539 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -74,6 +74,15 @@ void handle_nfapi_hi_dci0_dci_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, fill_dci0(eNB,proc,&pdcch_vars->dci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->dci_pdu); } +void handle_nfapi_hi_dci0_mpdcch_dci_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, + nfapi_hi_dci0_request_pdu_t *hi_dci0_config_pdu) +{ + int idx = proc->subframe_tx&1; + LTE_eNB_PDCCH *pdcch_vars = &eNB->mpdcch_vars[idx]; + // copy dci configuration in to eNB structure + fill_mpdcch_dci0(eNB,proc,&pdcch_vars->dci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->dci_pdu); +} + void handle_nfapi_hi_dci0_hi_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, nfapi_hi_dci0_request_pdu_t *hi_dci0_config_pdu) { @@ -244,13 +253,13 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, AssertFatal(sdu!=NULL,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d : sdu is null for pdu_index %d\n", proc->frame_tx,proc->subframe_tx,rel8->rnti,UE_id,harq_pid, dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index); - if (rel8->rnti != 0xFFFF) LOG_I(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d\n", + if (rel8->rnti != 0xFFFF) LOG_D(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d\n", proc->frame_tx,proc->subframe_tx,rel8->rnti,UE_id,harq_pid); if (codeword_index == 0) dlsch0_harq->pdu = sdu; else dlsch1_harq->pdu = sdu; } else { - if (rel8->rnti != 0xFFFF) LOG_I(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round %d, rnti %x, UE_id %d, harq_pid %d\n", + if (rel8->rnti != 0xFFFF) LOG_D(PHY,"NFAPI: frame %d, subframe %d: programming dlsch for round %d, rnti %x, UE_id %d, harq_pid %d\n", proc->frame_tx,proc->subframe_tx,dlsch0_harq->round, rel8->rnti,UE_id,harq_pid); } @@ -436,7 +445,11 @@ void handle_uci_sr_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu_t uci->n_pucch_1_0_sr[0] = ul_config_pdu->uci_sr_pdu.sr_information.sr_information_rel8.pucch_index; uci->srs_active = srs_active; uci->active = 1; - +#ifdef Rel14 + uci->ue_type = ul_config_pdu->uci_sr_pdu.ue_information.ue_information_rel13.ue_type; + uci->empty_symbols = ul_config_pdu->uci_sr_pdu.ue_information.ue_information_rel13.empty_symbols; + uci->total_repetitions = ul_config_pdu->uci_sr_pdu.ue_information.ue_information_rel13.total_number_of_repetitions; +#endif LOG_D(PHY,"Programming UCI SR rnti %x, pucch1_0 %d for (%d,%d)\n", uci->rnti,uci->n_pucch_1_0_sr[0],frame,subframe); } @@ -454,7 +467,11 @@ void handle_uci_sr_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_ uci->n_pucch_1_0_sr[0] = ul_config_pdu->uci_sr_harq_pdu.sr_information.sr_information_rel8.pucch_index; uci->srs_active = srs_active; uci->active = 1; - +#ifdef Rel14 + uci->ue_type = ul_config_pdu->uci_sr_harq_pdu.ue_information.ue_information_rel13.ue_type; + uci->empty_symbols = ul_config_pdu->uci_sr_harq_pdu.ue_information.ue_information_rel13.empty_symbols; + uci->total_repetitions = ul_config_pdu->uci_sr_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions; +#endif handle_uci_harq_information(eNB,uci,&ul_config_pdu->uci_sr_harq_pdu.harq_information); } @@ -469,7 +486,11 @@ void handle_uci_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu uci->type = HARQ; uci->srs_active = srs_active; uci->num_antenna_ports = ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel11.num_ant_ports; - +#ifdef Rel14 + uci->ue_type = ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.ue_type; + uci->empty_symbols = ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.empty_symbols; + uci->total_repetitions = ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions; +#endif handle_uci_harq_information(eNB,uci,&ul_config_pdu->uci_harq_pdu.harq_information); uci->active=1; @@ -511,7 +532,7 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_ULSCH_PDU_TYPE) { AssertFatal((UE_id = find_ulsch(ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti,eNB,SEARCH_EXIST_OR_FREE))>=0, "No existing UE ULSCH for rnti %x\n",rel8->rnti); - LOG_D(PHY,"Applying UL config for UE %d, rnti %x for frame %d, subframe %d\n", + LOG_I(PHY,"Applying UL config for UE %d, rnti %x for frame %d, subframe %d\n", UE_id,rel8->rnti,frame,subframe); fill_ulsch(eNB,&ul_config_pdu->ulsch_pdu,frame,subframe); @@ -547,6 +568,9 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, AssertFatal((UE_id = find_uci(ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti, proc->frame_tx,proc->subframe_tx,eNB,SEARCH_EXIST_OR_FREE))>=0, "No available UE UCI for rnti %x\n",ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti); + LOG_I(PHY,"Applying UL UCI_HARQ config for UE %d, rnti %x for frame %d, subframe %d\n", + UE_id,ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti,frame,subframe); + handle_uci_harq_pdu(eNB,UE_id,ul_config_pdu,frame,subframe,srs_present); } else if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_UCI_CQI_PDU_TYPE) { @@ -720,6 +744,11 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) eNB->pdcch_vars[subframe&1].num_dci++; break; + case NFAPI_HI_DCI0_MPDCCH_DCI_PDU_TYPE: + handle_nfapi_hi_dci0_mpdcch_dci_pdu(eNB,proc,hi_dci0_req_pdu); + eNB->mpdcch_vars[subframe&1].num_dci++; + break; + case NFAPI_HI_DCI0_HI_PDU_TYPE: handle_nfapi_hi_dci0_hi_pdu(eNB,proc,hi_dci0_req_pdu); diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 9339ebc49a..99f23200c8 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -688,8 +688,12 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) metric_SR = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1_0_sr[0], 0, // n2_pucch uci->srs_active, // shortened format - &SR_payload, frame, subframe, PUCCH1_THRES); - LOG_D (PHY, "[eNB %d][SR %x] Frame %d subframe %d Checking SR is %d (SR n1pucch is %d)\n", eNB->Mod_id, uci->rnti, frame, subframe, SR_payload, uci->n_pucch_1_0_sr[0]); + &SR_payload, frame, subframe, PUCCH1_THRES +#ifdef Rel14 + ,uci->ue_type +#endif + ); + LOG_I (PHY, "[eNB %d][SR %x] Frame %d subframe %d Checking SR is %d (SR n1pucch is %d)\n", eNB->Mod_id, uci->rnti, frame, subframe, SR_payload, uci->n_pucch_1_0_sr[0]); if (uci->type == SR) { if (SR_payload == 1) { fill_sr_indication (eNB, uci->rnti, frame, subframe, metric_SR); @@ -705,8 +709,12 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) metric[0] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1[0][0], 0, //n2_pucch uci->srs_active, // shortened format - pucch_b0b1[0], frame, subframe, PUCCH1a_THRES); - + pucch_b0b1[0], frame, subframe, PUCCH1a_THRES +#ifdef Rel14 + ,uci->ue_type +#endif + ); + /* cancel SR detection if reception on n1_pucch0 is better than on SR PUCCH resource index, otherwise send it up to MAC */ if (uci->type == HARQ_SR && metric[0] > metric_SR) @@ -717,10 +725,14 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) if (uci->type == HARQ_SR && metric[0] <= metric_SR) { /* when transmitting ACK/NACK on SR PUCCH resource index, SR payload is always 1 */ SR_payload = 1; - - metric[0] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1_0_sr[0], 0, //n2_pucch - uci->srs_active, // shortened format - pucch_b0b1[0], frame, subframe, PUCCH1a_THRES); + + metric[0] = rx_pucch(eNB, uci->pucch_fmt, i, uci->n_pucch_1_0_sr[0], 0, //n2_pucch + uci->srs_active, // shortened format + pucch_b0b1[0], frame, subframe, PUCCH1a_THRES +#ifdef Rel14 + ,uci->ue_type +#endif + ); } @@ -741,7 +753,11 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) metric[0] = rx_pucch (eNB, pucch_format1b, i, uci->n_pucch_1_0_sr[0], 0, //n2_pucch uci->srs_active, // shortened format - pucch_b0b1[0], frame, subframe, PUCCH1a_THRES); + pucch_b0b1[0], frame, subframe, PUCCH1a_THRES +#ifdef Rel14 + ,uci->ue_type +#endif + ); } else { //using assigned pucch resources #ifdef DEBUG_PHY_PROC LOG_D (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d Checking ACK/NAK M=%d (%d,%d,%d,%d) format %d\n", eNB->Mod_id, @@ -751,7 +767,11 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) for (res = 0; res < uci->num_pucch_resources; res++) metric[res] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1[res][0], 0, // n2_pucch uci->srs_active, // shortened format - pucch_b0b1[res], frame, subframe, PUCCH1a_THRES); + pucch_b0b1[res], frame, subframe, PUCCH1a_THRES +#ifdef Rel14 + ,uci->ue_type +#endif + ); diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 267392d684..9eeb545325 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -916,6 +916,8 @@ typedef struct { int msg4_mcs; /// size off piggybacked RRC SDU uint8_t msg4_rrc_sdu_length; + uint32_t msg4_delay; + #ifdef Rel14 uint8_t rach_resource_type; uint8_t msg2_mpdcch_repetition_cnt; diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index 6bcbc13106..8286e2dfd8 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -246,7 +246,7 @@ void schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) AssertFatal(UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated != NULL, "physicalConfigDedicated is null for UE %d\n",UE_id); // drop the allocation if the UE hasn't send RRCConnectionSetupComplete yet - if (mac_eNB_get_rrc_status(module_idP,UE_RNTI(module_idP,UE_id)) < RRC_CONNECTED) continue; + // if (mac_eNB_get_rrc_status(module_idP,UE_RNTI(module_idP,UE_id)) < RRC_CONNECTED) continue; if ((SRconfig = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->schedulingRequestConfig)!=NULL) { if (SRconfig->present == SchedulingRequestConfig_PR_setup) { @@ -294,7 +294,7 @@ void schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) // drop the allocation because ULSCH with handle it with BSR if (skip_ue==1) continue; - LOG_D(MAC,"Frame %d, Subframe %d : Scheduling SR for UE %d/%x\n",frameP,subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].rnti); + LOG_I(MAC,"Frame %d, Subframe %d : Scheduling SR for UE %d/%x\n",frameP,subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].rnti); // check Rel10 or Rel8 SR #if defined(Rel10) || defined(Rel14) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 468fd27bc0..ab339758b6 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -165,7 +165,7 @@ add_msg3 (module_id_t module_idP, int CC_id, RA_TEMPLATE * RA_template, frame_t for (j = 0; j < RA_template->msg3_nb_rb; j++) cc->vrb_map_UL[RA_template->msg3_first_rb + j] = 1; - LOG_D (MAC, "[eNB %d][PUSCH-RA %x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) RA (mcs %d, first rb %d, nb_rb %d,round %d)\n", + LOG_I (MAC, "[eNB %d][PUSCH-RA %x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) RA (mcs %d, first rb %d, nb_rb %d,round %d)\n", module_idP, RA_template->rnti, CC_id, frameP, subframeP, 10, 1, 1, RA_template->msg3_round - 1); } // if (RA_template->msg3_round != 0) { // program HI too } // non-BL/CE UE case @@ -560,6 +560,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_req = &eNB->DL_req[CC_idP].dl_config_request_body; dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + N_RB_DL = to_prb (cc[CC_idP].mib->message.dl_Bandwidth); UE_id = find_UE_id (module_idP, RA_template->rnti); @@ -573,7 +574,10 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; - + if (RA_template->msg4_delay < 8) { + RA_template->msg4_delay++; + return; + } #ifdef Rel14 if (RA_template->rach_resource_type > 0) { @@ -606,7 +610,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s AssertFatal (RA_template->msg4_rrc_sdu_length > 0, "[MAC][eNB Scheduler] CCCH not allocated\n"); - LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, RA_template->msg4_rrc_sdu_length); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d, dl_req->num_pdu %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, RA_template->msg4_rrc_sdu_length,dl_req->number_pdu); // MPDCCH configuration for Msg4 RA_template->msg4_mpdcch_done=0; @@ -614,33 +618,33 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (RA_template->rach_resource_type > 1) ? 11 : 10; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg34_narrowband; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = RA_template->msg2_narrowband; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; - AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space + AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 0; // t-C-RNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 0; // t-CRNTI dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = RA_template->rnti; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (RA_template->rach_resource_type < 3) ? 1 : 2; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; /// Check this is still N_id_cell for type2 common + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); // check if not getRIV(N_RB_DL,first_rb,6); - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of Msg4 - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 0 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = 0; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = RA_template->harq_pid; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = rep; - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 3; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 3; // N1A_PRB=3 (36.212) => 56 bits dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; @@ -655,6 +659,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + RA_template->msg4_mpdcch_repetition_cnt++; dl_req->number_pdu++; RA_template->msg4_TBsize = get_TBS_DL(dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs, @@ -662,7 +667,9 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s } //repetition_count==0 && SF condition met if ((RA_template->msg4_mpdcch_repetition_cnt > 0)&& - (RA_template->msg4_mpdcch_done==0)) { // we're in a stream of repetitions + (RA_template->msg4_mpdcch_done==0)) { // we're in a stream of repetitions + LOG_I(MAC,"SFN.SF %d.%d : msg4 mpdcch repetition number %d/%d\n", + frameP,subframeP,RA_template->msg4_mpdcch_repetition_cnt,reps); if (RA_template->msg4_mpdcch_repetition_cnt == reps) { // this is the last mpdcch repetition RA_template->msg4_mpdcch_done = 1; if (cc[CC_idP].tdd_Config == NULL) { // FDD case @@ -768,9 +775,9 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; // Program ACK/NAK for Msg4 PDSCH - int absSF = (RA_template->Msg3_frame * 10) + RA_template->Msg3_subframe; + int absSF = (frameP * 10) + subframeP; // see Section 10.2 from 36.213 - int ackNAK_absSF = absSF + reps + 4; + int ackNAK_absSF = absSF + reps + 3; AssertFatal (reps == 1, "Have to handle programming of ACK when PDSCH repetitions is > 1\n"); ul_req = &eNB->UL_req_tmp[CC_idP][ackNAK_absSF % 10].ul_config_request_body; ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; @@ -1015,7 +1022,7 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; N_RB_DL = to_prb (cc[CC_idP].mib->message.dl_Bandwidth); - LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d)\n", module_idP, CC_idP, frameP, subframeP, RA_template->harq_pid, round); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d)\n", module_idP, CC_idP, frameP, subframeP, RA_template->harq_pid, round); if (round != 8) { @@ -1096,7 +1103,7 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s } // Msg4 frame/subframe } // regular LTE case } else { - LOG_D (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d : Msg4 acknowledged\n", module_idP, CC_idP, frameP, subframeP); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d : Msg4 acknowledged\n", module_idP, CC_idP, frameP, subframeP); RA_template->wait_ack_Msg4 = 0; RA_template->RA_active = FALSE; UE_id = find_UE_id (module_idP, RA_template->rnti); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 7f32165008..0c7b457c6f 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -400,7 +400,8 @@ schedule_SI_BR( vrb_map[first_rb+4] = 1; vrb_map[first_rb+5] = 1; - if ((frameP&1023) < 200) LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", + //if ((frameP&1023) < 200) + LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", module_idP,frameP,subframeP,CC_id,(int)si_Narrowband_r13-1,rvidx, sf_mod_period,(int)si_WindowLength_BR_r13,(int)si_RepetitionPattern_r13, bcch_sdu_length); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 1966d5254e..e44fb518d6 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -3602,7 +3602,7 @@ void SR_indication(module_id_t mod_idP, int cc_idP, frame_t frameP, sub_frame_t if (UE_id != -1) { if (mac_eNB_get_rrc_status(mod_idP,UE_RNTI(mod_idP,UE_id)) < RRC_CONNECTED) - LOG_D(MAC,"[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d\n",mod_idP,rntiP,frameP,subframeP, UE_id,cc_idP); + LOG_I(MAC,"[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d\n",mod_idP,rntiP,frameP,subframeP, UE_id,cc_idP); #if 0 UE_sched_ctrl *sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 957cdf82ac..e589057520 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -793,13 +793,24 @@ void schedule_ulsch(module_id_t module_idP, break; } } + +#ifdef Rel14 + int emtc_active[5]; + memset(emtc_active,0,5*sizeof(int)); + schedule_ulsch_rnti_emtc(module_idP, frameP, subframeP, sched_subframe, emtc_active); +#endif + for (CC_id=0; CC_idschedule_ulsch); } @@ -881,6 +892,8 @@ void schedule_ulsch_rnti(module_id_t module_idP, // loop over all active UEs for (UE_id=UE_list->head_ul; UE_id>=0; UE_id=UE_list->next_ul[UE_id]) { + if (UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id].rach_resource_type > 0) continue; + // don't schedule if Msg4 is not received yet if (UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id].configured==FALSE) { LOG_D(MAC,"[eNB %d] frame %d subfarme %d, UE %d: not configured, skipping UE scheduling \n", @@ -1132,15 +1145,7 @@ abort(); get_TBS_UL(UE_template->mcs_UL[harq_pid], rb_table[rb_table_index]) ); -#ifdef Rel14 - if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation - fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], - UE_template->rach_resource_type>2 ? 2 : 1, - 1, //total_number_of_repetitions - 1, //repetition_number - (frameP*10)+subframeP); - } -#endif + ul_req_tmp->number_of_pdus++; eNB->ul_handle++; @@ -1198,15 +1203,6 @@ abort(); 0, // n_srs UE_template->TBS_UL[harq_pid] ); -#ifdef Rel14 - if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation - fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], - UE_template->rach_resource_type>2 ? 2 : 1, - 1, //total_number_of_repetitions - 1, //repetition_number - (frameP*10)+subframeP); - } -#endif ul_req_tmp->number_of_pdus++; eNB->ul_handle++; @@ -1244,3 +1240,323 @@ abort(); } // loop over UE_id } // loop of CC_id } + +#ifdef Rel14 +void schedule_ulsch_rnti_emtc(module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP, + unsigned char sched_subframeP, + uint16_t *emtc_active) +{ + int UE_id; + rnti_t rnti = -1; + uint8_t round = 0; + uint8_t harq_pid = 0; + uint8_t status = 0; + uint32_t cqi_req,cshift,ndi,tpc; + int32_t normalized_rx_power; + int32_t target_rx_power=-90; + static int32_t tpc_accumulated=0; + int n; + int CC_id = 0; + int N_RB_UL; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + UE_list_t *UE_list=&eNB->UE_list; + UE_TEMPLATE *UE_template; + UE_sched_ctrl *UE_sched_ctrl; + int sched_frame=frameP; + int rvidx_tab[4] = {0,2,3,1}; + + if (sched_subframePHI_DCI0_req[CC_id].hi_dci0_request_body; + nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu; + + nfapi_ul_config_request_body_t *ul_req_tmp = &eNB->UL_req_tmp[CC_id][sched_subframeP].ul_config_request_body; + + // loop over all active UEs + for (UE_id=UE_list->head_ul; UE_id>=0; UE_id=UE_list->next_ul[UE_id]) { + + if (UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id].rach_resource_type == 0) continue; + + // don't schedule if Msg4 is not received yet + if (UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id].configured==FALSE) { + LOG_D(MAC,"[eNB %d] frame %d subfarme %d, UE %d: not configured, skipping UE scheduling \n", + module_idP,frameP,subframeP,UE_id); + continue; + } + + rnti = UE_RNTI(module_idP,UE_id); + + if (rnti==NOT_A_RNTI) { + LOG_W(MAC,"[eNB %d] frame %d subfarme %d, UE %d: no RNTI \n", module_idP,frameP,subframeP,UE_id); + continue; + } + + // loop over all active UL CC_ids for this UE + for (n=0; nnumactiveULCCs[UE_id]; n++) { + // This is the actual CC_id in the list + CC_id = UE_list->ordered_ULCCids[n][UE_id]; + N_RB_UL = to_prb(cc[CC_id].ul_Bandwidth); + + + UE_template = &UE_list->UE_template[CC_id][UE_id]; + UE_sched_ctrl = &UE_list->UE_sched_ctrl[UE_id]; + harq_pid = 0; + round = UE_sched_ctrl->round_UL[CC_id][harq_pid]; + AssertFatal(round<8,"round %d > 7 for UE %d/%x\n",round,UE_id,rnti); + LOG_D(MAC,"[eNB %d] frame %d subframe %d,Checking PUSCH %d for BL/CE UE %d/%x CC %d : aggregation level %d, N_RB_UL %d\n", + module_idP,frameP,subframeP,harq_pid,UE_id,rnti,CC_id, 24,N_RB_UL); + + RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP] = UE_template->ul_total_buffer; + VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_UE0_BO,RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP]); + if (UE_is_to_be_scheduled(module_idP,CC_id,UE_id) > 0 || round > 0)// || ((frameP%10)==0)) + // if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames + { + LOG_I(MAC,"[eNB %d][PUSCH %d] Frame %d subframe %d Scheduling UE %d/%x in round %d(SR %d,UL_inactivity timer %d,UL_failure timer %d,cqi_req_timer %d)\n", + module_idP,harq_pid,frameP,subframeP,UE_id,rnti,round,UE_template->ul_SR, + UE_sched_ctrl->ul_inactivity_timer, + + UE_sched_ctrl->ul_failure_timer, + + UE_sched_ctrl->cqi_req_timer); + // reset the scheduling request + emtc_active[CC_id]=1; + UE_template->ul_SR = 0; + status = mac_eNB_get_rrc_status(module_idP,rnti); + if (status < RRC_CONNECTED) + cqi_req = 0; + else if (UE_sched_ctrl->cqi_req_timer>30) { + cqi_req = 1; + UE_sched_ctrl->cqi_req_timer=0; + } + else + cqi_req = 0; + + //power control + //compute the expected ULSCH RX power (for the stats) + + // this is the normalized RX power and this should be constant (regardless of mcs + normalized_rx_power = UE_sched_ctrl->pusch_snr[CC_id]; + target_rx_power = 178; + + // this assumes accumulated tpc + // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out + int32_t framex10psubframe = UE_template->pusch_tpc_tx_frame*10+UE_template->pusch_tpc_tx_subframe; + if (((framex10psubframe+10)<=(frameP*10+subframeP)) || //normal case + ((framex10psubframe>(frameP*10+subframeP)) && (((10240-framex10psubframe+frameP*10+subframeP)>=10)))) //frame wrap-around + { + UE_template->pusch_tpc_tx_frame=frameP; + UE_template->pusch_tpc_tx_subframe=subframeP; + if (normalized_rx_power>(target_rx_power+4)) { + tpc = 0; //-1 + tpc_accumulated--; + } else if (normalized_rx_power<(target_rx_power-4)) { + tpc = 2; //+1 + tpc_accumulated++; + } else { + tpc = 1; //0 + } + } else { + tpc = 1; //0 + } + //tpc = 1; + if (tpc!=1) { + LOG_D(MAC,"[eNB %d] ULSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", + module_idP,frameP,subframeP,harq_pid,tpc, + tpc_accumulated,normalized_rx_power,target_rx_power); + } + + // new transmission + if (round==0) { + + ndi = 1-UE_template->oldNDI_UL[harq_pid]; + UE_template->oldNDI_UL[harq_pid]=ndi; + UE_list->eNB_UE_stats[CC_id][UE_id].normalized_rx_power=normalized_rx_power; + UE_list->eNB_UE_stats[CC_id][UE_id].target_rx_power=target_rx_power; + UE_list->eNB_UE_stats[CC_id][UE_id].ulsch_mcs1=4; + UE_template->mcs_UL[harq_pid] = 4; + + + UE_list->eNB_UE_stats[CC_id][UE_id].ulsch_mcs2=UE_template->mcs_UL[harq_pid]; + // buffer_occupancy = UE_template->ul_total_buffer; + + + + UE_template->TBS_UL[harq_pid] = get_TBS_UL(UE_template->mcs_UL[harq_pid],6); + UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_rx+=6; + UE_list->eNB_UE_stats[CC_id][UE_id].ulsch_TBS=UE_template->TBS_UL[harq_pid]; + // buffer_occupancy -= TBS; + + T(T_ENB_MAC_UE_UL_SCHEDULE, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), + T_INT(subframeP), T_INT(harq_pid), T_INT(UE_template->mcs_UL[harq_pid]), T_INT(0), T_INT(6), + T_INT(UE_template->TBS_UL[harq_pid]), T_INT(ndi)); + + if (mac_eNB_get_rrc_status(module_idP,rnti) < RRC_CONNECTED) + LOG_D(MAC,"[eNB %d][PUSCH %d/%x] CC_id %d Frame %d subframeP %d Scheduled UE %d (mcs %d, first rb %d, nb_rb %d, TBS %d, harq_pid %d)\n", + module_idP,harq_pid,rnti,CC_id,frameP,subframeP,UE_id,UE_template->mcs_UL[harq_pid], + 0,6, + UE_template->TBS_UL[harq_pid],harq_pid); + + // bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB) + //store for possible retransmission + UE_template->nb_rb_ul[harq_pid] = 6; + UE_template->first_rb_ul[harq_pid] = 0; + + UE_sched_ctrl->ul_scheduled |= (1<head) + VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_UE0_SCHEDULED,UE_sched_ctrl->ul_scheduled); + + // adjust total UL buffer status by TBS, wait for UL sdus to do final update + LOG_D(MAC,"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d\n", module_idP,CC_id,UE_id,rnti,UE_template->ul_total_buffer,UE_template->TBS_UL[harq_pid]); + if (UE_template->ul_total_buffer > UE_template->TBS_UL[harq_pid]) + UE_template->ul_total_buffer -= UE_template->TBS_UL[harq_pid]; + else + UE_template->ul_total_buffer = 0; + LOG_D(MAC,"ul_total_buffer, new %d\n", UE_template->ul_total_buffer); + // Cyclic shift for DM RS + cshift = 0;// values from 0 to 7 can be used for mapping the cyclic shift (36.211 , Table 5.5.2.1.1-1) + // save it for a potential retransmission + UE_template->cshift[harq_pid] = cshift; + + LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL 6-0A MPDCCH for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d\n", + harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP); + AssertFatal (UE_template->physicalConfigDedicated != NULL, + "UE_template->physicalConfigDedicated is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4 != NULL, + "UE_template->physicalConfigDedicated->ext4 is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11 != NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11 is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present == EPDCCH_Config_r11__config_r11_PR_setup, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present != setup\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 != NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = NULL\n"); + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0]; + AssertFatal(epdcch_setconfig_r11 != NULL, "epdcch_setconfig_r11 is null\n"); + AssertFatal(epdcch_setconfig_r11->ext2!=NULL, "epdcch_setconfig_r11->ext2 is null\n"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13!=NULL, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13!=NULL, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->present==EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13->present is not setup\n"); + AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310!=NULL, + "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present==EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310_PR_setup, + "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present is not setup\n"); + + hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci+eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_hi]; + memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); + + hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_MPDCCH_DCI_PDU_TYPE; + hi_dci0_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dci_format = (UE_template->rach_resource_type > 1) ? 5 : 4; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ce_mode = (UE_template->rach_resource_type > 1) ? 2 : 1; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mpdcch_narrowband = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13; + + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_prb_pairs = 6; // checked above that it has to be this + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mpdcch_transmission_type = epdcch_setconfig_r11->transmissionType_r11; // distibuted + + AssertFatal(UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11!=NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 is null\n"); + + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.start_symbol = *UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.aggreagation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.rnti_type = 4; // other + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.rnti = rnti; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ce_mode = (UE_template->rach_resource_type < 3) ? 1 : 2; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.drms_scrambling_init = epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.transmission_power = 6000; // 0dB + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_start = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_resource_blocks = 6; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.pusch_repetition_levels = 0; + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13==0, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13->mpdcch_pdsch_HoppingConfig_r13 is not 0\n"); + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.frequency_hopping_flag = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.redudency_version = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.new_data_indication = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.harq_process = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tpc = tpc; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.csi_request = cqi_req; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ul_inex = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dai_presence_flag = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dl_assignment_index = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.srs_request = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dci_subframe_repetition_number = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tcp_bitmap = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.total_dci_length_include_padding = 29; // hard-coded for 10 MHz + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_tx_antenna_ports = 1; + + eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci++; + + + LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL CONFIG.Request for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d\n", + harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP); + + + fill_nfapi_ulsch_config_request_rel8(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], + cqi_req, + cc, + UE_template->physicalConfigDedicated, + get_tmode(module_idP,CC_id,UE_id), + eNB->ul_handle, + rnti, + UE_template->first_rb_ul[harq_pid], // resource_block_start + UE_template->nb_rb_ul[harq_pid], // number_of_resource_blocks + UE_template->mcs_UL[harq_pid], + cshift, // cyclic_shift_2_for_drms + 0, // frequency_hopping_enabled_flag + 0, // frequency_hopping_bits + UE_template->oldNDI_UL[harq_pid], // new_data_indication + rvidx_tab[round&3], // redundancy_version + harq_pid, // harq_process_number + 0, // ul_tx_mode + 0, // current_tx_nb + 0, // n_srs + UE_template->TBS_UL[harq_pid] + ); + fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], + UE_template->rach_resource_type>2 ? 2 : 1, + 1, //total_number_of_repetitions + 1, //repetition_number + (frameP*10)+subframeP); + + + ul_req_tmp->number_of_pdus++; + eNB->ul_handle++; + + add_ue_ulsch_info(module_idP, + CC_id, + UE_id, + subframeP, + S_UL_SCHEDULED); + + LOG_D(MAC,"[eNB %d] CC_id %d Frame %d, subframeP %d: Generated ULSCH DCI for next UE_id %d, format 0\n", module_idP,CC_id,frameP,subframeP,UE_id); + + } + else { // round > 0 => retransmission + T(T_ENB_MAC_UE_UL_SCHEDULE_RETRANSMISSION, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), + T_INT(subframeP), T_INT(harq_pid), T_INT(UE_template->mcs_UL[harq_pid]), T_INT(0), T_INT(6), + T_INT(round)); + + + fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], + UE_template->rach_resource_type>2 ? 2 : 1, + 1, //total_number_of_repetitions + 1, //repetition_number + (frameP*10)+subframeP); + + ul_req_tmp->number_of_pdus++; + eNB->ul_handle++; + + } + } // UE_is_to_be_scheduled + } // ULCCs + } // loop over UE_id +} +#endif diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c index 612f64fe61..1fb09d63d0 100755 --- a/openair2/LAYER2/MAC/pre_processor.c +++ b/openair2/LAYER2/MAC/pre_processor.c @@ -1131,6 +1131,8 @@ void ulsch_scheduler_pre_processor(module_id_t module_idP, for (i=UE_list->head_ul; i>=0; i=UE_list->next_ul[i]) { + if (UE_list->UE_template[CC_id][UE_id].rach_resource_type > 0) continue; + rnti = UE_RNTI(module_idP,i); if (rnti==NOT_A_RNTI) diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 18dd7f15ce..05d87f7b43 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2560,7 +2560,9 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; epdcch_setconfig_r11->ext2 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2)); - epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = NULL; + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 = calloc(1,sizeof(struct EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310)); + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present = EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310_PR_setup; + epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->choice.setup = EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310__setup_n6; epdcch_setconfig_r11->ext2->mpdcch_config_r13 = calloc(1, sizeof(struct EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13)); epdcch_setconfig_r11->ext2->mpdcch_config_r13->present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__csi_NumRepetitionCE_r13_sf1; @@ -2571,6 +2573,7 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 2; ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + // FIXME allocate physicalConfigDedicated2->ext7 physicalConfigDedicated2->ext7 = CALLOC(1, sizeof(struct PhysicalConfigDedicated__ext7)); diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c index 0e836f5677..9ae9606127 100755 --- a/openair2/RRC/LITE/rrc_common.c +++ b/openair2/RRC/LITE/rrc_common.c @@ -329,8 +329,11 @@ rrc_rx_tx( check_handovers(ctxt_pP); // counetr, and get the value and aggregate + // check for UL failure RB_FOREACH(ue_context_p, rrc_ue_tree_s, &(RC.rrc[ctxt_pP->module_id]->rrc_ue_head)) { + LOG_I(RRC,"SFN.SN %d.%d => release timer %d/%d\n",ctxt_pP->frame,ctxt_pP->subframe, + ue_context_p->ue_context.ue_release_timer,ue_context_p->ue_context.ue_release_timer_thres); if ((ctxt_pP->frame == 0) && (ctxt_pP->subframe==0)) { if (ue_context_p->ue_context.Initialue_identity_s_TMSI.presence == TRUE) { LOG_I(RRC,"UE rnti %x:S-TMSI %x failure timer %d/20000\n", @@ -348,7 +351,7 @@ rrc_rx_tx( ue_context_p->ue_context.ul_failure_timer++; if (ue_context_p->ue_context.ul_failure_timer >= 20000) { // remove UE after 20 seconds after MAC has indicated UL failure - LOG_I(RRC,"Removing UE %x instance\n",ue_context_p->ue_context.rnti); + LOG_I(RRC,"Removing UE %x instance (failure)\n",ue_context_p->ue_context.rnti); ue_to_be_removed = ue_context_p; break; } @@ -357,8 +360,9 @@ rrc_rx_tx( ue_context_p->ue_context.ue_release_timer++; if (ue_context_p->ue_context.ue_release_timer >= ue_context_p->ue_context.ue_release_timer_thres) { - LOG_I(RRC,"Removing UE %x instance\n",ue_context_p->ue_context.rnti); + LOG_I(RRC,"Removing UE %x instance (release timer %d)\n",ue_context_p->ue_context.rnti,ue_context_p->ue_context.ue_release_timer); ue_to_be_removed = ue_context_p; + exit(-1); break; } } diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 559f58ab4b..22aff3299d 100755 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -873,6 +873,7 @@ rrc_eNB_free_UE(const module_id_t enb_mod_idP,const struct rrc_eNB_ue_context_s* #endif #endif + LOG_I(RRC,"Removing ue %x (rrc_eNB_free_UE)\n",rnti); rrc_mac_remove_ue(enb_mod_idP,rnti); rrc_rlc_remove_ue(&ctxt); pdcp_remove_UE(&ctxt); From f32355c7ddfd76ab26ab25e9950f8b9527496592 Mon Sep 17 00:00:00 2001 From: sharma Date: Sun, 3 Dec 2017 03:49:29 +0100 Subject: [PATCH 087/109] added handling of narrowbands for ULSCH scheduling --- .../lte_ul_channel_estimation.c | 38 +++++----- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 74 +++++++++++++++++-- openair1/PHY/LTE_TRANSPORT/defs.h | 2 + openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c | 11 ++- .../PHY/LTE_TRANSPORT/ulsch_demodulation.c | 15 ++-- openair1/SCHED/phy_procedures_lte_eNb.c | 14 +++- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 6 +- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 45 +++++++++-- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 5 +- 9 files changed, 160 insertions(+), 50 deletions(-) diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c index b495385612..c86514bc47 100755 --- a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c +++ b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c @@ -46,12 +46,12 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *eNB, int32_t **ul_ch_estimates_time= pusch_vars->drs_ch_estimates_time; int32_t **rxdataF_ext= pusch_vars->rxdataF_ext; int subframe = proc->subframe_rx; - uint8_t harq_pid = subframe2harq_pid(frame_parms,proc->frame_rx,subframe); + uint8_t harq_pid; int16_t delta_phase = 0; int16_t *ru1 = ru_90; int16_t *ru2 = ru_90; int16_t current_phase1,current_phase2; - uint16_t N_rb_alloc = eNB->ulsch[UE_id]->harq_processes[harq_pid]->nb_rb; + uint16_t aa,Msc_RS,Msc_RS_idx; uint16_t * Msc_idx_ptr; int k,pilot_pos1 = 3 - frame_parms->Ncp, pilot_pos2 = 10 - 2*frame_parms->Ncp; @@ -65,7 +65,7 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *eNB, uint32_t alpha_ind; uint32_t u=frame_parms->pusch_config_common.ul_ReferenceSignalsPUSCH.grouphop[Ns+(subframe<<1)]; uint32_t v=frame_parms->pusch_config_common.ul_ReferenceSignalsPUSCH.seqhop[Ns+(subframe<<1)]; - int32_t tmp_estimates[N_rb_alloc*12] __attribute__((aligned(16))); + int symbol_offset,i; @@ -83,7 +83,19 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *eNB, int32x4_t mmtmp0,mmtmp1,mmtmp_re,mmtmp_im; #endif -int32_t temp_in_ifft_0[2048*2] __attribute__((aligned(32))); + int32_t temp_in_ifft_0[2048*2] __attribute__((aligned(32))); + + +#ifdef Rel14 + if (eNB->ulsch[UE_id]->ue_type > 0) harq_pid = 0; + else +#endif + { + harq_pid = subframe2harq_pid(frame_parms,proc->frame_rx,subframe); + } + + uint16_t N_rb_alloc = eNB->ulsch[UE_id]->harq_processes[harq_pid]->nb_rb; + int32_t tmp_estimates[N_rb_alloc*12] __attribute__((aligned(16))); Msc_RS = N_rb_alloc*12; @@ -91,24 +103,12 @@ int32_t temp_in_ifft_0[2048*2] __attribute__((aligned(32))); eNB->ulsch[UE_id]->harq_processes[harq_pid]->n_DMRS2 + frame_parms->pusch_config_common.ul_ReferenceSignalsPUSCH.nPRS[(subframe<<1)+Ns]) % 12; -#if defined(USER_MODE) + Msc_idx_ptr = (uint16_t*) bsearch(&Msc_RS, dftsizes, 33, sizeof(uint16_t), compareints); - if (Msc_idx_ptr) - Msc_RS_idx = Msc_idx_ptr - dftsizes; - else { - LOG_E(PHY,"lte_ul_channel_estimation: index for Msc_RS=%d not found\n",Msc_RS); - return(-1); - } + AssertFatal(Msc_idx_ptr!=NULL,"lte_ul_channel_estimation: index for Msc_RS=%d not found\n",Msc_RS); -#else - uint8_t b; - - for (b=0; b<33; b++) - if (Msc_RS==dftsizes[b]) - Msc_RS_idx = b; - -#endif + Msc_RS_idx = Msc_idx_ptr - dftsizes; // LOG_I(PHY,"subframe %d, Ns %d, l %d, Msc_RS = %d, Msc_RS_idx = %d, u %d, v %d, cyclic_shift %d\n",subframe,Ns,l,Msc_RS, Msc_RS_idx,u,v,cyclic_shift); #ifdef DEBUG_CH diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 6059ac8aa7..9825f8a0f0 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -164,11 +164,12 @@ int8_t delta_PUSCH_acc[4] = { -1, 0, 1, 3 }; int8_t *delta_PUCCH_lut = delta_PUSCH_acc; void -conv_eMTC_rballoc (uint8_t narrowband,uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) +conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) { - int RIV = resource_block_coding; + int RIV = resource_block_coding&31; + int narrowband = resource_block_coding>>5; int N_NB_DL = N_RB_DL / 6; int i0 = (N_RB_DL >> 1) - (3 * N_NB_DL); int first_rb = (6 * narrowband) + i0; @@ -2213,8 +2214,8 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci_alloc->dci_length = sizeof_DCI6_1A_10MHz_t; ((DCI6_1A_10MHz_t *) dci_pdu)->type = 1; ((DCI6_1A_10MHz_t *) dci_pdu)->hopping = rel13->frequency_hopping_enabled_flag; - ((DCI6_1A_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding; - ((DCI6_1A_10MHz_t *) dci_pdu)->narrowband = rel13->mpdcch_narrow_band; + ((DCI6_1A_10MHz_t *) dci_pdu)->rballoc = rel13->resource_block_coding&31; + ((DCI6_1A_10MHz_t *) dci_pdu)->narrowband = rel13->resource_block_coding>>5; ((DCI6_1A_10MHz_t *) dci_pdu)->mcs = rel13->mcs; ((DCI6_1A_10MHz_t *) dci_pdu)->rep = (rel13->pdsch_reptition_levels); ((DCI6_1A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; @@ -2356,7 +2357,7 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0->subframe_tx[(subframe + 2) % 10] = 1; LOG_I(PHY,"PDSCH : resource_block_coding %x\n",rel13->resource_block_coding); - conv_eMTC_rballoc (rel13->mpdcch_narrow_band,rel13->resource_block_coding, + conv_eMTC_rballoc (rel13->resource_block_coding, fp->N_RB_DL, dlsch0_harq->rb_alloc); @@ -2584,6 +2585,53 @@ fill_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, DCI_ALLOC_t * dci_alloc, } #ifdef Rel14 +int get_narrowband_index(int N_RB_UL,int rb) { + + switch (N_RB_UL) { + case 6: // 6 PRBs, N_NB=1, i_0=0 + case 25: // 25 PRBs, N_NB=4, i_0=0 + return(rb/6); + break; + case 50: // 50 PRBs, N_NB=8, i_0=1 + case 75: // 75 PRBs, N_NB=12, i_0=1 + case 15: // 15 PRBs, N_NB=2, i_0=1 + AssertFatal(rb>=1,"rb %d is not possible for %d PRBs\n",rb,N_RB_UL); + return((rb-1)/6); + break; + case 100: // 100 PRBs, N_NB=16, i_0=2 + AssertFatal(rb>=2,"rb %d is not possible for %d PRBs\n",rb,N_RB_UL); + return(rb-2/6); + break; + default: + AssertFatal(1==0,"Impossible N_RB_UL %d\n",N_RB_UL); + break; + } + +} + +int get_first_rb_in_narrowband(int N_RB_UL,int rb) { + + switch (N_RB_UL) { + case 6: // 6 PRBs, N_NB=1, i_0=0 + case 25: // 25 PRBs, N_NB=4, i_0=0 + return(rb - 6*(rb/6)); + break; + case 50: // 50 PRBs, N_NB=8, i_0=1 + case 75: // 75 PRBs, N_NB=12, i_0=1 + case 15: // 15 PRBs, N_NB=2, i_0=1 + AssertFatal(rb>=1,"rb %d is not possible for %d PRBs\n",rb,N_RB_UL); + return(rb-1-(6*((rb-1)/6))); + break; + case 100: // 100 PRBs, N_NB=16, i_0=2 + AssertFatal(rb>=2,"rb %d is not possible for %d PRBs\n",rb,N_RB_UL); + return(rb-2-(6*((rb-2)/6))); + break; + default: + AssertFatal(1==0,"Impossible N_RB_UL %d\n",N_RB_UL); + break; + } +} + void fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci_alloc, nfapi_hi_dci0_mpdcch_dci_pdu * pdu) { @@ -2595,8 +2643,9 @@ fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci uint32_t TPC = rel13->tpc; uint32_t mcs = rel13->mcs; uint32_t hopping = rel13->frequency_hopping_flag; + uint32_t narrowband = get_narrowband_index(frame_parms->N_RB_UL,rel13->resource_block_start); uint32_t rballoc = computeRIV (6, - rel13->resource_block_start, + get_first_rb_in_narrowband(frame_parms->N_RB_UL,rel13->resource_block_start), rel13->number_of_resource_blocks); uint32_t ndi = rel13->new_data_indication; @@ -2748,6 +2797,17 @@ fill_ulsch (PHY_VARS_eNB * eNB, nfapi_ul_config_ulsch_pdu * ulsch_pdu, int frame harq_pid = ulsch_pdu->ulsch_pdu_rel8.harq_process_number; + +#ifdef Rel14 + ulsch->ue_type = ulsch_pdu->ulsch_pdu_rel13.ue_type; + AssertFatal(harq_pid ==0, "Harq PID is not zero for BL/CE UE\n"); + + +#else + ulsch->ue_type = 0; +#endif + + ulsch->harq_mask |= 1 << harq_pid; ulsch->harq_processes[harq_pid]->frame = frame; @@ -2810,7 +2870,7 @@ fill_ulsch (PHY_VARS_eNB * eNB, nfapi_ul_config_ulsch_pdu * ulsch_pdu, int frame ulsch->harq_processes[harq_pid]->round++; ulsch->rnti = ulsch_pdu->ulsch_pdu_rel8.rnti; - LOG_D (PHY, "Filling ULSCH %x (UE_id %d) (new_ulsch %d) for Frame %d, Subframe %d : harq_pid %d, first_rb %d, nb_rb %d, rvidx %d, Qm %d, TBS %d, round %d \n", + LOG_I (PHY, "Filling ULSCH %x (UE_id %d) (new_ulsch %d) for Frame %d, Subframe %d : harq_pid %d, first_rb %d, nb_rb %d, rvidx %d, Qm %d, TBS %d, round %d \n", ulsch->rnti, UE_id, new_ulsch, diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h index fb42e39a6c..989d6ca0a2 100755 --- a/openair1/PHY/LTE_TRANSPORT/defs.h +++ b/openair1/PHY/LTE_TRANSPORT/defs.h @@ -596,6 +596,8 @@ typedef struct { } LTE_eNB_UCI; typedef struct { + /// UE type (normal, CEModeA, CEModeB) + uint8_t ue_type; /// HARQ process mask, indicates which processes are currently active uint16_t harq_mask; /// Pointers to 8 HARQ processes for the ULSCH diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c index 0bd2f522d7..339b87b1d6 100755 --- a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c +++ b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c @@ -878,11 +878,16 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, LTE_UL_eNB_HARQ_t *ulsch_harq; - - harq_pid = subframe2harq_pid(frame_parms,proc->frame_rx,subframe); +#ifdef Rel14 + if (ulsch->ue_type>0) harq_pid = 0; + else +#endif + { + harq_pid = subframe2harq_pid(frame_parms,proc->frame_rx,subframe); + } VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_ULSCH_DECODING0+harq_pid,1); - + // x1 is set in lte_gold_generic x2 = ((uint32_t)ulsch->rnti<<14) + ((uint32_t)subframe<<9) + frame_parms->Nid_cell; //this is c_init in 36.211 Sec 6.3.1 ulsch_harq = ulsch->harq_processes[harq_pid]; diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c index 795ed5896b..e76974732d 100755 --- a/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c +++ b/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c @@ -1136,18 +1136,21 @@ void rx_ulsch(PHY_VARS_eNB *eNB, int16_t *llrp; int subframe = proc->subframe_rx; - harq_pid = subframe2harq_pid(frame_parms,proc->frame_rx,subframe); +#ifdef Rel14 + if (ulsch[UE_id]->ue_type > 0) harq_pid =0; + else +#endif + { + harq_pid = subframe2harq_pid(frame_parms,proc->frame_rx,subframe); + } Qm = ulsch[UE_id]->harq_processes[harq_pid]->Qm; #ifdef DEBUG_ULSCH printf("rx_ulsch: harq_pid %d, nb_rb %d first_rb %d\n",harq_pid,ulsch[UE_id]->harq_processes[harq_pid]->nb_rb,ulsch[UE_id]->harq_processes[harq_pid]->first_rb); #endif //DEBUG_ULSCH - if (ulsch[UE_id]->harq_processes[harq_pid]->nb_rb == 0) { - LOG_E(PHY,"PUSCH (%d/%x) nb_rb=0!\n", harq_pid,ulsch[UE_id]->rnti); - return; - } - + AssertFatal(ulsch[UE_id]->harq_processes[harq_pid]->nb_rb > 0, + "PUSCH (%d/%x) nb_rb=0!\n", harq_pid,ulsch[UE_id]->rnti); for (l=0; l<(frame_parms->symbols_per_tti-ulsch[UE_id]->harq_processes[harq_pid]->srs_active); l++) { #ifdef DEBUG_ULSCH diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 99f23200c8..da5a5f9391 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1070,6 +1070,8 @@ pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) for (i = 0; i < NUMBER_OF_UE_MAX; i++) { ulsch = eNB->ulsch[i]; + if (ulsch->ue_type > 0) harq_pid = 0; + ulsch_harq = ulsch->harq_processes[harq_pid]; if (ulsch->rnti > 0) LOG_D (PHY, "Frame %d, subframe %d: PUSCH procedures, harq_pid %d, UE %d/%x\n", frame, subframe, harq_pid, i, ulsch->rnti); @@ -1248,8 +1250,16 @@ fill_rx_indication (PHY_VARS_eNB * eNB, int UE_id, int frame, int subframe) int timing_advance_update; int sync_pos; - uint32_t harq_pid = subframe2harq_pid (&eNB->frame_parms, - frame, subframe); + uint32_t harq_pid; + +#ifdef Rel14 + if (eNB->ulsch[UE_id]->ue_type > 0) harq_pid = 0; + else +#endif + { + harq_pid = subframe2harq_pid (&eNB->frame_parms, + frame, subframe); + } pthread_mutex_lock (&eNB->UL_INFO_mutex); pdu = &eNB->UL_INFO.rx_ind.rx_pdu_list[eNB->UL_INFO.rx_ind.number_of_pdus]; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index ab339758b6..5b4cd7cc6b 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -105,7 +105,7 @@ add_msg3 (module_id_t module_idP, int CC_id, RA_TEMPLATE * RA_template, frame_t ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.frequency_hopping_bits = 0; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.new_data_indication = 0; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.redundancy_version = rvseq[RA_template->msg3_round]; - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = ((10 * RA_template->Msg3_frame) + RA_template->Msg3_subframe) & 7; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number = 0; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.ul_tx_mode = 0; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.current_tx_nb = 0; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.n_srs = 1; @@ -274,7 +274,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6) | (RA_template->msg2_narrowband<<5); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 0; // adjust according to size of RAR, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; @@ -632,7 +632,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB - dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6) | (RA_template->msg2_narrowband<<5); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 4 for now dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = 0; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index e589057520..a92c3419f9 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -104,6 +104,9 @@ void rx_sdu(const module_id_t enb_mod_idP, } if (UE_id!=-1) { +#ifdef Rel14 + if (UE_list->UE_template[CC_idP][UE_id].rach_resource_type > 0) harq_pid=0; +#endif LOG_D(MAC,"[eNB %d][PUSCH %d] CC_id %d Received ULSCH sdu round %d from PHY (rnti %x, UE_id %d) ul_cqi %d\n",enb_mod_idP,harq_pid,CC_idP, UE_list->UE_sched_ctrl[UE_id].round_UL[CC_idP][harq_pid], current_rnti, UE_id,ul_cqi); @@ -142,6 +145,11 @@ void rx_sdu(const module_id_t enb_mod_idP, } } else if ((RA_id = find_RA_id(enb_mod_idP,CC_idP,current_rnti))!=-1) { // Check if this is an RA process for the rnti + +#ifdef Rel14 + if (UE_list->UE_template[CC_idP][UE_id].rach_resource_type > 0) harq_pid=0; +#endif + AssertFatal(eNB->common_channels[CC_idP].radioResourceConfigCommon->rach_ConfigCommon.maxHARQ_Msg3Tx>1, "maxHARQ %d should be greater than 1\n", (int)eNB->common_channels[CC_idP].radioResourceConfigCommon->rach_ConfigCommon.maxHARQ_Msg3Tx); @@ -838,7 +846,7 @@ void schedule_ulsch(module_id_t module_idP, } } - schedule_ulsch_rnti(module_idP, frameP, subframeP, sched_subframe,emtc_active); + schedule_ulsch_rnti(module_idP, frameP, subframeP, sched_subframe,first_rb); stop_meas(&eNB->schedule_ulsch); } @@ -1402,7 +1410,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, // bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB) //store for possible retransmission UE_template->nb_rb_ul[harq_pid] = 6; - UE_template->first_rb_ul[harq_pid] = 0; + UE_template->first_rb_ul[harq_pid] = narrowband_to_first_rb (cc, 2); UE_sched_ctrl->ul_scheduled |= (1<head) @@ -1453,7 +1461,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, hi_dci0_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dci_format = (UE_template->rach_resource_type > 1) ? 5 : 4; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ce_mode = (UE_template->rach_resource_type > 1) ? 2 : 1; - hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mpdcch_narrowband = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mpdcch_narrowband = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_prb_pairs = 6; // checked above that it has to be this hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic @@ -1471,13 +1479,14 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.drms_scrambling_init = epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.transmission_power = 6000; // 0dB - hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_start = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_start = UE_template->first_rb_ul[harq_pid]; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_resource_blocks = 6; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.pusch_repetition_levels = 0; - AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13==0, - "epdcch_setconfig_r11->ext2->mpdcch_config_r13->mpdcch_pdsch_HoppingConfig_r13 is not 0\n"); - hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.frequency_hopping_flag = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13; + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13== + EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13->mpdcch_pdsch_HoppingConfig_r13 is not off\n"); + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.frequency_hopping_flag = 1-epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.redudency_version = 0; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.new_data_indication = 0; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.harq_process = 0; @@ -1544,7 +1553,27 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, T_INT(subframeP), T_INT(harq_pid), T_INT(UE_template->mcs_UL[harq_pid]), T_INT(0), T_INT(6), T_INT(round)); - + fill_nfapi_ulsch_config_request_rel8(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], + cqi_req, + cc, + UE_template->physicalConfigDedicated, + get_tmode(module_idP,CC_id,UE_id), + eNB->ul_handle, + rnti, + UE_template->first_rb_ul[harq_pid], // resource_block_start + UE_template->nb_rb_ul[harq_pid], // number_of_resource_blocks + UE_template->mcs_UL[harq_pid], + cshift, // cyclic_shift_2_for_drms + 0, // frequency_hopping_enabled_flag + 0, // frequency_hopping_bits + UE_template->oldNDI_UL[harq_pid], // new_data_indication + rvidx_tab[round&3], // redundancy_version + harq_pid, // harq_process_number + 0, // ul_tx_mode + 0, // current_tx_nb + 0, // n_srs + UE_template->TBS_UL[harq_pid] + ); fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], UE_template->rach_resource_type>2 ? 2 : 1, 1, //total_number_of_repetitions diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 05d87f7b43..984cf315b1 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2539,7 +2539,8 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->ext4->epdcch_Config_r11 = calloc(1, sizeof(struct EPDCCH_Config_r11 )); physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.present = EPDCCH_Config_r11__config_r11_PR_setup; physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.subframePatternConfig_r11 = NULL; - physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = NULL; + physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = calloc(1,sizeof(long)); + *physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 = 2; physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToReleaseList_r11 = NULL; @@ -2570,7 +2571,7 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.present = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13_PR_fdd_r13; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; - epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 2; + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; // note: this is narrowband index 2 ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); From 3c1c5a1508235fc2d0044f573c474fd8c99e5976 Mon Sep 17 00:00:00 2001 From: sharma Date: Mon, 4 Jun 2018 08:15:16 +0200 Subject: [PATCH 088/109] merge in changes from local copy which were made just prior to Orange Research Day demonstration --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 27 +- openair1/PHY/LTE_TRANSPORT/edci.c | 6 +- openair1/PHY/LTE_TRANSPORT/mdci.h | 14 +- openair1/PHY/LTE_TRANSPORT/pucch.c | 6 +- openair1/SCHED/fapi_l1.c | 6 +- openair1/SCHED/phy_procedures_lte_eNb.c | 45 +- openair2/LAYER2/MAC/defs.h | 5 + openair2/LAYER2/MAC/eNB_scheduler.c | 5 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 44 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 611 +++++++++++++++++- .../LAYER2/MAC/eNB_scheduler_primitives.c | 3 + openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 122 +++- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 2 +- openair2/RRC/LITE/rrc_common.c | 2 +- openair2/RRC/LITE/rrc_eNB.c | 6 +- targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc | 4 - targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 330 +++++++++- targets/RT/USER/lte-ru.c | 2 +- 18 files changed, 1140 insertions(+), 100 deletions(-) delete mode 100755 targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc mode change 100755 => 100644 targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index 9825f8a0f0..92784609e9 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -2696,18 +2696,19 @@ fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci AssertFatal(1==0,"TDD not supported for eMTC yet\n"); } else { dci_alloc->dci_length = sizeof_DCI6_0A_5MHz_t; - ((DCI6_0A_10MHz_t *) dci_pdu)->type = 0; - ((DCI6_0A_10MHz_t *) dci_pdu)->hopping = hopping; - ((DCI6_0A_10MHz_t *) dci_pdu)->rballoc = rballoc; - ((DCI6_0A_10MHz_t *) dci_pdu)->mcs = mcs; - ((DCI6_0A_10MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; - ((DCI6_0A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; - ((DCI6_0A_10MHz_t *) dci_pdu)->ndi = ndi; - ((DCI6_0A_10MHz_t *) dci_pdu)->rv_idx = rel13->redudency_version; - ((DCI6_0A_10MHz_t *) dci_pdu)->TPC = TPC; - ((DCI6_0A_10MHz_t *) dci_pdu)->csi_req = cqi_req; - ((DCI6_0A_10MHz_t *) dci_pdu)->srs_req = rel13->srs_request; - ((DCI6_0A_10MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; + ((DCI6_0A_5MHz_t *) dci_pdu)->type = 0; + ((DCI6_0A_5MHz_t *) dci_pdu)->hopping = hopping; + ((DCI6_0A_5MHz_t *) dci_pdu)->rballoc = rballoc; + ((DCI6_0A_5MHz_t *) dci_pdu)->narrowband = narrowband; + ((DCI6_0A_5MHz_t *) dci_pdu)->mcs = mcs; + ((DCI6_0A_5MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; + ((DCI6_0A_5MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; + ((DCI6_0A_5MHz_t *) dci_pdu)->ndi = ndi; + ((DCI6_0A_5MHz_t *) dci_pdu)->rv_idx = rel13->redudency_version; + ((DCI6_0A_5MHz_t *) dci_pdu)->TPC = TPC; + ((DCI6_0A_5MHz_t *) dci_pdu)->csi_req = cqi_req; + ((DCI6_0A_5MHz_t *) dci_pdu)->srs_req = rel13->srs_request; + ((DCI6_0A_5MHz_t *) dci_pdu)->dci_rep = rel13->dci_subframe_repetition_number; } @@ -2721,6 +2722,7 @@ fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci ((DCI6_0A_10MHz_t *) dci_pdu)->type = 0; ((DCI6_0A_10MHz_t *) dci_pdu)->hopping = hopping; ((DCI6_0A_10MHz_t *) dci_pdu)->rballoc = rballoc; + ((DCI6_0A_10MHz_t *) dci_pdu)->narrowband = narrowband; ((DCI6_0A_10MHz_t *) dci_pdu)->mcs = mcs; ((DCI6_0A_10MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; ((DCI6_0A_10MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; @@ -2759,6 +2761,7 @@ fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci ((DCI6_0A_20MHz_t *) dci_pdu)->type = 0; ((DCI6_0A_20MHz_t *) dci_pdu)->hopping = hopping; ((DCI6_0A_20MHz_t *) dci_pdu)->rballoc = rballoc; + ((DCI6_0A_20MHz_t *) dci_pdu)->narrowband = narrowband; ((DCI6_0A_20MHz_t *) dci_pdu)->mcs = rel13->mcs; ((DCI6_0A_20MHz_t *) dci_pdu)->rep = rel13->pusch_repetition_levels; ((DCI6_0A_20MHz_t *) dci_pdu)->harq_pid = rel13->harq_process; diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index fbc3adc7aa..546ff4a4f0 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -321,10 +321,12 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, } else AssertFatal(1 == 0, "Illegal combination start_symbol %d, a_index %d\n", mdci->start_symbol, a_index); - LOG_I(PHY, "mdci %d, length %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, i0 %d, ss %d ,coded_bits %d\n", + LOG_I(PHY, "mdci %d, length %d: rnti %x, L %d, prb_pairs %d, ce_mode %d, transmission type %s, i0 %d, ss %d ,coded_bits %d\n", i, mdci->dci_length,mdci->rnti, mdci->L, mdci->number_of_prb_pairs, - mdci->ce_mode, mdci->i0, mdci->start_symbol, + mdci->ce_mode, + mdci->transmission_type == 1? "dist" : "loc", + mdci->i0, mdci->start_symbol, coded_bits); // Note: We only have to run this every Nacc subframes during repetitions, data and scrambling are constant, but we do it for now to simplify during testing diff --git a/openair1/PHY/LTE_TRANSPORT/mdci.h b/openair1/PHY/LTE_TRANSPORT/mdci.h index 5068aa072c..6c2cb6b19e 100755 --- a/openair1/PHY/LTE_TRANSPORT/mdci.h +++ b/openair1/PHY/LTE_TRANSPORT/mdci.h @@ -56,7 +56,9 @@ struct DCI6_0A_5MHz { /// Modulation and Coding Scheme and Redundancy Version uint32_t mcs:4; /// RB Assignment (ceil(log2(floor(N_RB_UL/6))) + 5 bits) - uint32_t rballoc:7; + uint32_t rballoc:5; + /// narrowband index log2(floor(N_RB_DL/6))) bits + uint32_t narrowband:2; /// Hopping flag uint32_t hopping:1; /// type = 0 => DCI Format 0, type = 1 => DCI Format 1A @@ -90,7 +92,7 @@ struct DCI6_1A_5MHz { uint32_t mcs:4; /// Resource block assignment (assignment flag = 0 for 5 MHz, ceil(log2(floor(N_RB_DL/6)))+5) uint32_t rballoc:5; - /// narroband index log2(floor(N_RB_DL/6))) bits + /// narrowband index log2(floor(N_RB_DL/6))) bits uint32_t narrowband:2; /// Frequency hopping flag uint32_t hopping:1; @@ -125,7 +127,7 @@ struct DCI6_0A_10MHz { uint32_t mcs:4; /// RB Assignment (ceil(log2(floor(N_RB_UL/6))) + 5 bits) uint32_t rballoc:5; - /// narroband index log2(floor(N_RB_DL/6))) bits + /// narrowband index log2(floor(N_RB_DL/6))) bits uint32_t narrowband:3; /// Hopping flag uint32_t hopping:1; @@ -160,7 +162,7 @@ struct DCI6_1A_10MHz { uint32_t mcs:4; /// Resource block assignment uint32_t rballoc:5; - /// narroband index log2(floor(N_RB_DL/6))) bits + /// narrowband index log2(floor(N_RB_DL/6))) bits uint32_t narrowband:3; /// Frequency hopping flag uint32_t hopping:1; @@ -195,7 +197,7 @@ struct DCI6_0A_20MHz { uint32_t mcs:4; /// RB Assignment (ceil(log2(floor(N_RB_UL/6))) + 5 bits) uint32_t rballoc:5; - /// narroband index log2(floor(N_RB_DL/6))) bits + /// narrowband index log2(floor(N_RB_DL/6))) bits uint32_t narrowband:4; /// Hopping flag uint32_t hopping:1; @@ -230,7 +232,7 @@ struct DCI6_1A_20MHz { uint32_t mcs:4; /// Resource block assignment (assignment flag = 0 for 20 MHz, ceil(log2(floor(N_RB_DL/6)))+5) uint32_t rballoc:5; - /// narroband index log2(floor(N_RB_DL/6))) bits + /// narrowband index log2(floor(N_RB_DL/6))) bits uint32_t narrowband:4; /// Frequency hopping flag uint32_t hopping:1; diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c index d03ac16105..8b4e1d8556 100755 --- a/openair1/PHY/LTE_TRANSPORT/pucch.c +++ b/openair1/PHY/LTE_TRANSPORT/pucch.c @@ -2431,9 +2431,9 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, } // aa - LOG_I(PHY,"PUCCH 1a/b: SFN.SF %d.%d : stat %d,%d (pos %d)\n", + LOG_I(PHY,"PUCCH 1a/b: SFN.SF %d.%d : stat %d,%d (pos %d), n1_pucch %d\n", frame,subframe,stat_re,stat_im, - (subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe])); + (subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe]),n1_pucch); LOG_D(PHY,"PUCCH 1a/b: SFN.SF %d.%d : sigma2_dB %d, stat_max %d, pucch1_thres %d\n",frame,subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres); eNB->pucch1ab_stats[UE_id][(subframe<<11) + 2*(eNB->pucch1ab_stats_cnt[UE_id][subframe])] = (stat_re); @@ -2448,7 +2448,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB, if (fmt==pucch_format1b) *(1+payload) = (stat_im<0) ? 1 : 2; } else { // insufficient energy on PUCCH so NAK - LOG_D(PHY,"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d\n",subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres); + LOG_I(PHY,"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d => DTX (n1_pucch %d)\n",subframe,sigma2_dB,dB_fixed(stat_max),pucch1_thres,n1_pucch); *payload = 4; // DTX ((int16_t*)&eNB->pucch1ab_stats[UE_id][(subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe])])[0] = (int16_t)(stat_re); ((int16_t*)&eNB->pucch1ab_stats[UE_id][(subframe<<10) + (eNB->pucch1ab_stats_cnt[UE_id][subframe])])[1] = (int16_t)(stat_im); diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index fddea1a539..47fb36824e 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -654,7 +654,11 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) if (ul_subframe<10) { // This means that there is an ul_subframe that can be configured here LOG_D(PHY,"NFAPI: Clearing dci allocations for potential UL\n"); - harq_pid = subframe2harq_pid(fp,ul_frame,ul_subframe); + + if (eNB->ulsch[i]->ue_type == 0) + harq_pid = subframe2harq_pid(fp,ul_frame,ul_subframe); + else + harq_pid = 0; // clear DCI allocation maps for new subframe diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index da5a5f9391..5657a15dba 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -328,7 +328,13 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type /* save old HARQ information needed for PHICH generation */ if (ul_subframe < 10) { // This means that there is a potential UL subframe that will be scheduled here for (i = 0; i < NUMBER_OF_UE_MAX; i++) { - harq_pid = subframe2harq_pid (fp, ul_frame, ul_subframe); +#ifdef Rel14 + if (eNB->ulsch[i]->ue_type >0) harq_pid = 0; + else +#endif + harq_pid = subframe2harq_pid (fp, ul_frame, ul_subframe); + + if (eNB->ulsch[i]) { ulsch_harq = eNB->ulsch[i]->harq_processes[harq_pid]; @@ -410,6 +416,13 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type harq_pid, dlsch0->harq_processes[harq_pid]->frame, dlsch0->harq_processes[harq_pid]->subframe); + /* + if (dlsch0->harq_processes[harq_pid]->frame > frame) { // remote stale DLSCH + LOG_W(PHY,"Removing stale DLSCH\n"); + dlsch0->active = 0; + dlsch0->harq_processes[harq_pid]->status = SCH_IDLE; + dlsch0->harq_mask &= ~(1 << harq_pid); + }*/ } if ((dlsch0->harq_processes[harq_pid]->status == ACTIVE) && (dlsch0->harq_processes[harq_pid]->frame == frame) && (dlsch0->harq_processes[harq_pid]->subframe == subframe)) pdsch_procedures (eNB, proc, harq_pid, dlsch0, dlsch1, &eNB->UE_stats[(uint32_t) UE_id], 0); @@ -525,7 +538,7 @@ prach_procedures (PHY_VARS_eNB * eNB, eNB->preamble_list_br[ind].preamble_rel8.rnti = 1 + subframe + (60*(eNB->prach_vars_br.first_frame[ce_level] % 40)); eNB->preamble_list_br[ind].instance_length = 0; //don't know exactly what this is eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type = 1 + ce_level; // CE Level - LOG_D (PHY, "Filling NFAPI indication for RACH %d CELevel %d (mask %x) : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", + LOG_I (PHY, "Filling NFAPI indication for RACH %d CELevel %d (mask %x) : TA %d, Preamble %d, rnti %x, rach_resource_type %d\n", ind, ce_level, prach_mask, @@ -541,7 +554,7 @@ prach_procedures (PHY_VARS_eNB * eNB, #endif { - if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { + if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 2000)) { LOG_D (PHY, "[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", eNB->Mod_id, eNB->CC_id, frame, subframe, max_preamble[0], max_preamble_energy[0] / 10, max_preamble_energy[0] % 10, max_preamble_delay[0]); @@ -704,7 +717,7 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) } case HARQ: if (fp->frame_type == FDD) { - LOG_D (PHY, "Frame %d Subframe %d Demodulating PUCCH (UCI %d) for ACK/NAK (uci->pucch_fmt %d,uci->type %d.uci->frame %d, uci->subframe %d): n1_pucch0 %d SR_payload %d\n", + LOG_I (PHY, "Frame %d Subframe %d Demodulating PUCCH (UCI %d) for ACK/NAK (uci->pucch_fmt %d,uci->type %d.uci->frame %d, uci->subframe %d): n1_pucch0 %d SR_payload %d\n", frame, subframe, i, uci->pucch_fmt, uci->type, uci->frame, uci->subframe, uci->n_pucch_1[0][0], SR_payload); metric[0] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1[0][0], 0, //n2_pucch @@ -736,7 +749,7 @@ uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) } - LOG_D (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (FDD) payload %d (metric %d)\n", eNB->Mod_id, uci->rnti, frame, subframe, pucch_b0b1[0][0], metric[0]); + LOG_I (PHY, "[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (FDD) payload %d (metric %d)\n", eNB->Mod_id, uci->rnti, frame, subframe, pucch_b0b1[0][0], metric[0]); uci->stat = metric[0]; fill_uci_harq_indication (eNB, uci, frame, subframe, pucch_b0b1[0], 0, 0xffff); @@ -1122,26 +1135,19 @@ pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) //compute the expected ULSCH RX power (for the stats) ulsch_harq->delta_TF = get_hundred_times_delta_IF_eNB (eNB, i, harq_pid, 0); // 0 means bw_factor is not considered - if (ulsch_harq->cqi_crc_status == 1) { -#ifdef DEBUG_PHY_PROC - //if (((frame%10) == 0) || (frame < 50)) - print_CQI (ulsch_harq->o, ulsch_harq->uci_format, 0, fp->N_RB_DL); -#endif - fill_ulsch_cqi_indication (eNB, frame, subframe, ulsch_harq, ulsch->rnti); - } if (ret == (1 + MAX_TURBO_ITERATIONS)) { T (T_ENB_PHY_ULSCH_UE_NACK, T_INT (eNB->Mod_id), T_INT (frame), T_INT (subframe), T_INT (ulsch->rnti), T_INT (harq_pid)); fill_crc_indication (eNB, i, frame, subframe, 1); // indicate NAK to MAC fill_rx_indication (eNB, i, frame, subframe); // indicate SDU to MAC - - LOG_I (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n", + + /*LOG_I (PHY, "[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n", eNB->Mod_id, harq_pid, frame, subframe, i, ulsch_harq->round - 1, ulsch->Mlimit, ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1]); dump_ulsch(eNB,frame,subframe,i); exit(-1); - + */ if (ulsch_harq->round >= 3) { ulsch_harq->status = SCH_IDLE; ulsch_harq->handled = 0; @@ -1190,6 +1196,15 @@ pusch_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) LOG_D (PHY, "[eNB %d] Frame %d subframe %d: received ULSCH harq_pid %d for UE %d, ret = %d, CQI CRC Status %d, ACK %d,%d, ulsch_errors %d/%d\n", eNB->Mod_id, frame, subframe, harq_pid, i, ret, ulsch_harq->cqi_crc_status, ulsch_harq->o_ACK[0], ulsch_harq->o_ACK[1], eNB->UE_stats[i].ulsch_errors[harq_pid], eNB->UE_stats[i].ulsch_decoding_attempts[harq_pid][0]); + + if (ulsch_harq->cqi_crc_status == 1) { +#ifdef DEBUG_PHY_PROC + //if (((frame%10) == 0) || (frame < 50)) + print_CQI (ulsch_harq->o, ulsch_harq->uci_format, 0, fp->N_RB_DL); +#endif + + fill_ulsch_cqi_indication (eNB, frame, subframe, ulsch_harq, ulsch->rnti); + } } // if ((ulsch) && // (ulsch->rnti>0) && // (ulsch_harq->status == ACTIVE)) diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h index 9eeb545325..6af0fd66ca 100755 --- a/openair2/LAYER2/MAC/defs.h +++ b/openair2/LAYER2/MAC/defs.h @@ -650,6 +650,10 @@ typedef struct { uint8_t mcs_UL[8]; /// TBS from last UL scheduling uint8_t TBS_UL[8]; + /// CQI_req from last scheduling + uint8_t oldCQI_UL[8]; + /// TPC from last scheduling + uint8_t oldTPC_UL[8]; /// Flag to indicate UL has been scheduled at least once boolean_t ul_active; /// Flag to indicate UE has been configured (ACK from RRCConnectionSetup received) @@ -816,6 +820,7 @@ typedef struct { int32_t phr_received; uint8_t periodic_ri_received[NFAPI_CC_MAX]; uint8_t aperiodic_ri_received[NFAPI_CC_MAX]; + uint32_t pucch_tpc_accumulated[NFAPI_CC_MAX]; uint8_t pucch1_cqi_update[NFAPI_CC_MAX]; uint8_t pucch1_snr[NFAPI_CC_MAX]; uint8_t pucch2_cqi_update[NFAPI_CC_MAX]; diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index 8286e2dfd8..b126bbd997 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -533,7 +533,10 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame schedule_SR(module_idP,frameP,subframeP); // This schedules UCI_CSI in subframeP schedule_CSI(module_idP, frameP, subframeP); - +#ifdef Rel14 + // This schedules DLSCH in subframeP + schedule_ue_spec_br(module_idP,frameP,subframeP); +#endif // This schedules DLSCH in subframeP schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 5b4cd7cc6b..312a915463 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -264,7 +264,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 @@ -348,7 +348,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc[CC_idP].p_eNB == 1) ? 0 : 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; @@ -356,8 +356,8 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc[CC_idP].mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc[CC_idP].p_eNB == 1) ? 1 : 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; @@ -440,7 +440,7 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc[CC_idP].p_eNB == 1) ? 0 : 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; @@ -448,8 +448,8 @@ generate_Msg2 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc[CC_idP].mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc[CC_idP].p_eNB == 1) ? 1 : 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; @@ -568,7 +568,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s // set HARQ process round to 0 for this UE - if (cc->tdd_Config) + if (cc[CC_idP].tdd_Config) RA_template->harq_pid = ((frameP * 10) + subframeP) % 10; else RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; @@ -582,6 +582,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s #ifdef Rel14 if (RA_template->rach_resource_type > 0) { + RA_template->harq_pid = 0; // Generate DCI + repetitions first // This uses an MPDCCH Type 2 allocation according to Section 9.1.5 36-213, Type2 common allocation according to Table 7.1-8 (36-213) // Parameters: @@ -622,7 +623,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space - AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); + AssertFatal (cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL, "cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n"); dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13; dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 @@ -710,7 +711,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc->p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc[CC_idP].p_eNB == 1) ? 0 : 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; @@ -718,8 +719,8 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc->mib->message.dl_Bandwidth); // ignored - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc->p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc[CC_idP].mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc[CC_idP].p_eNB == 1) ? 1 : 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; @@ -885,7 +886,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s lcid = 0; // put HARQ process round to 0 - if (cc->tdd_Config) + if (cc[CC_idP].tdd_Config) RA_template->harq_pid = ((frameP * 10) + subframeP) % 10; else RA_template->harq_pid = ((frameP * 10) + subframeP) & 7; @@ -922,7 +923,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s 0, // redundancy version 1, // transport_blocks 0, // transport_block_to_codeword_swap_flag (0) - (cc->p_eNB == 1) ? 0 : 1, // transmission_scheme + (cc[CC_idP].p_eNB == 1) ? 0 : 1, // transmission_scheme 1, // number of layers 1, // number of subbands //0, // codebook index @@ -931,7 +932,7 @@ generate_Msg4 (module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t s 0, // delta_power_offset_index 0, // ngap 1, // NPRB = 3 like in DCI - (cc->p_eNB == 1) ? 1 : 2, // transmission mode + (cc[CC_idP].p_eNB == 1) ? 1 : 2, // transmission mode 1, // num_bf_prb_per_subband 1); // num_bf_vector LOG_D (MAC, "Filled DLSCH config, pdu number %d, non-dci pdu_index %d\n", dl_req->number_pdu, eNB->pdu_index[CC_idP]); @@ -1022,7 +1023,8 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; N_RB_DL = to_prb (cc[CC_idP].mib->message.dl_Bandwidth); - LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d)\n", module_idP, CC_idP, frameP, subframeP, RA_template->harq_pid, round); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d) => SFN %d.%d\n", module_idP, CC_idP, frameP, subframeP, RA_template->harq_pid, round, + RA_template->Msg4_frame,RA_template->Msg4_subframe); if (round != 8) { @@ -1031,6 +1033,10 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s if ((RA_template->Msg4_frame == frameP) && (RA_template->Msg4_subframe == subframeP)) { AssertFatal (1 == 0, "Msg4 Retransmissions not handled yet for BL/CE UEs\n"); } + if (round > 0) { + cancel_ra_proc (module_idP, CC_idP, frameP, RA_template->rnti); + rrc_mac_remove_ue(module_idP,RA_template->rnti); + } } else #endif { @@ -1070,7 +1076,7 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s round & 3, // redundancy version 1, // transport_blocks 0, // transport_block_to_codeword_swap_flag (0) - (cc->p_eNB == 1) ? 0 : 1, // transmission_scheme + (cc[CC_idP].p_eNB == 1) ? 0 : 1, // transmission_scheme 1, // number of layers 1, // number of subbands //0, // codebook index @@ -1079,7 +1085,7 @@ check_Msg4_retransmission (module_id_t module_idP, int CC_idP, frame_t frameP, s 0, // delta_power_offset_index 0, // ngap 1, // NPRB = 3 like in DCI - (cc->p_eNB == 1) ? 1 : 2, // transmission mode + (cc[CC_idP].p_eNB == 1) ? 1 : 2, // transmission mode 1, // num_bf_prb_per_subband 1); // num_bf_vector } else @@ -1137,7 +1143,7 @@ schedule_RA (module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) if (RA_template->RA_active == TRUE) { - LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active (generate RAR %d, generate_Msg4 %d, wait_ack_Msg4 %d, rnti %x)\n", + LOG_D (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d RA %d is active (generate RAR %d, generate_Msg4 %d, wait_ack_Msg4 %d, rnti %x)\n", module_idP, frameP, subframeP, CC_id, i, RA_template->generate_rar, RA_template->generate_Msg4, RA_template->wait_ack_Msg4, RA_template->rnti); if (RA_template->generate_rar == 1) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 6ab6a2d858..5a553828d3 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -645,7 +645,7 @@ schedule_ue_spec_br( harq_pid = ue_sched_ctl->harq_pid[CC_id]; round = ue_sched_ctl->round[CC_id]; UE_list->eNB_UE_stats[CC_id][UE_id].crnti = rnti; - UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); + UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status = mac_eNB_get_rrc_status(module_idP, rnti);x UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid; UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; @@ -1509,11 +1509,11 @@ schedule_ue_spec_br( //------------------------------------------------------------------------------ void schedule_ue_spec( - module_id_t module_idP, - frame_t frameP, - sub_frame_t subframeP, - int* mbsfn_flag -) + module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP, + int *mbsfn_flag + ) //------------------------------------------------------------------------------ { @@ -1646,6 +1646,8 @@ schedule_ue_spec( ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; + if (UE_list->UE_template[CC_id][UE_id].rach_resource_type > 0) continue_flag=1; + if (rnti==NOT_A_RNTI) { LOG_D(MAC,"Cannot find rnti for UE_id %d (num_UEs %d)\n",UE_id,UE_list->num_UEs); continue_flag=1; @@ -1731,7 +1733,7 @@ schedule_ue_spec( UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round; - if (UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status < RRC_CONNECTED) continue; + sdu_length_total=0; num_sdus=0; @@ -2421,6 +2423,601 @@ schedule_ue_spec( } +#ifdef Rel14 +//------------------------------------------------------------------------------ +void +schedule_ue_spec_br( + module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP + ) { + int CC_id = 0,UE_id; + eNB_MAC_INST *eNB = RC.mac[module_idP]; + COMMON_channels_t *cc = eNB->common_channels; + UE_list_t *UE_list = &eNB->UE_list; + UE_TEMPLATE *UE_template; + UE_sched_ctrl *ue_sched_ctl; + int32_t tpc=1; + int rvseq[4] = {0,2,3,1}; + mac_rlc_status_resp_t rlc_status; + unsigned char header_len_dcch=0, header_len_dcch_tmp=0; + unsigned char header_len_dtch=0, header_len_dtch_tmp=0, header_len_dtch_last=0; + unsigned char ta_len=0; + unsigned char sdu_lcids[NB_RB_MAX],lcid,offset,num_sdus=0; + uint16_t TBS,j,sdu_lengths[NB_RB_MAX],rnti,padding=0,post_padding=0; + unsigned char dlsch_buffer[MAX_DLSCH_PAYLOAD_BYTES]; + int round; + int ta_update; + uint16_t sdu_length_total = 0; + int mcs; + int32_t normalized_rx_power, target_rx_power; + + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_ul_config_request_pdu_t *ul_config_pdu; + nfapi_tx_request_pdu_t *TX_req; + nfapi_dl_config_request_body_t *dl_req; + nfapi_ul_config_request_body_t *ul_req; + + struct PRACH_ConfigSIB_v1310 *ext4_prach; + struct PUCCH_ConfigCommon_v1310 *ext4_pucch; + PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; + struct N1PUCCH_AN_InfoList_r13 *pucch_N1PUCCH_AN_InfoList_r13; + PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL }; + int pucchreps[4] = { 1, 1, 1, 1 }; + int n1pucchan[4] = { 0, 0, 0, 0 }; + uint32_t ackNAK_absSF; + int first_rb; + + dl_req = &eNB->DL_req[CC_id].dl_config_request_body; + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + + if ((frameP&1) == 0) return; + + if (cc[CC_id].radioResourceConfigCommon_BR) { + + ext4_prach = cc[CC_id].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + ext4_pucch = cc[CC_id].radioResourceConfigCommon_BR->ext4->pucch_ConfigCommon_v1310; + prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; + pucch_N1PUCCH_AN_InfoList_r13 = ext4_pucch->n1PUCCH_AN_InfoList_r13; + AssertFatal (prach_ParametersListCE_r13 != NULL, "prach_ParametersListCE_r13 is null\n"); + AssertFatal (pucch_N1PUCCH_AN_InfoList_r13 != NULL, "pucch_N1PUCCH_AN_InfoList_r13 is null\n"); + // check to verify CE-Level compatibility in SIB2_BR + AssertFatal (prach_ParametersListCE_r13->list.count == pucch_N1PUCCH_AN_InfoList_r13->list.count, "prach_ParametersListCE_r13->list.count!= pucch_N1PUCCH_AN_InfoList_r13->list.count\n"); + + switch (prach_ParametersListCE_r13->list.count) { + case 4: + p[3] = prach_ParametersListCE_r13->list.array[3]; + n1pucchan[3] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[3]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level3 shouldn't be NULL\n"); + pucchreps[3] = (int) (4 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13); + + case 3: + p[2] = prach_ParametersListCE_r13->list.array[2]; + n1pucchan[2] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[2]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level2 shouldn't be NULL\n"); + pucchreps[2] = (int) (4 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13); + case 2: + p[1] = prach_ParametersListCE_r13->list.array[1]; + n1pucchan[1] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[1]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level1 shouldn't be NULL\n"); + pucchreps[1] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13); + case 1: + p[0] = prach_ParametersListCE_r13->list.array[0]; + n1pucchan[0] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[0]; + AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level0 shouldn't be NULL\n"); + pucchreps[0] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13); + break; + default: + AssertFatal (1 == 0, "Illegal count for prach_ParametersListCE_r13 %d\n", prach_ParametersListCE_r13->list.count); + } + } + + for (UE_id=UE_list->head; UE_id>=0; UE_id=UE_list->next[UE_id]) { + + int harq_pid = 0; + + rnti = UE_RNTI(module_idP,UE_id); + if (rnti==NOT_A_RNTI) continue; + + ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; + UE_template = &UE_list->UE_template[CC_id][UE_id]; + + if (UE_template->rach_resource_type == 0) continue; + uint8_t rrc_status = mac_eNB_get_rrc_status(module_idP, rnti); + + if (rrc_status < RRC_CONNECTED) continue; + + round = ue_sched_ctl->round[CC_id][harq_pid]; + + AssertFatal (UE_template->physicalConfigDedicated != NULL, + "UE_template->physicalConfigDedicated is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4 != NULL, + "UE_template->physicalConfigDedicated->ext4 is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11 != NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11 is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present == EPDCCH_Config_r11__config_r11_PR_setup, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present != setup\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 != NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = NULL\n"); + + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0]; + + AssertFatal(epdcch_setconfig_r11 != NULL, "epdcch_setconfig_r11 is null\n"); + AssertFatal(epdcch_setconfig_r11->ext2!=NULL, "epdcch_setconfig_r11->ext2 is null\n"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13!=NULL, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13!=NULL, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->present==EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13->present is not setup\n"); + AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310!=NULL, + "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present==EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310_PR_setup, + "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present is not setup\n"); + + + // simple scheduler for 1 repetition, 1 HARQ + if (subframeP == 5) { // MPDCCH + + if (round == 8) { + rlc_status.bytes_in_buffer = 0; + // Now check RLC information to compute number of required RBs + // get maximum TBS size for RLC request + TBS = get_TBS_DL(9,6); + // check first for RLC data on DCCH + // add the length for all the control elements (timing adv, drx, etc) : header + payload + + if (ue_sched_ctl->ta_timer == 0) { + ta_update = ue_sched_ctl->ta_update; + /* if we send TA then set timer to not send it for a while */ + if (ta_update != 31) + ue_sched_ctl->ta_timer = 20; + /* reset ta_update */ + ue_sched_ctl->ta_update = 31; + } else { + ta_update = 31; + } + + ta_len = (ta_update != 31) ? 2 : 0; + + header_len_dcch = 2; // 2 bytes DCCH SDU subheader + + if ( TBS-ta_len-header_len_dcch > 0 ) { + LOG_I(MAC,"Calling mac_rlc_status_ind for DCCH\n"); + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + (TBS-ta_len-header_len_dcch)); // transport block set size + + sdu_lengths[0]=0; + + if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit + LOG_I(MAC,"[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP,frameP,CC_id,TBS-header_len_dcch); + sdu_lengths[0] = mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + TBS, //not used + (char *)&dlsch_buffer[0]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); + + LOG_I(MAC,"[eNB %d][DCCH] CC_id %d Got %d bytes from RLC\n",module_idP,CC_id,sdu_lengths[0]); + sdu_length_total = sdu_lengths[0]; + sdu_lcids[0] = DCCH; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH]+=1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH]+=sdu_lengths[0]; + num_sdus = 1; + } else { + header_len_dcch = 0; + sdu_length_total = 0; + } + } + + // check for DCCH1 and update header information (assume 2 byte sub-header) + if (TBS-ta_len-header_len_dcch-sdu_length_total > 0 ) { + rlc_status = mac_rlc_status_ind( + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH+1, + (TBS-ta_len-header_len_dcch-sdu_length_total)); // transport block set size less allocations for timing advance and + // DCCH SDU + sdu_lengths[num_sdus] = 0; + + if (rlc_status.bytes_in_buffer > 0) { + LOG_I(MAC,"[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n", + module_idP,frameP,CC_id,TBS-header_len_dcch-sdu_length_total); + sdu_lengths[num_sdus] += mac_rlc_data_req( + module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH+1, + TBS, //not used + (char *)&dlsch_buffer[sdu_length_total]); + + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(DCCH+1), T_INT(sdu_lengths[num_sdus])); + + sdu_lcids[num_sdus] = DCCH1; + sdu_length_total += sdu_lengths[num_sdus]; + header_len_dcch += 2; + UE_list->eNB_UE_stats[CC_id][UE_id].num_pdu_tx[DCCH1]+=1; + UE_list->eNB_UE_stats[CC_id][UE_id].num_bytes_tx[DCCH1]+=sdu_lengths[num_sdus]; + num_sdus++; + } + } + + // assume the max dtch header size, and adjust it later + header_len_dtch=0; + header_len_dtch_last=0; // the header length of the last mac sdu + // lcid has to be sorted before the actual allocation (similar struct as ue_list). + for (lcid=NB_RB_MAX-1; lcid>=DTCH ; lcid--){ + // TBD: check if the lcid is active + + header_len_dtch+=3; + header_len_dtch_last=3; + LOG_D(MAC,"[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)\n", + module_idP,frameP,lcid,TBS, + TBS-ta_len-header_len_dcch-sdu_length_total-header_len_dtch); + + if (TBS-ta_len-header_len_dcch-sdu_length_total-header_len_dtch > 0 ) { // NN: > 2 ? + rlc_status = mac_rlc_status_ind(module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS-ta_len-header_len_dcch-sdu_length_total-header_len_dtch); + + + if (rlc_status.bytes_in_buffer > 0) { + + LOG_I(MAC,"[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)\n", + module_idP,frameP,TBS-header_len_dcch-sdu_length_total-header_len_dtch,lcid, header_len_dtch); + sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, + rnti, + module_idP, + frameP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + lcid, + TBS, //not used + (char*)&dlsch_buffer[sdu_length_total]); + T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); + + LOG_I(MAC,"[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d \n",module_idP,sdu_lengths[num_sdus],lcid); + sdu_lcids[num_sdus] = lcid; + sdu_length_total += sdu_lengths[num_sdus]; + + if (sdu_lengths[num_sdus] < 128) { + header_len_dtch--; + header_len_dtch_last--; + } + num_sdus++; + } // no data for this LCID + else { + header_len_dtch-=3; + } + } // no TBS left + else { + header_len_dtch-=3; + break; + } + } + if (header_len_dtch == 0 ) + header_len_dtch_last= 0; + // there is at least one SDU + // if (num_sdus > 0 ){ + if ((sdu_length_total + header_len_dcch + header_len_dtch )> 0) { + + // Now compute number of required RBs for total sdu length + // Assume RAH format 2 + // adjust header lengths + header_len_dcch_tmp = header_len_dcch; + header_len_dtch_tmp = header_len_dtch; + if (header_len_dtch==0) { + header_len_dcch = (header_len_dcch >0) ? 1 : 0;//header_len_dcch; // remove length field + } else { + header_len_dtch_last-=1; // now use it to find how many bytes has to be removed for the last MAC SDU + header_len_dtch = (header_len_dtch > 0) ? header_len_dtch - header_len_dtch_last :header_len_dtch; // remove length field for the last SDU + } + + mcs = 9; + + // decrease mcs until TBS falls below required length + while ((TBS > (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) && (mcs>0)) { + mcs--; + TBS = get_TBS_DL(mcs,6); + } + + // if we have decreased too much or we don't have enough RBs, increase MCS + while (TBS < (sdu_length_total + header_len_dcch + header_len_dtch + ta_len)) { + mcs++; + TBS = get_TBS_DL(mcs,6); + } + + //#ifdef DEBUG_eNB_SCHEDULER + LOG_I(MAC,"[eNB %d] CC_id %d Generated DLSCH header (mcs %d, TBS %d, nb_rb %d)\n", + module_idP,CC_id,mcs,TBS,6); + // msg("[MAC][eNB ] Reminder of DLSCH with random data %d %d %d %d \n", + // TBS, sdu_length_total, offset, TBS-sdu_length_total-offset); + + + if ((TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len) <= 2) { + padding = (TBS - header_len_dcch - header_len_dtch - sdu_length_total - ta_len); + post_padding = 0; + } else { + padding = 0; + + // adjust the header len + if (header_len_dtch==0) { + header_len_dcch = header_len_dcch_tmp; + } else { //if (( header_len_dcch==0)&&((header_len_dtch==1)||(header_len_dtch==2))) + header_len_dtch = header_len_dtch_tmp; + } + + post_padding = TBS - sdu_length_total - header_len_dcch - header_len_dtch - ta_len ; // 1 is for the postpadding header + } + + + offset = generate_dlsch_header((unsigned char*)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + num_sdus, //num_sdus + sdu_lengths, // + sdu_lcids, + 255, // no drx + ta_update, // timing advance + NULL, // contention res id + padding, + post_padding); + + + if (ta_update != 31) { + LOG_D(MAC, + "[eNB %d][DLSCH] Frame %d Generate header for UE_id %d on CC_id %d: sdu_length_total %d, num_sdus %d, sdu_lengths[0] %d, sdu_lcids[0] %d => payload offset %d,timing advance value : %d, padding %d,post_padding %d,(mcs %d, TBS %d, nb_rb %d),header_dcch %d, header_dtch %d\n", + module_idP,frameP, UE_id, CC_id, sdu_length_total,num_sdus,sdu_lengths[0],sdu_lcids[0],offset, + ta_update,padding,post_padding,mcs,TBS,6,header_len_dcch,header_len_dtch); + } + + + + // cycle through SDUs and place in dlsch_buffer + memcpy(&UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset],dlsch_buffer,sdu_length_total); + // memcpy(RC.mac[0].DLSCH_pdu[0][0].payload[0][offset],dcch_buffer,sdu_lengths[0]); + + // fill remainder of DLSCH with random data + for (j=0; j<(TBS-sdu_length_total-offset); j++) { + UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0][offset+sdu_length_total+j] = (char)(taus()&0xff); + } + + + if (opt_enabled == 1) { + trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], + TBS, module_idP, 3, UE_RNTI(module_idP,UE_id), + eNB->frame, eNB->subframe,0,0); + LOG_D(OPT,"[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", + module_idP, CC_id, frameP, UE_RNTI(module_idP,UE_id), TBS); + } + + T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), + T_INT(harq_pid), T_BUFFER(UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS)); + + // do PUCCH power control + // this is the normalized RX power + + /* TODO: fix how we deal with power, unit is not dBm, it's special from nfapi */ + normalized_rx_power = ue_sched_ctl->pucch1_snr[CC_id]; + target_rx_power = 208; + + // this assumes accumulated tpc + // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out + int32_t framex10psubframe = UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame*10+UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe; + if (((framex10psubframe+10)<=(frameP*10+subframeP)) || //normal case + ((framex10psubframe>(frameP*10+subframeP)) && (((10240-framex10psubframe+frameP*10+subframeP)>=10)))) //frame wrap-around + if (ue_sched_ctl->pucch1_cqi_update[CC_id] == 1) { + ue_sched_ctl->pucch1_cqi_update[CC_id] = 0; + + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame=frameP; + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe=subframeP; + + if (normalized_rx_power>(target_rx_power+4)) { + tpc = 0; //-1 + ue_sched_ctl->pucch_tpc_accumulated[CC_id]--; + } else if (normalized_rx_power<(target_rx_power-4)) { + tpc = 2; //+1 + ue_sched_ctl->pucch_tpc_accumulated[CC_id]++; + } else { + tpc = 1; //0 + } + + LOG_D(MAC,"[eNB %d] DLSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", + module_idP,frameP, subframeP,harq_pid,tpc, + ue_sched_ctl->pucch_tpc_accumulated[CC_id],normalized_rx_power,target_rx_power); + + } // Po_PUCCH has been updated + else { + tpc = 1; //0 + } // time to do TPC update + else { + tpc = 1; //0 + } + + // Toggle NDI in first round + UE_template->oldNDI[harq_pid] = 1-UE_template->oldNDI[harq_pid]; + ue_sched_ctl->round[CC_id][harq_pid] = 0; + round=0; + } + + } + + if (round < 8) { + // fill in MDPDCCH + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template->rach_resource_type > 1) ? 11 : 10; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = epdcch_setconfig_r11->transmissionType_r11; + AssertFatal(UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11!=NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 is null\n"); + + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = *UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // t-CRNTI + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV (6, 0, 6) | ((epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1)<<5); + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs = 9; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pdsch_reptition_levels = 0; // fix to 4 for now + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.redundancy_version = rvseq[round&3]; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.new_data_indicator = UE_template->oldNDI[harq_pid]; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_process = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.pmi = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.harq_resource_offset = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_subframe_repetition_number = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.tpc = 3; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index_length = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.downlink_assignment_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.allocate_prach_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.preamble_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.prach_mask_index = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.starting_ce_level = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.srs_request = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.antenna_ports_and_scrambling_identity = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.frequency_hopping_enabled_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.paging_direct_indication_differentiation_flag = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0; + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in + dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; + dl_req->number_pdu++; + UE_template->mcs[harq_pid] = dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs; + } + } + else if ((subframeP == 7)&&(round<8)) { // DLSCH + + int absSF = (frameP * 10) + subframeP; + + // Have to check that MPDCCH was generated + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating DLSCH (ce_level %d RNTI %x)\n", + module_idP, CC_id, frameP, subframeP, UE_template->rach_resource_type - 1,rnti); + + first_rb = narrowband_to_first_rb (&cc[CC_id], epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); + dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); + dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; + dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_block_coding = getRIV (to_prb (cc[CC_id].mib->message.dl_Bandwidth), first_rb, 6); // check that this isn't getRIV(6,0,6) + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.modulation = 2; //QPSK + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.redundancy_version = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_blocks = 1; // first block + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transport_block_to_codeword_swap_flag = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_scheme = (cc[CC_id].p_eNB == 1) ? 0 : 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_layers = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.number_of_subbands = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.codebook_index = ; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ue_category_capacity = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pa = 4; // 0 dB + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.delta_power_offset_index = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.ngap = 0; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.nprb = get_subbandsize (cc[CC_id].mib->message.dl_Bandwidth); // ignored + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.transmission_mode = (cc[CC_id].p_eNB == 1) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; + // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = *UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11; + + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template->rach_resource_type < 3) ? 1 : 2; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; + dl_req->number_pdu++; + + // DL request + eNB->TX_req[CC_id].sfn_sf = (frameP << 4) + subframeP; + TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + TX_req->pdu_length = get_TBS_DL(UE_template->mcs[harq_pid], + 6); + TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->num_segments = 1; + TX_req->segments[0].segment_length = TX_req->pdu_length; + TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char) UE_id].payload[0]; + eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + + ackNAK_absSF = absSF + 4; + ul_req = &eNB->UL_req_tmp[CC_id][ackNAK_absSF % 10].ul_config_request_body; + ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + + ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; + ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_uci_harq_pdu)); + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.handle = 0; // don't know how to use this + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti = rnti; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.ue_type = (UE_template->rach_resource_type < 3) ? 1 : 2; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.empty_symbols = 0; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.total_number_of_repetitions = pucchreps[UE_template->rach_resource_type - 1]; + ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel13.repetition_number = 0; + + if (cc[CC_id].tdd_Config == NULL) { // FDD case + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel9_fdd.n_pucch_1_0 = n1pucchan[UE_template->rach_resource_type - 1]; + // NOTE: How to fill in the rest of the n_pucch_1_0 information 213 Section 10.1.2.1 in the general case + // = N_ECCE_q + Delta_ARO + n1pucchan[ce_level] + // higher in the MPDCCH configuration, N_ECCE_q is hard-coded to 0, and harq resource offset to 0 => + // Delta_ARO = 0 from Table 10.1.2.1-1 + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel9_fdd.harq_size = 1; // 1-bit ACK/NAK + ul_config_pdu->uci_harq_pdu.harq_information.harq_information_rel9_fdd.number_of_pucch_resources = 1; + } else { + AssertFatal (1 == 0, "PUCCH configuration for ACK/NAK not handled yet for TDD BL/CE case\n"); + } + ul_req->number_of_pdus++; + T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_id), T_INT (rnti), T_INT (frameP), T_INT (subframeP), + T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_id][0][UE_id].payload[0], TX_req->pdu_length)); + + if (opt_enabled == 1) { + trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char) UE_id].payload[0], TX_req->pdu_length , UE_id, 3, rnti, frameP, subframeP, 0, 0); + LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_id, frameP, rnti, TX_req->pdu_length ); + } + + } + } + +} +#endif //------------------------------------------------------------------------------ void fill_DLSCH_dci( diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index e44fb518d6..af623d2d9f 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -3072,6 +3072,9 @@ void extract_harq(module_id_t mod_idP,int CC_idP,int UE_id,frame_t frameP,sub_fr uint8_t harq_pid = ((10*frameP) + subframeP + 10236)&7; + // use 1 HARQ proces of BL/CE UE for now + if (UE_list->UE_template[pCCid][UE_id].rach_resource_type > 0) harq_pid = 0; + switch (harq_indication_fdd->mode) { case 0: // Format 1a/b (10.1.2.1) AssertFatal(numCC==1,"numCC %d > 1, should not be using Format1a/b\n",numCC); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index a92c3419f9..becb125dd5 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -107,7 +107,7 @@ void rx_sdu(const module_id_t enb_mod_idP, #ifdef Rel14 if (UE_list->UE_template[CC_idP][UE_id].rach_resource_type > 0) harq_pid=0; #endif - LOG_D(MAC,"[eNB %d][PUSCH %d] CC_id %d Received ULSCH sdu round %d from PHY (rnti %x, UE_id %d) ul_cqi %d\n",enb_mod_idP,harq_pid,CC_idP, UE_list->UE_sched_ctrl[UE_id].round_UL[CC_idP][harq_pid], + LOG_I(MAC,"[eNB %d][PUSCH %d] CC_id %d Received ULSCH sdu round %d from PHY (rnti %x, UE_id %d) ul_cqi %d\n",enb_mod_idP,harq_pid,CC_idP, UE_list->UE_sched_ctrl[UE_id].round_UL[CC_idP][harq_pid], current_rnti, UE_id,ul_cqi); AssertFatal(UE_list->UE_sched_ctrl[UE_id].round_UL[CC_idP][harq_pid] < 8, @@ -129,7 +129,7 @@ void rx_sdu(const module_id_t enb_mod_idP, } } else { // we've got an error - LOG_D(MAC,"[eNB %d][PUSCH %d] CC_id %d ULSCH in error in round %d, ul_cqi %d\n",enb_mod_idP,harq_pid,CC_idP, + LOG_I(MAC,"[eNB %d][PUSCH %d] CC_id %d ULSCH in error in round %d, ul_cqi %d\n",enb_mod_idP,harq_pid,CC_idP, UE_list->UE_sched_ctrl[UE_id].round_UL[CC_idP][harq_pid],ul_cqi); // AssertFatal(1==0,"ulsch in error\n"); @@ -1284,6 +1284,8 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, nfapi_ul_config_request_body_t *ul_req_tmp = &eNB->UL_req_tmp[CC_id][sched_subframeP].ul_config_request_body; // loop over all active UEs + if ((frameP&1) == 1) return; + for (UE_id=UE_list->head_ul; UE_id>=0; UE_id=UE_list->next_ul[UE_id]) { if (UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id].rach_resource_type == 0) continue; @@ -1319,7 +1321,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP] = UE_template->ul_total_buffer; VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_UE0_BO,RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP]); - if (UE_is_to_be_scheduled(module_idP,CC_id,UE_id) > 0 || round > 0)// || ((frameP%10)==0)) + if ((UE_template->ul_SR >0 || round > 0 || status < RRC_CONNECTED)&&(subframeP==5)) // if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames { LOG_I(MAC,"[eNB %d][PUSCH %d] Frame %d subframe %d Scheduling UE %d/%x in round %d(SR %d,UL_inactivity timer %d,UL_failure timer %d,cqi_req_timer %d)\n", @@ -1333,15 +1335,22 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, emtc_active[CC_id]=1; UE_template->ul_SR = 0; status = mac_eNB_get_rrc_status(module_idP,rnti); + + /* if (status < RRC_CONNECTED) cqi_req = 0; - else if (UE_sched_ctrl->cqi_req_timer>30) { + else if (UE_sched_ctrl->cqi_req_timer>300) { cqi_req = 1; UE_sched_ctrl->cqi_req_timer=0; + } else cqi_req = 0; + */ + cqi_req = 0; + UE_template->oldCQI_UL[harq_pid] = cqi_req; + //power control //compute the expected ULSCH RX power (for the stats) @@ -1370,6 +1379,9 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, tpc = 1; //0 } //tpc = 1; + + UE_template->oldTPC_UL[harq_pid] = tpc; + if (tpc!=1) { LOG_D(MAC,"[eNB %d] ULSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", module_idP,frameP,subframeP,harq_pid,tpc, @@ -1401,16 +1413,10 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, T_INT(subframeP), T_INT(harq_pid), T_INT(UE_template->mcs_UL[harq_pid]), T_INT(0), T_INT(6), T_INT(UE_template->TBS_UL[harq_pid]), T_INT(ndi)); - if (mac_eNB_get_rrc_status(module_idP,rnti) < RRC_CONNECTED) - LOG_D(MAC,"[eNB %d][PUSCH %d/%x] CC_id %d Frame %d subframeP %d Scheduled UE %d (mcs %d, first rb %d, nb_rb %d, TBS %d, harq_pid %d)\n", - module_idP,harq_pid,rnti,CC_id,frameP,subframeP,UE_id,UE_template->mcs_UL[harq_pid], - 0,6, - UE_template->TBS_UL[harq_pid],harq_pid); - // bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB) //store for possible retransmission UE_template->nb_rb_ul[harq_pid] = 6; - UE_template->first_rb_ul[harq_pid] = narrowband_to_first_rb (cc, 2); + UE_sched_ctrl->ul_scheduled |= (1<head) @@ -1428,8 +1434,6 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, // save it for a potential retransmission UE_template->cshift[harq_pid] = cshift; - LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL 6-0A MPDCCH for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d\n", - harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP); AssertFatal (UE_template->physicalConfigDedicated != NULL, "UE_template->physicalConfigDedicated is null\n"); AssertFatal (UE_template->physicalConfigDedicated->ext4 != NULL, @@ -1453,7 +1457,12 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 is null"); AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present==EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310_PR_setup, "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present is not setup\n"); - + + LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL 6-0A MPDCCH for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d,UESS MPDCCH Narrowband %d\n", + harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP,(int)epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); + + UE_template->first_rb_ul[harq_pid] = narrowband_to_first_rb (cc, + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci+eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_hi]; memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); @@ -1488,7 +1497,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, "epdcch_setconfig_r11->ext2->mpdcch_config_r13->mpdcch_pdsch_HoppingConfig_r13 is not off\n"); hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.frequency_hopping_flag = 1-epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.redudency_version = 0; - hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.new_data_indication = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.new_data_indication = UE_template->oldNDI_UL[harq_pid]; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.harq_process = 0; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tpc = tpc; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.csi_request = cqi_req; @@ -1504,8 +1513,9 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci++; - LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL CONFIG.Request for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d\n", - harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP); + LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL CONFIG.Request for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d, UESS mpdcch narrowband %d\n", + harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP, + (int)epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); fill_nfapi_ulsch_config_request_rel8(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], @@ -1553,6 +1563,84 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, T_INT(subframeP), T_INT(harq_pid), T_INT(UE_template->mcs_UL[harq_pid]), T_INT(0), T_INT(6), T_INT(round)); + AssertFatal (UE_template->physicalConfigDedicated != NULL, + "UE_template->physicalConfigDedicated is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4 != NULL, + "UE_template->physicalConfigDedicated->ext4 is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11 != NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11 is null\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present == EPDCCH_Config_r11__config_r11_PR_setup, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.present != setup\n"); + AssertFatal (UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 != NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11 = NULL\n"); + EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11 = UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11->list.array[0]; + AssertFatal(epdcch_setconfig_r11 != NULL, "epdcch_setconfig_r11 is null\n"); + AssertFatal(epdcch_setconfig_r11->ext2!=NULL, "epdcch_setconfig_r11->ext2 is null\n"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13!=NULL, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13!=NULL, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->present==EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13_PR_setup, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13->present is not setup\n"); + AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310!=NULL, + "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310 is null"); + AssertFatal(epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present==EPDCCH_SetConfig_r11__ext2__numberPRB_Pairs_v1310_PR_setup, + "epdcch_setconfig_r11->ext2->numberPRB_Pairs_v1310->present is not setup\n"); + + LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL 6-0A MPDCCH for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d,UESS MPDCCH Narrowband %d\n", + harq_pid,frameP,subframeP,UE_id,rnti,sched_frame,sched_subframeP,(int)epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); + + UE_template->first_rb_ul[harq_pid] = narrowband_to_first_rb (cc, + epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); + hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci+eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_hi]; + memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); + + hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_MPDCCH_DCI_PDU_TYPE; + hi_dci0_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_mpdcch_pdu)); + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dci_format = (UE_template->rach_resource_type > 1) ? 5 : 4; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ce_mode = (UE_template->rach_resource_type > 1) ? 2 : 1; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mpdcch_narrowband = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1; + + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_prb_pairs = 6; // checked above that it has to be this + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mpdcch_transmission_type = epdcch_setconfig_r11->transmissionType_r11; // distibuted + + AssertFatal(UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11!=NULL, + "UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11 is null\n"); + + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.start_symbol = *UE_template->physicalConfigDedicated->ext4->epdcch_Config_r11->config_r11.choice.setup.startSymbol_r11; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ecce_index = 0; // Note: this should be dynamic + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.aggreagation_level = 24; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4 + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.rnti_type = 4; // other + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.rnti = rnti; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ce_mode = (UE_template->rach_resource_type < 3) ? 1 : 2; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.drms_scrambling_init = epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.transmission_power = 6000; // 0dB + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.resource_block_start = UE_template->first_rb_ul[harq_pid]; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_resource_blocks = 6; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.mcs = 4; // adjust according to size of RAR, 208 bits with N1A_PRB=3 + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.pusch_repetition_levels = 0; + AssertFatal(epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13== + EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_pdsch_HoppingConfig_r13_off, + "epdcch_setconfig_r11->ext2->mpdcch_config_r13->mpdcch_pdsch_HoppingConfig_r13 is not off\n"); + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.frequency_hopping_flag = 1-epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_pdsch_HoppingConfig_r13; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.redudency_version = rvidx_tab[round&3]; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.new_data_indication = UE_template->oldNDI_UL[harq_pid]; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.harq_process = harq_pid; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tpc = UE_template->oldTPC_UL[harq_pid]; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.csi_request = UE_template->oldCQI_UL[harq_pid]; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ul_inex = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dai_presence_flag = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dl_assignment_index = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.srs_request = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dci_subframe_repetition_number = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tcp_bitmap = 0; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.total_dci_length_include_padding = 29; // hard-coded for 10 MHz + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_tx_antenna_ports = 1; + + eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci++; + fill_nfapi_ulsch_config_request_rel8(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], cqi_req, cc, diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 984cf315b1..68f013e7db 100755 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -2503,7 +2503,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = 18;//ue_context_pP->local_uid; if (carrier->sib1->tdd_Config == NULL) { // FDD - physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 5+(ue_context_pP->local_uid%10); // Isr = 5 (every 10 subframes, offset=2+UE_id mod3) + physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_ConfigIndex = 76+(ue_context_pP->local_uid%10); // Isr = 76 (every 80 subframes, offset=2+UE_id mod3) } else { switch (carrier->sib1->tdd_Config->subframeAssignment) { case 1: diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c index 9ae9606127..736b16422b 100755 --- a/openair2/RRC/LITE/rrc_common.c +++ b/openair2/RRC/LITE/rrc_common.c @@ -332,7 +332,7 @@ rrc_rx_tx( // check for UL failure RB_FOREACH(ue_context_p, rrc_ue_tree_s, &(RC.rrc[ctxt_pP->module_id]->rrc_ue_head)) { - LOG_I(RRC,"SFN.SN %d.%d => release timer %d/%d\n",ctxt_pP->frame,ctxt_pP->subframe, + LOG_D(RRC,"SFN.SN %d.%d => release timer %d/%d\n",ctxt_pP->frame,ctxt_pP->subframe, ue_context_p->ue_context.ue_release_timer,ue_context_p->ue_context.ue_release_timer_thres); if ((ctxt_pP->frame == 0) && (ctxt_pP->subframe==0)) { if (ue_context_p->ue_context.Initialue_identity_s_TMSI.presence == TRUE) { diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 22aff3299d..7b708b5673 100755 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -1154,7 +1154,7 @@ rrc_eNB_generate_RRCConnectionRelease( // set release timer ue_context_pP->ue_context.ue_release_timer=1; // remove UE after 10 frames after RRCConnectionRelease is triggered - ue_context_pP->ue_context.ue_release_timer_thres=100; + ue_context_pP->ue_context.ue_release_timer_thres=1000; LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Logical Channel DL-DCCH, Generate RRCConnectionRelease (bytes %d)\n", PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP), @@ -3890,8 +3890,8 @@ rrc_eNB_generate_RRCConnectionSetup( // activate release timer, if RRCSetupComplete not received after 10 frames, remove UE ue_context_pP->ue_context.ue_release_timer=1; - // remove UE after 10 frames after RRCConnectionRelease is triggered - ue_context_pP->ue_context.ue_release_timer_thres=100; + // remove UE after 100 frames after RRCConnectionRelease is triggered + ue_context_pP->ue_context.ue_release_timer_thres=1000; } diff --git a/targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc b/targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc deleted file mode 100755 index 631f2162bd..0000000000 --- a/targets/ARCH/USRP/USERSPACE/LIB/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -USRP_OBJ += $(OPENAIR_TARGETS)/ARCH/USRP/USERSPACE/LIB/usrp_lib.o -USRP_FILE_OBJ += $(OPENAIR_TARGETS)/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp -USRP_CFLAGS += -I$(OPENAIR_TARGETS)/ARCH/COMMON -I$(OPENAIR_TARGETS)/ARCH/USRP/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/COMMON - diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp old mode 100755 new mode 100644 index 14f4c9d756..8b62a8e698 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -270,11 +270,53 @@ static int sync_to_gps(openair0_device *device) return EXIT_SUCCESS; } +#if defined(USRP_REC_PLAY) +#include "usrp_lib.h" +static FILE *pFile = NULL; +int mmapfd = 0; +struct stat sb; +iqrec_t *ms_sample = NULL; // memory for all subframes +unsigned int nb_samples = 0; +unsigned int cur_samples = 0; +int64_t wrap_count = 0; +int64_t wrap_ts = 0; +unsigned int u_sf_mode = 0; // 1=record, 2=replay +unsigned int u_sf_record = 0; // record mode +unsigned int u_sf_replay = 0; // replay mode +char u_sf_filename[1024]; // subframes file path +unsigned int u_sf_max = DEF_NB_SF; // max number of recorded subframes +unsigned int u_sf_loops = DEF_SF_NB_LOOP; // number of loops in replay mode +unsigned int u_sf_read_delay = DEF_SF_DELAY_READ; // read delay in replay mode +unsigned int u_sf_write_delay = DEF_SF_DELAY_WRITE; // write delay in replay mode +char *tmp_filename[1]; // use an array of pointer (libconfig does not seems to work with char array yet) + +char config_opt_sf_file[] = CONFIG_OPT_SF_FILE; +char config_def_sf_file[] = DEF_SF_FILE; +char config_hlp_sf_file[] = CONFIG_HLP_SF_FILE; +char config_opt_sf_rec[] = CONFIG_OPT_SF_REC; +char config_hlp_sf_rec[] = CONFIG_HLP_SF_REC; +char config_opt_sf_rep[] = CONFIG_OPT_SF_REP; +char config_hlp_sf_rep[] = CONFIG_HLP_SF_REP; +char config_opt_sf_max[] = CONFIG_OPT_SF_MAX; +char config_hlp_sf_max[] = CONFIG_HLP_SF_MAX; +char config_opt_sf_loops[] = CONFIG_OPT_SF_LOOPS; +char config_hlp_sf_loops[] = CONFIG_HLP_SF_LOOPS; +char config_opt_sf_rdelay[] = CONFIG_OPT_SF_RDELAY; +char config_hlp_sf_rdelay[] = CONFIG_HLP_SF_RDELAY; +char config_opt_sf_wdelay[] = CONFIG_OPT_SF_WDELAY; +char config_hlp_sf_wdelay[] = CONFIG_HLP_SF_WDELAY; + +#endif + /*! \brief Called to start the USRP transceiver. Return 0 if OK, < 0 if error @param device pointer to the device structure specific to the RF hardware target */ static int trx_usrp_start(openair0_device *device) { +#if defined(USRP_REC_PLAY) + if (u_sf_mode != 2) { // not replay mode +#endif + usrp_state_t *s = (usrp_state_t*)device->priv; @@ -313,12 +355,21 @@ static int trx_usrp_start(openair0_device *device) { s->rx_count = 0; s->tx_count = 0; s->rx_timestamp = 0; +#if defined(USRP_REC_PLAY) + } +#endif return 0; } /*! \brief Terminate operation of the USRP transceiver -- free all associated resources * \param device the hardware to use */ static void trx_usrp_end(openair0_device *device) { +#if defined(USRP_REC_PLAY) // For some ugly reason, this can be called several times... + static int done = 0; + if (done == 1) return; + done = 1; + if (u_sf_mode != 2) { // not subframes replay +#endif usrp_state_t *s = (usrp_state_t*)device->priv; s->rx_stream->issue_stream_cmd(uhd::stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS); @@ -326,7 +377,45 @@ static void trx_usrp_end(openair0_device *device) { s->tx_md.end_of_burst = true; s->tx_stream->send("", 0, s->tx_md); s->tx_md.end_of_burst = false; - +#if defined(USRP_REC_PLAY) + } +#endif +#if defined(USRP_REC_PLAY) + if (u_sf_mode == 1) { // subframes store + pFile = fopen (u_sf_filename,"wb+"); + if (pFile == NULL) { + std::cerr << "Cannot open " << u_sf_filename << std::endl; + } else { + unsigned int i = 0; + unsigned int modu = 0; + if ((modu = nb_samples % 10) != 0) { + nb_samples -= modu; // store entire number of frames + } + std::cerr << "Writing " << nb_samples << " subframes to " << u_sf_filename << " ..." << std::endl; + for (i = 0; i < nb_samples; i++) { + fwrite(ms_sample+i, sizeof(unsigned char), sizeof(iqrec_t), pFile); + } + fclose (pFile); + std::cerr << "File " << u_sf_filename << " closed." << std::endl; + } + } + if (u_sf_mode == 1) { // record + if (ms_sample != NULL) { + free((void*)ms_sample); + ms_sample = NULL; + } + } + if (u_sf_mode == 2) { // replay + if (ms_sample != MAP_FAILED) { + munmap(ms_sample, sb.st_size); + ms_sample = NULL; + } + if (mmapfd != 0) { + close(mmapfd); + mmapfd = 0; + } + } +#endif } /*! \brief Called to send samples to the USRP RF target @@ -339,6 +428,9 @@ static void trx_usrp_end(openair0_device *device) { */ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp, void **buff, int nsamps, int cc, int flags) { int ret=0; +#if defined(USRP_REC_PLAY) + if (u_sf_mode != 2) { // not replay mode +#endif usrp_state_t *s = (usrp_state_t*)device->priv; int nsamps2; // aligned to upper 32 or 16 byte boundary @@ -405,6 +497,15 @@ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp, if (ret != nsamps) LOG_E(PHY,"[xmit] tx samples %d != %d\n",ret,nsamps); +#if defined(USRP_REC_PLAY) + } else { + struct timespec req; + req.tv_sec = 0; + req.tv_nsec = u_sf_write_delay * 1000; + nanosleep(&req, NULL); + ret = nsamps; + } +#endif return ret; } @@ -421,9 +522,12 @@ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp, * \returns the number of sample read */ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc) { - usrp_state_t *s = (usrp_state_t*)device->priv; - int samples_received=0,i,j; - int nsamps2; // aligned to upper 32 or 16 byte boundary + usrp_state_t *s = (usrp_state_t*)device->priv; + int samples_received=0,i,j; + int nsamps2; // aligned to upper 32 or 16 byte boundary +#if defined(USRP_REC_PLAY) + if (u_sf_mode != 2) { // not replay mode +#endif #if defined(__x86_64) || defined(__i386__) #ifdef __AVX2__ nsamps2 = (nsamps+7)>>3; @@ -490,7 +594,45 @@ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp s->rx_count += nsamps; s->rx_timestamp = s->rx_md.time_spec.to_ticks(s->sample_rate); *ptimestamp = s->rx_timestamp; - return samples_received; +#if defined (USRP_REC_PLAY) + } +#endif +#if defined(USRP_REC_PLAY) + if (u_sf_mode == 1) { // record mode + // Copy subframes to memory (later dump on a file) + if (nb_samples < u_sf_max) { + (ms_sample+nb_samples)->header = BELL_LABS_IQ_HEADER; + (ms_sample+nb_samples)->ts = *ptimestamp; + memcpy((ms_sample+nb_samples)->samples, buff[0], nsamps*4); + nb_samples++; + } + } else if (u_sf_mode == 2) { // replay mode + if (cur_samples == nb_samples) { + cur_samples = 0; + wrap_count++; + if (wrap_count == u_sf_loops) { + std::cerr << "USRP device terminating subframes replay mode after " << u_sf_loops << " loops." << std::endl; + return 0; // should make calling process exit + } + wrap_ts = wrap_count * (nb_samples * (((int)(device->openair0_cfg[0].sample_rate)) / 1000)); + } + if (cur_samples < nb_samples) { + *ptimestamp = (ms_sample[0].ts + (cur_samples * (((int)(device->openair0_cfg[0].sample_rate)) / 1000))) + wrap_ts; + if (cur_samples == 0) { + std::cerr << "starting subframes file with wrap_count=" << wrap_count << " wrap_ts=" << wrap_ts + << " ts=" << *ptimestamp << std::endl; + } + memcpy(buff[0], &ms_sample[cur_samples].samples[0], nsamps*4); + cur_samples++; + } + struct timespec req; + req.tv_sec = 0; + req.tv_nsec = u_sf_read_delay * 1000; + nanosleep(&req, NULL); + return nsamps; + } +#endif + return samples_received; } /*! \brief Compares two variables within precision @@ -567,7 +709,6 @@ int trx_usrp_set_gains(openair0_device* device, usrp_state_t *s = (usrp_state_t*)device->priv; ::uhd::gain_range_t gain_range_tx = s->usrp->get_tx_gain_range(0); s->usrp->set_tx_gain(gain_range_tx.stop()-openair0_cfg[0].tx_gain[0]); - ::uhd::gain_range_t gain_range = s->usrp->get_rx_gain_range(0); // limit to maximum gain if (openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0] > gain_range.stop()) { @@ -685,12 +826,135 @@ int trx_usrp_reset_stats(openair0_device* device) { return(0); } +#if defined(USRP_REC_PLAY) +extern "C" { +/*! \brief Initializer for USRP record/playback config + * \param parameter array description + * \returns 0 on success + */ +int trx_usrp_recplay_config_init(paramdef_t *usrp_recplay_params) { + // --subframes-file + memcpy(usrp_recplay_params[0].optname, config_opt_sf_file, strlen(config_opt_sf_file)); + usrp_recplay_params[0].helpstr = config_hlp_sf_file; + usrp_recplay_params[0].paramflags=PARAMFLAG_NOFREE; + usrp_recplay_params[0].strptr=(char **)&tmp_filename[0]; + usrp_recplay_params[0].defstrval = NULL; + usrp_recplay_params[0].type=TYPE_STRING; + usrp_recplay_params[0].numelt=sizeof(u_sf_filename); + // --subframes-record + memcpy(usrp_recplay_params[1].optname, config_opt_sf_rec, strlen(config_opt_sf_rec)); + usrp_recplay_params[1].helpstr = config_hlp_sf_rec; + usrp_recplay_params[1].paramflags=PARAMFLAG_BOOL; + usrp_recplay_params[1].uptr=&u_sf_record; + usrp_recplay_params[1].defuintval=0; + usrp_recplay_params[1].type=TYPE_UINT; + usrp_recplay_params[1].numelt=0; + // --subframes-replay + memcpy(usrp_recplay_params[2].optname, config_opt_sf_rep, strlen(config_opt_sf_rep)); + usrp_recplay_params[2].helpstr = config_hlp_sf_rep; + usrp_recplay_params[2].paramflags=PARAMFLAG_BOOL; + usrp_recplay_params[2].uptr=&u_sf_replay; + usrp_recplay_params[2].defuintval=0; + usrp_recplay_params[2].type=TYPE_UINT; + usrp_recplay_params[2].numelt=0; + // --subframes-max + memcpy(usrp_recplay_params[3].optname, config_opt_sf_max, strlen(config_opt_sf_max)); + usrp_recplay_params[3].helpstr = config_hlp_sf_max; + usrp_recplay_params[3].paramflags=0; + usrp_recplay_params[3].uptr=&u_sf_max; + usrp_recplay_params[3].defuintval=DEF_NB_SF; + usrp_recplay_params[3].type=TYPE_UINT; + usrp_recplay_params[3].numelt=0; + // --subframes-loops + memcpy(usrp_recplay_params[4].optname, config_opt_sf_loops, strlen(config_opt_sf_loops)); + usrp_recplay_params[4].helpstr = config_hlp_sf_loops; + usrp_recplay_params[4].paramflags=0; + usrp_recplay_params[4].uptr=&u_sf_loops; + usrp_recplay_params[4].defuintval=DEF_SF_NB_LOOP; + usrp_recplay_params[4].type=TYPE_UINT; + usrp_recplay_params[4].numelt=0; + // --subframes-read-delay + memcpy(usrp_recplay_params[5].optname, config_opt_sf_rdelay, strlen(config_opt_sf_rdelay)); + usrp_recplay_params[5].helpstr = config_hlp_sf_rdelay; + usrp_recplay_params[5].paramflags=0; + usrp_recplay_params[5].uptr=&u_sf_read_delay; + usrp_recplay_params[5].defuintval=DEF_SF_DELAY_READ; + usrp_recplay_params[5].type=TYPE_UINT; + usrp_recplay_params[5].numelt=0; + // --subframes-write-delay + memcpy(usrp_recplay_params[6].optname, config_opt_sf_wdelay, strlen(config_opt_sf_wdelay)); + usrp_recplay_params[6].helpstr = config_hlp_sf_wdelay; + usrp_recplay_params[6].paramflags=0; + usrp_recplay_params[6].uptr=&u_sf_write_delay; + usrp_recplay_params[6].defuintval=DEF_SF_DELAY_WRITE; + usrp_recplay_params[6].type=TYPE_UINT; + usrp_recplay_params[6].numelt=0; + + return 0; // always ok +} +} +#endif + extern "C" { /*! \brief Initialize Openair USRP target. It returns 0 if OK * \param device the hardware to use * \param openair0_cfg RF frontend parameters set by application */ int device_init(openair0_device* device, openair0_config_t *openair0_cfg) { +#if defined(USRP_REC_PLAY) + paramdef_t usrp_recplay_params[7]; + // to check + static int done = 0; + if (done == 1) { + return 0; + } // prevent from multiple init + done = 1; + // end to check + memset(usrp_recplay_params, 0, 7*sizeof(paramdef_t)); + memset(&u_sf_filename[0], 0, 1024); + tmp_filename[0] = u_sf_filename; + if (trx_usrp_recplay_config_init(usrp_recplay_params) != 0) { + std::cerr << "USRP device record/replay mode configuration error exiting" << std::endl; + return -1; + } + config_process_cmdline(usrp_recplay_params,sizeof(usrp_recplay_params)/sizeof(paramdef_t),NULL); + + if (strlen(tmp_filename[0]) != 0) { + (void) strcpy(u_sf_filename, tmp_filename[0]); + } else { + (void) strcpy(u_sf_filename, DEF_SF_FILE); + } + + if (u_sf_replay == 1) u_sf_mode = 2; + if (u_sf_record == 1) u_sf_mode = 1; + + if (u_sf_mode == 2) { + // Replay subframes from from file + int bw_gain_adjust=0; + device->openair0_cfg = openair0_cfg; + device->type = USRP_B200_DEV; + openair0_cfg[0].rx_gain_calib_table = calib_table_b210_38; + bw_gain_adjust=1; + openair0_cfg[0].tx_sample_advance = 80; + openair0_cfg[0].tx_bw = 20e6; + openair0_cfg[0].rx_bw = 20e6; + openair0_cfg[0].iq_txshift = 4;//shift + openair0_cfg[0].iq_rxrescale = 15;//rescale iqs + set_rx_gain_offset(&openair0_cfg[0],0,bw_gain_adjust); + device->priv = NULL; + device->trx_start_func = trx_usrp_start; + device->trx_write_func = trx_usrp_write; + device->trx_read_func = trx_usrp_read; + device->trx_get_stats_func = trx_usrp_get_stats; + device->trx_reset_stats_func = trx_usrp_reset_stats; + device->trx_end_func = trx_usrp_end; + device->trx_stop_func = trx_usrp_stop; + device->trx_set_freq_func = trx_usrp_set_freq; + device->trx_set_gains_func = trx_usrp_set_gains; + device->openair0_cfg = openair0_cfg; + std::cerr << "USRP device initialized in subframes replay mode for " << u_sf_loops << " loops." << std::endl; + } else { +#endif uhd::set_thread_priority_safe(1.0); usrp_state_t *s = (usrp_state_t*)calloc(sizeof(usrp_state_t),1); @@ -706,6 +970,11 @@ extern "C" { int vers=0,subvers=0,subsubvers=0; int bw_gain_adjust=0; +#if defined(USRP_REC_PLAY) + if (u_sf_mode == 1) { + std::cerr << "USRP device initialized in subframes record mode" << std::endl; + } +#endif sscanf(uhd::get_version_string().c_str(),"%d.%d.%d",&vers,&subvers,&subsubvers); LOG_I(PHY,"Checking for USRPs : UHD %s (%d.%d.%d)\n", uhd::get_version_string().c_str(),vers,subvers,subsubvers); @@ -743,7 +1012,9 @@ extern "C" { //s->usrp->set_master_clock_rate(usrp_master_clock); openair0_cfg[0].rx_gain_calib_table = calib_table_x310; - +#if defined(USRP_REC_PLAY) + std::cerr << "-- Using calibration table: calib_table_x310" << std::endl; // Bell Labs info +#endif switch ((int)openair0_cfg[0].sample_rate) { case 30720000: // from usrp_time_offset @@ -802,9 +1073,15 @@ extern "C" { if ((vers == 3) && (subvers == 9) && (subsubvers>=2)) { openair0_cfg[0].rx_gain_calib_table = calib_table_b210; bw_gain_adjust=0; +#if defined(USRP_REC_PLAY) + std::cerr << "-- Using calibration table: calib_table_b210" << std::endl; // Bell Labs info +#endif } else { openair0_cfg[0].rx_gain_calib_table = calib_table_b210_38; bw_gain_adjust=1; +#if defined(USRP_REC_PLAY) + std::cerr << "-- Using calibration table: calib_table_b210_38" << std::endl; // Bell Labs info +#endif } switch ((int)openair0_cfg[0].sample_rate) { @@ -966,6 +1243,45 @@ extern "C" { } } +#if defined(USRP_REC_PLAY) + } +#endif +#if defined(USRP_REC_PLAY) + if (u_sf_mode == 1) { // record mode + ms_sample = (iqrec_t*) malloc(u_sf_max * sizeof(iqrec_t)); + if (ms_sample == NULL) { + std::cerr<< "Memory allocation failed for subframe record or replay mode." << std::endl; + exit(-1); + } + memset(ms_sample, 0, u_sf_max * BELL_LABS_IQ_BYTES_PER_SF); + } + if (u_sf_mode == 2) { + // use mmap + mmapfd = open(u_sf_filename, O_RDONLY | O_LARGEFILE); + if (mmapfd != 0) { + fstat(mmapfd, &sb); + std::cerr << "Loading subframes using mmap() from " << u_sf_filename << " size=" << (uint64_t)sb.st_size << " bytes ..." << std::endl; + ms_sample = (iqrec_t*) mmap(NULL, sb.st_size, PROT_WRITE, MAP_PRIVATE, mmapfd, 0); + if (ms_sample != MAP_FAILED) { + nb_samples = (sb.st_size / sizeof(iqrec_t)); + int aligned = (((unsigned long)ms_sample & 31) == 0)? 1:0; + std::cerr<< "Loaded "<< nb_samples << " subframes." << std::endl; + if (aligned == 0) { + std::cerr<< "mmap address is not 32 bytes aligned, exiting." << std::endl; + close(mmapfd); + exit(-1); + } + } else { + std::cerr << "Cannot mmap file, exiting." << std::endl; + close(mmapfd); + exit(-1); + } + } else { + std::cerr << "Cannot open " << u_sf_filename << " , exiting." << std::endl; + exit(-1); + } + } +#endif return 0; } } diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 54693f43c8..e1953751ea 100755 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -1237,7 +1237,7 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) { cfg->tx_freq[i] = (double)fp->dl_CarrierFreq; cfg->rx_freq[i] = (double)fp->ul_CarrierFreq; - cfg->tx_gain[i] = (double)fp->att_tx; + cfg->tx_gain[i] = 10.0;//(double)fp->att_tx; cfg->rx_gain[i] = ru->max_rxgain-(double)fp->att_rx; cfg->configFilename = rf_config_file; From 8d5a66e537e2c220682058f3eab7cea70e5276a4 Mon Sep 17 00:00:00 2001 From: yilmazt Date: Wed, 27 Jun 2018 11:46:06 +0200 Subject: [PATCH 089/109] edci.c minor increment update --- openair1/PHY/LTE_TRANSPORT/edci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 546ff4a4f0..4789cc68b8 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -441,7 +441,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, re_offset -= (fp->ofdm_symbol_size - 1); txF = &txdataF[0][symbol_offset + re_offset + fp->ofdm_symbol_size*soffset[lprime]]; } - for (int mprime=0;mprime<3;mprime++,i++) { + for (int mprime=0;mprime<3;mprime++,i+=2) { if ((i & 0x1f) == 0) { s = lte_gold_generic(&x1, &x2, reset); From 007b003d0c22dc6a4fc611316db35f6a91e8109d Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 29 Oct 2018 18:33:02 +0100 Subject: [PATCH 090/109] dlsim functional after develop->enhancement-ltem --- openair1/PHY/INIT/lte_init.c | 3 - openair1/PHY/LTE_TRANSPORT/dci.c | 18 --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 45 ++----- openair1/PHY/LTE_TRANSPORT/dci_tools_common.c | 40 +++--- openair1/PHY/LTE_TRANSPORT/edci.c | 10 +- openair1/PHY/LTE_TRANSPORT/transport_eNB.h | 6 +- openair1/SCHED/fapi_l1.c | 18 +-- openair1/SCHED/phy_procedures_lte_eNb.c | 120 +++++++++--------- openair1/SCHED/prach_procedures.c | 5 +- openair2/COMMON/rrc_messages_types.h | 62 --------- 10 files changed, 115 insertions(+), 212 deletions(-) diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c index a292ae5a90..4631fb0752 100755 --- a/openair1/PHY/INIT/lte_init.c +++ b/openair1/PHY/INIT/lte_init.c @@ -872,9 +872,6 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB, pusch_vars[UE_id]->llr = (int16_t*)malloc16_clear( (8*((3*8*6144)+12))*sizeof(int16_t) ); } //UE_id - pusch_vars[UE_id]->llr = (int16_t *) malloc16_clear ((8 * ((3 * 8 * 6144) + 12)) * sizeof (int16_t)); - } //UE_id - for (UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++) eNB->UE_stats_ptr[UE_id] = &eNB->UE_stats[UE_id]; diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c index cea619eef1..a2f1bad1dc 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci.c +++ b/openair1/PHY/LTE_TRANSPORT/dci.c @@ -118,24 +118,6 @@ uint8_t *generate_dci0(uint8_t *dci, uint8_t dci_flip[8]; - AssertFatal((aggregation_level==1) || - (aggregation_level==2) || - (aggregation_level==4) || - (aggregation_level==8) -#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) // Added for EPDCCH/MPDCCH - || - (aggregation_level==16) || - (aggregation_level==24) || - (aggregation_level==32) -#endif - , - "generate_dci FATAL, illegal aggregation_level %d\n",aggregation_level); - - - coded_bits = 72 * aggregation_level; - - - #ifdef DEBUG_DCI_ENCODING for (int i=0;i<1+((DCI_LENGTH+16)/8);i++) printf("i %d : %x\n",i,dci[i]); diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index c216f7d5d7..cf2954df77 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -42,31 +42,6 @@ //#define DEBUG_HARQ -void conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) -{ - - - int RIV = resource_block_coding&31; - int narrowband = resource_block_coding>>5; - int N_NB_DL = N_RB_DL / 6; - int i0 = (N_RB_DL >> 1) - (3 * N_NB_DL); - int first_rb = (6 * narrowband) + i0; - int alloc = localRIV2alloc_LUT6[RIV]; - int ind = first_rb >> 5; - int ind_mod = first_rb & 31; - - AssertFatal(RIV<32,"RIV is %d > 31\n"); - - if (((N_RB_DL & 1) > 0) && (narrowband >= (N_NB_DL >> 1))) - first_rb++; - rb_alloc[0] = 0; - rb_alloc[1] = 0; - rb_alloc[2] = 0; - rb_alloc[3] = 0; - rb_alloc[ind] = alloc << ind_mod; - if (ind_mod > 26) - rb_alloc[ind + 1] = alloc >> (6 - (ind_mod - 26)); -} #include "LAYER2/MAC/mac.h" @@ -1572,11 +1547,9 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0_harq = dlsch0->harq_processes[rel13->harq_process]; dci_alloc->ra_flag = 0; - dlsch0->ra_flag = 0; if (rel13->rnti_type == 2) { dci_alloc->ra_flag = 1; - dlsch0->ra_flag = 1; } AssertFatal (fp->frame_type == FDD, "TDD is not supported yet for eMTC\n"); @@ -1804,8 +1777,8 @@ fill_mdci_and_dlsch (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dlsch0_harq->frame = (subframe >= 8) ? ((frame + 1) & 1023) : frame; dlsch0_harq->subframe = (subframe + 2) % 10; - LOG_I(PHY,"Setting DLSCH harq_ids[%d] to %d\n",dlsch0_harq->subframe,dlsch0->harq_ids[dlsch0_harq->subframe]); - dlsch0->harq_ids[dlsch0_harq->subframe] = rel13->harq_process; + LOG_I(PHY,"Setting DLSCH harq_ids[%d] to %d\n",dlsch0_harq->subframe,dlsch0->harq_ids[frame%2][dlsch0_harq->subframe]); + dlsch0->harq_ids[frame%2][dlsch0_harq->subframe] = rel13->harq_process; dlsch0_harq->pdsch_start = rel13->start_symbol; LOG_I(PHY,"Setting DLSCH harq %d round %d to active for %d.%d\n",rel13->harq_process,dlsch0_harq->round,dlsch0_harq->frame,dlsch0_harq->subframe); @@ -1994,7 +1967,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc, } -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) int get_narrowband_index(int N_RB_UL,int rb) { switch (N_RB_UL) { @@ -2028,8 +2001,16 @@ void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu //AssertFatal((UE_id=find_ulsch(ulsch_pdu->ulsch_pdu_rel8.rnti,eNB,SEARCH_EXIST_OR_FREE))>=0, // "No existing/free UE ULSCH for rnti %x\n",ulsch_pdu->ulsch_pdu_rel8.rnti); + LTE_eNB_ULSCH_t *ulsch=eNB->ulsch[UE_id]; + LTE_DL_FRAME_PARMS *frame_parms = &eNB->frame_parms; -#ifdef Rel14 + int use_srs = 0; + + harq_pid = ulsch_pdu->ulsch_pdu_rel8.harq_process_number; + + ulsch->harq_mask |= 1 << harq_pid; + +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ulsch->ue_type = ulsch_pdu->ulsch_pdu_rel13.ue_type; AssertFatal(harq_pid ==0, "Harq PID is not zero for BL/CE UE\n"); @@ -2171,7 +2152,7 @@ fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci T_INT (mcs), T_INT (-1 /* TODO: remove round? */ ), T_INT (rel13->resource_block_start), T_INT (rel13->number_of_resource_blocks), - T_INT (get_TBS_UL (mcs, rel13->number_of_resource_blocks) * 8), T_INT (rel13->aggregation_level), T_INT (rel13->cce_index)); + T_INT (get_TBS_UL (mcs, rel13->number_of_resource_blocks) * 8), T_INT (rel13->aggreagation_level), T_INT (rel13->ecce_index)); #endif void *dci_pdu = (void *) dci_alloc->dci_pdu; diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c b/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c index c1b8ead8e9..56dc211cc4 100644 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c @@ -283,29 +283,33 @@ uint16_t get_nCCE_mac(uint8_t Mod_id,uint8_t CC_id,int num_pdcch_symbols,int sub } -void conv_eMTC_rballoc(uint16_t resource_block_coding, - uint32_t N_RB_DL, - uint32_t *rb_alloc) { +void conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32_t * rb_alloc) +{ - int narrowband = resource_block_coding>>5; - int RIV = resource_block_coding&31; - int N_NB_DL = N_RB_DL/6; - int i0 = (N_RB_DL>>1) - (3*N_NB_DL); - int first_rb = (6*narrowband)+i0; - int alloc = localRIV2alloc_LUT6[RIV]; - int ind = first_rb>>5; - int ind_mod = first_rb&31; + int RIV = resource_block_coding&31; + int narrowband = resource_block_coding>>5; + int N_NB_DL = N_RB_DL / 6; + int i0 = (N_RB_DL >> 1) - (3 * N_NB_DL); + int first_rb = (6 * narrowband) + i0; + int alloc = localRIV2alloc_LUT6[RIV]; + int ind = first_rb >> 5; + int ind_mod = first_rb & 31; - if (((N_RB_DL&1) > 0) && (narrowband>=(N_NB_DL>>1))) first_rb++; - rb_alloc[0] = 0; - rb_alloc[1] = 0; - rb_alloc[2] = 0; - rb_alloc[3] = 0; - rb_alloc[ind] = alloc< 26) rb_alloc[ind+1] = alloc>>(6-(ind_mod-26)); + AssertFatal(RIV<32,"RIV is %d > 31\n"); + + if (((N_RB_DL & 1) > 0) && (narrowband >= (N_NB_DL >> 1))) + first_rb++; + rb_alloc[0] = 0; + rb_alloc[1] = 0; + rb_alloc[2] = 0; + rb_alloc[3] = 0; + rb_alloc[ind] = alloc << ind_mod; + if (ind_mod > 26) + rb_alloc[ind + 1] = alloc >> (6 - (ind_mod - 26)); } + void conv_rballoc(uint8_t ra_header,uint32_t rb_alloc,uint32_t N_RB_DL,uint32_t *rb_alloc2) { diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 02bd59531b..04cfeecf1c 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -34,15 +34,15 @@ #include #include #include -#include "PHY/defs.h" -#include "PHY/extern.h" -#include "SCHED/defs.h" -#include "SIMULATION/TOOLS/defs.h" // for taus +#include "PHY/defs_eNB.h" +#include "PHY/phy_extern.h" +#include "SCHED/sched_eNB.h" +#include "SIMULATION/TOOLS/sim.h" // for taus #include "PHY/sse_intrin.h" #include "assertions.h" #include "T.h" -#include "UTIL/LOG/log.h" +#include "common/utils/LOG/log.h" //#define DEBUG_DCI_ENCODING 1 //#define DEBUG_DCI_DECODING 1 diff --git a/openair1/PHY/LTE_TRANSPORT/transport_eNB.h b/openair1/PHY/LTE_TRANSPORT/transport_eNB.h index 0e5eee4b95..e7c752fd6f 100755 --- a/openair1/PHY/LTE_TRANSPORT/transport_eNB.h +++ b/openair1/PHY/LTE_TRANSPORT/transport_eNB.h @@ -127,7 +127,7 @@ typedef struct { /// codeword this transport block is mapped to uint8_t codeword; #ifdef PHY_TX_THREAD -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) /// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling uint8_t sib1_br_flag; /// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling @@ -444,6 +444,10 @@ typedef struct { } LTE_eNB_UE_stats; typedef struct { +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + /// UE type (normal, CEModeA, CEModeB) + uint8_t ue_type; +#endif /// HARQ process mask, indicates which processes are currently active uint16_t harq_mask; /// Pointers to 8 HARQ processes for the ULSCH diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 5bc995aeae..35e3aed5d6 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -204,7 +204,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr // compute DL power control parameters eNB->pdsch_config_dedicated[UE_id].p_a = rel8->pa; -#ifdef PHY_TX_THREAD +#ifdef PHY_TX_THREAD if (dlsch0->active[proc->subframe_tx]){ # else if (dlsch0->active){ @@ -254,7 +254,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr #endif if ((rel13->pdsch_payload_type <2) && (rel13->ue_type>0)) { // this is a BR/CE UE and SIB1-BR/SI-BR - UE_id = find_dlsch(rel8->rnti,eNB,SEARCH_FREE); + UE_id = find_dlsch(rel8->rnti,eNB,SEARCH_EXIST_OR_FREE); AssertFatal(UE_id!=-1,"no free or exiting dlsch_context\n"); AssertFatal(UE_id= %d(NUMBER_OF_UE_MAX)\n",UE_id,NUMBER_OF_UE_MAX); @@ -272,7 +272,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr dlsch0->i0 = rel13->initial_transmission_sf_io; dlsch0_harq->pdsch_start = rel10->pdsch_start; - dlsch0->harq_ids[proc->subframe_tx] = 0; + dlsch0->harq_ids[frame%2][proc->subframe_tx] = 0; dlsch0_harq->frame = proc->frame_tx; dlsch0_harq->subframe = proc->subframe_tx; @@ -361,7 +361,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr #endif dlsch0->active = 1; - harq_pid = dlsch0->harq_ids[proc->subframe_tx]; + harq_pid = dlsch0->harq_ids[frame%2][proc->subframe_tx]; dlsch0->harq_mask |= (1<=0) && (harq_pid<8),"subframe %d: harq_pid %d not in 0...7\n",proc->subframe_tx,harq_pid); @@ -370,15 +370,15 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr AssertFatal(dlsch0_harq!=NULL,"dlsch_harq is null\n"); // compute DL power control parameters - eNB->pdsch_config_dedicated[UE_id].p_a = rel8->pa; + if (dlsch0->active){ - computeRhoA_eNB(&eNB->pdsch_config_dedicated[UE_id], dlsch0,dlsch0_harq->dl_power_off, eNB->frame_parms.nb_antenna_ports_eNB); - computeRhoB_eNB(&eNB->pdsch_config_dedicated[UE_id],&(eNB->frame_parms.pdsch_config_common),eNB->frame_parms.nb_antenna_ports_eNB,dlsch0,dlsch0_harq->dl_power_off); + computeRhoA_eNB(rel8->pa,dlsch0,dlsch0_harq->dl_power_off, eNB->frame_parms.nb_antenna_ports_eNB); + computeRhoB_eNB(rel8->pa,eNB->frame_parms.pdsch_config_common.p_b,eNB->frame_parms.nb_antenna_ports_eNB,dlsch0,dlsch0_harq->dl_power_off); } if (dlsch1->active){ - computeRhoA_eNB(&eNB->pdsch_config_dedicated[UE_id], dlsch1,dlsch1_harq->dl_power_off, eNB->frame_parms.nb_antenna_ports_eNB); - computeRhoB_eNB(&eNB->pdsch_config_dedicated[UE_id],&(eNB->frame_parms.pdsch_config_common),eNB->frame_parms.nb_antenna_ports_eNB,dlsch1,dlsch1_harq->dl_power_off); + computeRhoA_eNB(rel8->pa, dlsch1,dlsch1_harq->dl_power_off, eNB->frame_parms.nb_antenna_ports_eNB); + computeRhoB_eNB(rel8->pa,eNB->frame_parms.pdsch_config_common.p_b,eNB->frame_parms.nb_antenna_ports_eNB,dlsch1,dlsch1_harq->dl_power_off); } #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 41f6286930..2b349c6210 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -417,7 +417,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, int16_t UE_id=0; uint8_t num_pdcch_symbols=0; uint8_t num_dci=0; -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) uint8_t num_mdci = 0; #endif uint8_t ul_subframe; @@ -468,8 +468,8 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, // (subframe_select(fp,ul_subframe)==SF_UL)) { // This means that there is a potential UL subframe that will be scheduled here if (ul_subframe < 10) { // This means that there is a potential UL subframe that will be scheduled here for (i=0; iulsch[i]->ue_type >0) harq_pid = 0; +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + if (eNB->ulsch[i] && eNB->ulsch[i]->ue_type >0) harq_pid = 0; else #endif harq_pid = subframe2harq_pid(fp,ul_frame,ul_subframe); @@ -526,7 +526,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, eNB->common_vars.txdataF, subframe); -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) num_mdci = eNB->mpdcch_vars[subframe &1].num_dci; if (num_mdci > 0) { LOG_I (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_mdci_top (mpdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_mdci); @@ -653,8 +653,6 @@ void fill_sr_indication(PHY_VARS_eNB *eNB,uint16_t rnti,int frame,int subframe,u int SNRtimes10 = dB_fixed_times10(stat) - 300;//(10*eNB->measurements.n0_power_dB[0]); - int SNRtimes10 = dB_fixed_times10 (stat) - 10 * max (eNB->measurements.n0_subband_power_tot_dB[0], - eNB->measurements.n0_subband_power_tot_dB[eNB->frame_parms.N_RB_UL - 1]); pdu->ul_cqi_information.tl.tag = NFAPI_UL_CQI_INFORMATION_TAG; @@ -841,7 +839,7 @@ void uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) { metric[0] = rx_pucch (eNB, pucch_format1b, i, uci->n_pucch_1_0_sr[0], 0, //n2_pucch uci->srs_active, // shortened format pucch_b0b1[0], frame, subframe, PUCCH1a_THRES -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,uci->ue_type #endif ); @@ -855,7 +853,7 @@ void uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) { metric[res] = rx_pucch (eNB, uci->pucch_fmt, i, uci->n_pucch_1[res][0], 0, // n2_pucch uci->srs_active, // shortened format pucch_b0b1[res], frame, subframe, PUCCH1a_THRES -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,uci->ue_type #endif ); @@ -870,7 +868,7 @@ void uci_procedures (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc) { frame, subframe, PUCCH1a_THRES, -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,uci->ue_type #endif ); @@ -1473,7 +1471,7 @@ void fill_rx_indication(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe) { uint32_t harq_pid; -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) if (eNB->ulsch[UE_id]->ue_type > 0) harq_pid = 0; else #endif @@ -1669,8 +1667,7 @@ int getM(PHY_VARS_eNB *eNB,int frame,int subframe) { AssertFatal(dlsch0_harq!=NULL,"dlsch0_harq is null\n"); if (dlsch0_harq->status == ACTIVE|| (dlsch1_harq!=NULL && dlsch1_harq->status == ACTIVE)) Mtx ++; - >>>>>>> origin/develop - } + } } return (Mtx); } @@ -1681,7 +1678,7 @@ void fill_ulsch_cqi_indication (PHY_VARS_eNB * eNB, uint16_t frame, uint8_t subf pthread_mutex_lock (&eNB->UL_INFO_mutex); nfapi_cqi_indication_pdu_t *pdu = &eNB->UL_INFO.cqi_ind.cqi_pdu_list[eNB->UL_INFO.cqi_ind.number_of_cqis]; nfapi_cqi_indication_raw_pdu_t *raw_pdu = &eNB->UL_INFO.cqi_ind.cqi_raw_pdu_list[eNB->UL_INFO.cqi_ind.number_of_cqis]; - + pdu->rx_ue_information.tl.tag = NFAPI_RX_UE_INFORMATION_TAG; pdu->rx_ue_information.rnti = rnti; if (ulsch_harq->cqi_crc_status != 1) @@ -1709,8 +1706,8 @@ void fill_ulsch_cqi_indication (PHY_VARS_eNB * eNB, uint16_t frame, uint8_t subf LOG_D(PHY,"eNB->UL_INFO.cqi_ind.number_of_cqis:%d\n", eNB->UL_INFO.cqi_ind.number_of_cqis); pthread_mutex_unlock(&eNB->UL_INFO_mutex); - -} } + +} void fill_ulsch_harq_indication (PHY_VARS_eNB * eNB, LTE_UL_eNB_HARQ_t * ulsch_harq, uint16_t rnti, int frame, int subframe, int bundling) { @@ -1735,53 +1732,52 @@ void fill_ulsch_harq_indication (PHY_VARS_eNB * eNB, LTE_UL_eNB_HARQ_t * ulsch_h // pdu->rx_ue_information.handle = handle; pdu->rx_ue_information.tl.tag = NFAPI_RX_UE_INFORMATION_TAG; pdu->rx_ue_information.rnti = rnti; - >>>>>>> origin/develop - - if (eNB->frame_parms.frame_type == FDD) { - pdu->harq_indication_fdd_rel13.tl.tag = NFAPI_HARQ_INDICATION_FDD_REL13_TAG; - pdu->harq_indication_fdd_rel13.mode = 0; - pdu->harq_indication_fdd_rel13.number_of_ack_nack = ulsch_harq->O_ACK; - - for (i = 0; i < ulsch_harq->O_ACK; i++) { - AssertFatal (ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n", i, ulsch_harq->o_ACK[i]); - - pdu->harq_indication_fdd_rel13.harq_tb_n[i] = 2 - ulsch_harq->o_ACK[i]; - // release DLSCH if needed - - release_harq(eNB,UE_id,i,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); - - } - } else { // TDD - M = ul_ACK_subframe2_M (&eNB->frame_parms, subframe); - - pdu->harq_indication_tdd_rel13.tl.tag = NFAPI_HARQ_INDICATION_TDD_REL13_TAG; - pdu->harq_indication_tdd_rel13.mode = 1-bundling; - pdu->harq_indication_tdd_rel13.number_of_ack_nack = ulsch_harq->O_ACK; - - for (i = 0; i < ulsch_harq->O_ACK; i++) { - AssertFatal (ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n", i, ulsch_harq->o_ACK[i]); - - pdu->harq_indication_tdd_rel13.harq_data[0].bundling.value_0 = 2-ulsch_harq->o_ACK[i]; - // release DLSCH if needed - /* TODO: review this code, it's most certainly wrong. - * We have to release the proper HARQ in case of ACK or NACK if max retransmission reached. - * Basically, call release_harq with 1 as last argument when ACK and 0 when NACK. - */ - release_harq(eNB,UE_id,i,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); - if (M==1 && ulsch_harq->O_ACK==1 && ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); - else if (M==1 && ulsch_harq->O_ACK==2 && ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,i,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); - else if (M>1 && ulsch_harq->o_ACK[i] == 1) { - // spatial bundling - release_harq(eNB,UE_id,0,frame,subframe,1<o_ACK[i] == 1); - release_harq(eNB,UE_id,1,frame,subframe,1<o_ACK[i] == 1); - } - } - //LOG_E(PHY,"eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs:%d\n", eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs); - eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs++; - - pthread_mutex_unlock(&eNB->UL_INFO_mutex); - - } + + if (eNB->frame_parms.frame_type == FDD) { + pdu->harq_indication_fdd_rel13.tl.tag = NFAPI_HARQ_INDICATION_FDD_REL13_TAG; + pdu->harq_indication_fdd_rel13.mode = 0; + pdu->harq_indication_fdd_rel13.number_of_ack_nack = ulsch_harq->O_ACK; + + for (i = 0; i < ulsch_harq->O_ACK; i++) { + AssertFatal (ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n", i, ulsch_harq->o_ACK[i]); + + pdu->harq_indication_fdd_rel13.harq_tb_n[i] = 2 - ulsch_harq->o_ACK[i]; + // release DLSCH if needed + + release_harq(eNB,UE_id,i,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); + + } + } else { // TDD + M = ul_ACK_subframe2_M (&eNB->frame_parms, subframe); + + pdu->harq_indication_tdd_rel13.tl.tag = NFAPI_HARQ_INDICATION_TDD_REL13_TAG; + pdu->harq_indication_tdd_rel13.mode = 1-bundling; + pdu->harq_indication_tdd_rel13.number_of_ack_nack = ulsch_harq->O_ACK; + + for (i = 0; i < ulsch_harq->O_ACK; i++) { + AssertFatal (ulsch_harq->o_ACK[i] == 0 || ulsch_harq->o_ACK[i] == 1, "harq_ack[%d] is %d, should be 1,2 or 4\n", i, ulsch_harq->o_ACK[i]); + + pdu->harq_indication_tdd_rel13.harq_data[0].bundling.value_0 = 2-ulsch_harq->o_ACK[i]; + // release DLSCH if needed + /* TODO: review this code, it's most certainly wrong. + * We have to release the proper HARQ in case of ACK or NACK if max retransmission reached. + * Basically, call release_harq with 1 as last argument when ACK and 0 when NACK. + */ + release_harq(eNB,UE_id,i,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); + if (M==1 && ulsch_harq->O_ACK==1 && ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,0,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); + else if (M==1 && ulsch_harq->O_ACK==2 && ulsch_harq->o_ACK[i] == 1) release_harq(eNB,UE_id,i,frame,subframe,0xffff, ulsch_harq->o_ACK[i] == 1); + else if (M>1 && ulsch_harq->o_ACK[i] == 1) { + // spatial bundling + release_harq(eNB,UE_id,0,frame,subframe,1<o_ACK[i] == 1); + release_harq(eNB,UE_id,1,frame,subframe,1<o_ACK[i] == 1); + } + } + //LOG_E(PHY,"eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs:%d\n", eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs); + eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs++; + + pthread_mutex_unlock(&eNB->UL_INFO_mutex); + + } } void fill_uci_harq_indication (PHY_VARS_eNB * eNB, LTE_eNB_UCI * uci, int frame, int subframe, uint8_t * harq_ack, uint8_t tdd_mapping_mode, uint16_t tdd_multiplexing_mask) { diff --git a/openair1/SCHED/prach_procedures.c b/openair1/SCHED/prach_procedures.c index 55b58bb58a..05d202b1f5 100644 --- a/openair1/SCHED/prach_procedures.c +++ b/openair1/SCHED/prach_procedures.c @@ -127,7 +127,7 @@ void prach_procedures(PHY_VARS_eNB *eNB prach_mask = is_prach_subframe (&eNB->frame_parms, eNB->proc.frame_prach_br, eNB->proc.subframe_prach_br); - eNB->UL_INFO.rach_ind_br.preamble_list = eNB->preamble_list_br; + eNB->UL_INFO.rach_ind_br.rach_indication_body.preamble_list = eNB->preamble_list_br; int ind = 0; int ce_level = 0; /* Save for later, it doesn't work @@ -142,7 +142,7 @@ void prach_procedures(PHY_VARS_eNB *eNB if (eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[0] == 1) { if ((eNB->prach_energy_counter == 100) && (max_preamble_energy[0] > eNB->measurements.prach_I0 + 200)) { - eNB->UL_INFO.rach_ind_br.number_of_preambles++; + eNB->UL_INFO.rach_ind_br.rach_indication_body.number_of_preambles++; eNB->preamble_list_br[ind].preamble_rel8.timing_advance = max_preamble_delay[ind]; // eNB->preamble_list_br[ind].preamble_rel8.preamble = max_preamble[ind]; @@ -157,6 +157,7 @@ void prach_procedures(PHY_VARS_eNB *eNB eNB->preamble_list_br[ind].preamble_rel8.timing_advance, eNB->preamble_list_br[ind].preamble_rel8.preamble, eNB->preamble_list_br[ind].preamble_rel8.rnti, eNB->preamble_list_br[ind].preamble_rel13.rach_resource_type); } + } /* ind++; } diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index ee77e1c435..d664c31d22 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -305,68 +305,6 @@ typedef struct RrcConfigurationReq_s { #endif - long prach_root[MAX_NUM_CCs]; - long prach_config_index[MAX_NUM_CCs]; - BOOLEAN_t prach_high_speed[MAX_NUM_CCs]; - long prach_zero_correlation[MAX_NUM_CCs]; - long prach_freq_offset[MAX_NUM_CCs]; - long pucch_delta_shift[MAX_NUM_CCs]; - long pucch_nRB_CQI[MAX_NUM_CCs]; - long pucch_nCS_AN[MAX_NUM_CCs]; -//#if (RRC_VERSION < MAKE_VERSION(10, 0, 0)) - long pucch_n1_AN[MAX_NUM_CCs]; -//#endif - long pdsch_referenceSignalPower[MAX_NUM_CCs]; - long pdsch_p_b[MAX_NUM_CCs]; - long pusch_n_SB[MAX_NUM_CCs]; - long pusch_hoppingMode[MAX_NUM_CCs]; - long pusch_hoppingOffset[MAX_NUM_CCs]; - BOOLEAN_t pusch_enable64QAM[MAX_NUM_CCs]; - BOOLEAN_t pusch_groupHoppingEnabled[MAX_NUM_CCs]; - long pusch_groupAssignment[MAX_NUM_CCs]; - BOOLEAN_t pusch_sequenceHoppingEnabled[MAX_NUM_CCs]; - long pusch_nDMRS1[MAX_NUM_CCs]; - long phich_duration[MAX_NUM_CCs]; - long phich_resource[MAX_NUM_CCs]; - BOOLEAN_t srs_enable[MAX_NUM_CCs]; - long srs_BandwidthConfig[MAX_NUM_CCs]; - long srs_SubframeConfig[MAX_NUM_CCs]; - BOOLEAN_t srs_ackNackST[MAX_NUM_CCs]; - BOOLEAN_t srs_MaxUpPts[MAX_NUM_CCs]; - long pusch_p0_Nominal[MAX_NUM_CCs]; - long pusch_alpha[MAX_NUM_CCs]; - long pucch_p0_Nominal[MAX_NUM_CCs]; - long msg3_delta_Preamble[MAX_NUM_CCs]; - long ul_CyclicPrefixLength[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format1 pucch_deltaF_Format1[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format1b pucch_deltaF_Format1b[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format2 pucch_deltaF_Format2[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format2a pucch_deltaF_Format2a[MAX_NUM_CCs]; - e_DeltaFList_PUCCH__deltaF_PUCCH_Format2b pucch_deltaF_Format2b[MAX_NUM_CCs]; - long rach_numberOfRA_Preambles[MAX_NUM_CCs]; - BOOLEAN_t rach_preamblesGroupAConfig[MAX_NUM_CCs]; - long rach_sizeOfRA_PreamblesGroupA[MAX_NUM_CCs]; - long rach_messageSizeGroupA[MAX_NUM_CCs]; - e_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB rach_messagePowerOffsetGroupB[MAX_NUM_CCs]; - long rach_powerRampingStep[MAX_NUM_CCs]; - long rach_preambleInitialReceivedTargetPower[MAX_NUM_CCs]; - long rach_preambleTransMax[MAX_NUM_CCs]; - long rach_raResponseWindowSize[MAX_NUM_CCs]; - long rach_macContentionResolutionTimer[MAX_NUM_CCs]; - long rach_maxHARQ_Msg3Tx[MAX_NUM_CCs]; - long bcch_modificationPeriodCoeff[MAX_NUM_CCs]; - long pcch_defaultPagingCycle[MAX_NUM_CCs]; - long pcch_nB[MAX_NUM_CCs]; - long ue_TimersAndConstants_t300[MAX_NUM_CCs]; - long ue_TimersAndConstants_t301[MAX_NUM_CCs]; - long ue_TimersAndConstants_t310[MAX_NUM_CCs]; - long ue_TimersAndConstants_t311[MAX_NUM_CCs]; - long ue_TimersAndConstants_n310[MAX_NUM_CCs]; - long ue_TimersAndConstants_n311[MAX_NUM_CCs]; - long ue_TransmissionMode[MAX_NUM_CCs]; - long ue_multiple_max[MAX_NUM_CCs]; - - //TTN - for D2D //SIB18 e_SL_CP_Len_r12 rxPool_sc_CP_Len[MAX_NUM_CCs]; e_SL_PeriodComm_r12 rxPool_sc_Period[MAX_NUM_CCs]; From 2aae8723abf662176da275be2e2ff3f0e3b190f1 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 31 Oct 2018 17:46:04 +0100 Subject: [PATCH 091/109] ulsim is functional --- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 12 +++++++++++- openair1/SIMULATION/LTE_PHY/ulsim.c | 6 +++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index cf2954df77..c23f1a2d1d 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -50,6 +50,8 @@ #include "dci_tools_common_extern.h" #include "transport_proto.h" +//#undef LOG_D +//#define LOG_D(A,B...) printf(B) int16_t find_dlsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type) { @@ -2012,7 +2014,7 @@ void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ulsch->ue_type = ulsch_pdu->ulsch_pdu_rel13.ue_type; - AssertFatal(harq_pid ==0, "Harq PID is not zero for BL/CE UE\n"); + AssertFatal(harq_pid ==0 || ulsch->ue_type == NOCE, "Harq PID is not zero for BL/CE UE\n"); #else @@ -2024,6 +2026,14 @@ void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu LOG_E(PHY, "fill_ulsch UE_id %d nb_rb = 0\n", UE_id); } + ulsch->harq_processes[harq_pid]->frame = frame; + ulsch->harq_processes[harq_pid]->subframe = subframe; + ulsch->harq_processes[harq_pid]->handled = 0; + + ulsch->harq_processes[harq_pid]->first_rb = ulsch_pdu->ulsch_pdu_rel8.resource_block_start; + ulsch->harq_processes[harq_pid]->nb_rb = ulsch_pdu->ulsch_pdu_rel8.number_of_resource_blocks; + + ulsch->harq_processes[harq_pid]->dci_alloc = 1; ulsch->harq_processes[harq_pid]->rar_alloc = 0; ulsch->harq_processes[harq_pid]->n_DMRS = ulsch_pdu->ulsch_pdu_rel8.cyclic_shift_2_for_drms; diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c index 8c09da1daf..04569adf67 100755 --- a/openair1/SIMULATION/LTE_PHY/ulsim.c +++ b/openair1/SIMULATION/LTE_PHY/ulsim.c @@ -500,9 +500,9 @@ int main(int argc, char **argv) { // enable these lines if you need debug info // however itti will catch all signals, so ctrl-c won't work anymore // alternatively you can disable ITTI completely in CMakeLists.txt - //itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL); - //set_comp_log(PHY,LOG_DEBUG,LOG_MED,1); - //set_glog(LOG_DEBUG,LOG_MED); + // itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL); + // set_comp_log(PHY,LOG_DEBUG,LOG_HIGH,1); + // set_glog(LOG_DEBUG,LOG_HIGH); //hapZEbm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:LF static paramdef_t options[] = { { "awgn", "Additive white gaussian noise", PARAMFLAG_BOOL, strptr:NULL, defintval:0, TYPE_INT, 0, NULL, NULL }, From b27ed63fa974a9962f0b0ecdde7bd992440db9d6 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sat, 3 Nov 2018 22:51:24 +0100 Subject: [PATCH 092/109] lte-softmodem compiles, many memory faults during configuration ... --- openair2/COMMON/rrc_messages_types.h | 6 +- openair2/ENB_APP/RRC_paramsvalues.h | 2 + openair2/ENB_APP/enb_config.c | 3043 ++++++++++---------- openair2/ENB_APP/enb_paramdef.h | 244 +- openair2/ENB_APP/enb_paramdef_emtc.h | 231 ++ openair2/ENB_APP/flexran_agent_ran_api.c | 6 +- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 125 +- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 2 - openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 68 +- openair2/LAYER2/MAC/eNB_scheduler_fairRR.c | 4 +- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 77 +- openair2/LAYER2/MAC/mac.h | 113 +- openair2/LAYER2/MAC/rar_tools.c | 116 +- openair2/LAYER2/MAC/ue_procedures.c | 24 +- openair2/PHY_INTERFACE/IF_Module.c | 4 +- openair2/RRC/LTE/MESSAGES/asn1_msg.c | 172 +- openair2/RRC/LTE/rrc_eNB.c | 52 +- openair2/RRC/LTE/rrc_eNB_S1AP.c | 4 +- openair2/RRC/LTE/rrc_proto.h | 6 +- 19 files changed, 2108 insertions(+), 2191 deletions(-) create mode 100644 openair2/ENB_APP/enb_paramdef_emtc.h diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index d664c31d22..d8d5fe5f9d 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -100,9 +100,7 @@ typedef struct RadioResourceConfig_s { long pucch_delta_shift; long pucch_nRB_CQI; long pucch_nCS_AN; -#if !defined(Rel10) && !defined(Rel14) long pucch_n1_AN; -#endif long pdsch_referenceSignalPower; long pdsch_p_b; long pusch_n_SB; @@ -151,6 +149,7 @@ typedef struct RadioResourceConfig_s { long ue_TimersAndConstants_n310; long ue_TimersAndConstants_n311; long ue_TransmissionMode; + long ue_multiple_max; #ifdef Rel14 //SIB2 BR Options long* preambleTransMax_CE_r13; @@ -188,7 +187,8 @@ typedef struct RrcConfigurationReq_s { int16_t N_RB_DL[MAX_NUM_CCs];// for testing, change later int nb_antenna_ports[MAX_NUM_CCs]; - + int eMTC_configured; + int SL_configured; RadioResourceConfig radioresourceconfig[MAX_NUM_CCs]; RadioResourceConfig radioresourceconfig_BR[MAX_NUM_CCs]; diff --git a/openair2/ENB_APP/RRC_paramsvalues.h b/openair2/ENB_APP/RRC_paramsvalues.h index 06fee0e172..cf47b2f97c 100644 --- a/openair2/ENB_APP/RRC_paramsvalues.h +++ b/openair2/ENB_APP/RRC_paramsvalues.h @@ -35,6 +35,8 @@ #define ENB_CONFIG_STRING_ENB_LIST "eNBs" /* component carriers configuration section name */ #define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers" +#define ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS "br_parameters" + #define ENB_CONFIG_STRING_FRAME_TYPE "frame_type" #define ENB_CONFIG_STRING_PBCH_REPETITION "pbch_repetition" diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index aac52d6f2d..bb73797f22 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -83,29 +83,38 @@ void RCconfig_flexran() { into the CCPARAMS_DESC macro and we need it for the Nid_cell variable ... */ char *frame_type, *prefix_type, *pbch_repetition, *prach_high_speed, - *pusch_hoppingMode, *pusch_enable64QAM, *pusch_groupHoppingEnabled, - *pusch_sequenceHoppingEnabled, *phich_duration, *phich_resource, - *srs_enable, *srs_ackNackST, *srs_MaxUpPts, *pusch_alpha, - *pucch_deltaF_Format1, *pucch_deltaF_Format1b, *pucch_deltaF_Format2, - *pucch_deltaF_Format2a, *pucch_deltaF_Format2b, - *rach_preamblesGroupAConfig, *rach_messagePowerOffsetGroupB, *pcch_nB; + *pusch_hoppingMode, *pusch_enable64QAM, *pusch_groupHoppingEnabled, + *pusch_sequenceHoppingEnabled, *phich_duration, *phich_resource, + *srs_enable, *srs_ackNackST, *srs_MaxUpPts, *pusch_alpha, + *pucch_deltaF_Format1, *pucch_deltaF_Format1b, *pucch_deltaF_Format2, + *pucch_deltaF_Format2a, *pucch_deltaF_Format2b, + *rach_preamblesGroupAConfig, *rach_messagePowerOffsetGroupB, *pcch_nB; long long int downlink_frequency; int32_t tdd_config, tdd_config_s, eutra_band, uplink_frequency_offset, - Nid_cell_mbsfn, N_RB_DL, nb_antenna_ports, prach_root, prach_config_index, - prach_zero_correlation, prach_freq_offset, pucch_delta_shift, - pucch_nRB_CQI, pucch_nCS_AN, pucch_n1_AN, pdsch_referenceSignalPower, - pdsch_p_b, pusch_n_SB, pusch_hoppingOffset, pusch_groupAssignment, - pusch_nDMRS1, srs_BandwidthConfig, srs_SubframeConfig, pusch_p0_Nominal, - pucch_p0_Nominal, msg3_delta_Preamble, rach_numberOfRA_Preambles, - rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, - rach_powerRampingStep, rach_preambleInitialReceivedTargetPower, - rach_preambleTransMax, rach_raResponseWindowSize, - rach_macContentionResolutionTimer, rach_maxHARQ_Msg3Tx, - pcch_defaultPagingCycle, bcch_modificationPeriodCoeff, - ue_TimersAndConstants_t300, ue_TimersAndConstants_t301, - ue_TimersAndConstants_t310, ue_TimersAndConstants_t311, - ue_TimersAndConstants_n310, ue_TimersAndConstants_n311, - ue_TransmissionMode, ue_multiple_max; + Nid_cell_mbsfn, N_RB_DL, nb_antenna_ports, prach_root, prach_config_index, + prach_zero_correlation, prach_freq_offset, pucch_delta_shift, + pucch_nRB_CQI, pucch_nCS_AN, pucch_n1_AN, pdsch_referenceSignalPower, + pdsch_p_b, pusch_n_SB, pusch_hoppingOffset, pusch_groupAssignment, + pusch_nDMRS1, srs_BandwidthConfig, srs_SubframeConfig, pusch_p0_Nominal, + pucch_p0_Nominal, msg3_delta_Preamble, rach_numberOfRA_Preambles, + rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, + rach_powerRampingStep, rach_preambleInitialReceivedTargetPower, + rach_preambleTransMax, rach_raResponseWindowSize, + rach_macContentionResolutionTimer, rach_maxHARQ_Msg3Tx, + pcch_defaultPagingCycle, bcch_modificationPeriodCoeff, + ue_TimersAndConstants_t300, ue_TimersAndConstants_t301, + ue_TimersAndConstants_t310, ue_TimersAndConstants_t311, + ue_TimersAndConstants_n310, ue_TimersAndConstants_n311, + ue_TransmissionMode, ue_multiple_max; + /* + int32_t srb1_timer_poll_retransmit = 0; + int32_t srb1_timer_reordering = 0; + int32_t srb1_timer_status_prohibit = 0; + int32_t srb1_poll_pdu = 0; + int32_t srb1_poll_byte = 0; + int32_t srb1_max_retx_threshold = 0; + */ + const char *rxPool_sc_CP_Len; const char *rxPool_sc_Period; const char *rxPool_data_CP_Len; @@ -147,6 +156,157 @@ void RCconfig_flexran() { char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + //note: Uncomment below when FlexRAN support for eMTC is available + /* + int32_t eMTC_configured = 0; + int32_t prach_root_emtc = 0; + int32_t prach_config_index_emtc = 0; + char *prach_high_speed_emtc = NULL; + int32_t prach_zero_correlation_emtc = 0; + int32_t prach_freq_offset_emtc = 0; + int32_t pucch_delta_shift_emtc = 0; + int32_t pucch_nRB_CQI_emtc = 0; + int32_t pucch_nCS_AN_emtc = 0; + //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) + int32_t pucch_n1_AN_emtc = 0; + //#endif + int32_t pdsch_referenceSignalPower_emtc = 0; + int32_t pdsch_p_b_emtc = 0; + int32_t pusch_n_SB_emtc = 0; + char *pusch_hoppingMode_emtc = NULL; + int32_t pusch_hoppingOffset_emtc = 0; + char *pusch_enable64QAM_emtc = NULL; + char *pusch_groupHoppingEnabled_emtc = NULL; + int32_t pusch_groupAssignment_emtc = 0; + char *pusch_sequenceHoppingEnabled_emtc = NULL; + int32_t pusch_nDMRS1_emtc = 0; + char *phich_duration_emtc = NULL; + char *phich_resource_emtc = NULL; + char *srs_enable_emtc = NULL; + int32_t srs_BandwidthConfig_emtc = 0; + int32_t srs_SubframeConfig_emtc = 0; + char *srs_ackNackST_emtc = NULL; + char *srs_MaxUpPts_emtc = NULL; + int32_t pusch_p0_Nominal_emtc = 0; + char *pusch_alpha_emtc = NULL; + int32_t pucch_p0_Nominal_emtc = 0; + int32_t msg3_delta_Preamble_emtc = 0; + //int32_t ul_CyclicPrefixLength_emtc = 0; + char *pucch_deltaF_Format1_emtc = NULL; + //const char* pucch_deltaF_Format1a_emtc = NULL; + char *pucch_deltaF_Format1b_emtc = NULL; + char *pucch_deltaF_Format2_emtc = NULL; + char *pucch_deltaF_Format2a_emtc = NULL; + char *pucch_deltaF_Format2b_emtc = NULL; + int32_t rach_numberOfRA_Preambles_emtc = 0; + char *rach_preamblesGroupAConfig_emtc = NULL; + int32_t rach_sizeOfRA_PreamblesGroupA_emtc = 0; + int32_t rach_messageSizeGroupA_emtc = 0; + char *rach_messagePowerOffsetGroupB_emtc = NULL; + int32_t rach_powerRampingStep_emtc = 0; + int32_t rach_preambleInitialReceivedTargetPower_emtc = 0; + int32_t rach_preambleTransMax_emtc = 0; + int32_t rach_raResponseWindowSize_emtc = 10; + int32_t rach_macContentionResolutionTimer_emtc = 0; + int32_t rach_maxHARQ_Msg3Tx_emtc = 0; + int32_t pcch_defaultPagingCycle_emtc = 0; + char *pcch_nB_emtc = NULL; + int32_t bcch_modificationPeriodCoeff_emtc = 0; + int32_t ue_TimersAndConstants_t300_emtc = 0; + int32_t ue_TimersAndConstants_t301_emtc = 0; + int32_t ue_TimersAndConstants_t310_emtc = 0; + int32_t ue_TimersAndConstants_t311_emtc = 0; + int32_t ue_TimersAndConstants_n310_emtc = 0; + int32_t ue_TimersAndConstants_n311_emtc = 0; + int32_t ue_TransmissionMode_emtc = 0; + + int si_Narrowband_r13 = 0; + int si_TBS_r13 = 0; + + int systemInfoValueTagSi_r13 = 0; + + int firstPreamble_r13 = 0; + int lastPreamble_r13 = 0; + int ra_ResponseWindowSize_r13 = 0; + int mac_ContentionResolutionTimer_r13 = 0; + int rar_HoppingConfig_r13 = 0; + int rsrp_range_br = 0; + int maxNumPreambleAttemptCE_r13 = 0; + int numRepetitionPerPreambleAttempt_r13 = 0; + int mpdcch_NumRepetition_RA_r13 = 0; + int prach_HoppingConfig_r13 = 0; + int *maxavailablenarrowband = NULL; + int pucch_info_value = 0; + + int prach_config_index_br = 0; + int prach_freq_offset_br = 0; + int prach_StartingSubframe_r13 = 0; + + int paging_narrowbands_r13 = 0; + int mpdcch_numrepetition_paging_r13 = NULL; + int nb_v1310 = NULL; + + + char * pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + + int sib2_mpdcch_pdsch_hoppingNB_r13 = 0; + int sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; + int sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; + int sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; + int sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; + + int sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; + int sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; + int sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; + int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; + int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + + int pusch_HoppingOffset_v1310 = 0; + + int hyperSFN_r13 = 0; + int eDRX_Allowed_r13 = 0; + int q_RxLevMinCE_r13 = 0; + int q_QualMinRSRQ_CE_r13 = 0; + char* si_WindowLength_BR_r13 = NULL; + char* si_RepetitionPattern_r13 = NULL; + int startSymbolBR_r13 = 0; + char* si_HoppingConfigCommon_r13 = NULL; + char* si_ValidityTime_r13 = NULL; + char* mpdcch_pdsch_HoppingNB_r13 = NULL; + int interval_DLHoppingConfigCommonModeA_r13_val = 0; + int interval_DLHoppingConfigCommonModeB_r13_val = 0; + int mpdcch_pdsch_HoppingOffset_r13 = 0; + char* preambleTransMax_CE_r13 = NULL; + char* rach_numberOfRA_Preambles_br = NULL; + + int schedulingInfoSIB1_BR_r13 = 0; + int64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; + + char* cellSelectionInfoCE_r13 = NULL; + char* bandwidthReducedAccessRelatedInfo_r13 = NULL; + char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; + char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + char* freqHoppingParametersDL_r13 = NULL; + char* interval_DLHoppingConfigCommonModeA_r13 = NULL; + char* interval_DLHoppingConfigCommonModeB_r13 = NULL; + */ + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13 = NULL; + char* mpdcch_startSF_CSS_RA_r13_val = NULL; + char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + + char* pusch_maxNumRepetitionCEmodeA_r13 = 0; + char* pusch_maxNumRepetitionCEmodeB_r13 = 0; + int prach_HoppingOffset_r13 = 0; + + // avoid gcc warnings + (void)pdsch_maxNumRepetitionCEmodeB_r13; + (void)pusch_maxNumRepetitionCEmodeB_r13; + /* get number of eNBs */ paramdef_t ENBSParams[] = ENBSPARAMS_DESC; config_get(ENBSParams, sizeof(ENBSParams)/sizeof(paramdef_t), NULL); @@ -159,6 +319,22 @@ void RCconfig_flexran() { paramdef_t CCsParams[] = CCPARAMS_DESC; paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS, NULL, 0}; + // Note: these should be turned on for EMTC support inside of FlexRAN + //paramdef_t brParams[] = BRPARAMS_DESC; + //paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC; + //paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; + //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + //paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; + //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; + //paramlist_def_t rsrprangelist = {ENB_CONFIG_STRING_RSRP_RANGE_LIST, NULL, 0}; + //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; + //paramlist_def_t prachParamslist = {ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, NULL, 0}; + //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; + //paramlist_def_t n1PUCCHInfoList = {ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, NULL, 0}; + //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; + //paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; + // paramdef_t SRB1Params[] = SRB1PARAMS_DESC; + /* map parameter checking array instances to parameter definition array instances */ for (int I = 0; I < (sizeof(CCsParams) / sizeof(paramdef_t)); I++) { CCsParams[I].chkPptr = &(config_check_CCparams[I]); @@ -386,6 +562,7 @@ void RCconfig_macrlc() { } int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { + int num_enbs = 0; int j,k = 0; int32_t enb_id = 0; @@ -506,6 +683,76 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf = NULL; libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size = 0; libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0; + int32_t srb1_timer_poll_retransmit = 0; + int32_t srb1_timer_reordering = 0; + int32_t srb1_timer_status_prohibit = 0; + int32_t srb1_poll_pdu = 0; + int32_t srb1_poll_byte = 0; + int32_t srb1_max_retx_threshold = 0; + int32_t my_int; + + // eMTC definitions + int32_t eMTC_configured = 0; + int32_t prach_root_emtc = 0; + int32_t prach_config_index_emtc = 0; + char *prach_high_speed_emtc = NULL; + int32_t prach_zero_correlation_emtc = 0; + int32_t prach_freq_offset_emtc = 0; + int32_t pucch_delta_shift_emtc = 0; + int32_t pucch_nRB_CQI_emtc = 0; + int32_t pucch_nCS_AN_emtc = 0; + //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) + int32_t pucch_n1_AN_emtc = 0; + //#endif + int32_t pdsch_referenceSignalPower_emtc = 0; + int32_t pdsch_p_b_emtc = 0; + int32_t pusch_n_SB_emtc = 0; + char *pusch_hoppingMode_emtc = NULL; + int32_t pusch_hoppingOffset_emtc = 0; + char *pusch_enable64QAM_emtc = NULL; + char *pusch_groupHoppingEnabled_emtc = NULL; + int32_t pusch_groupAssignment_emtc = 0; + char *pusch_sequenceHoppingEnabled_emtc = NULL; + int32_t pusch_nDMRS1_emtc = 0; + char *phich_duration_emtc = NULL; + char *phich_resource_emtc = NULL; + char *srs_enable_emtc = NULL; + int32_t srs_BandwidthConfig_emtc = 0; + int32_t srs_SubframeConfig_emtc = 0; + char *srs_ackNackST_emtc = NULL; + char *srs_MaxUpPts_emtc = NULL; + int32_t pusch_p0_Nominal_emtc = 0; + char *pusch_alpha_emtc = NULL; + int32_t pucch_p0_Nominal_emtc = 0; + int32_t msg3_delta_Preamble_emtc = 0; + //int32_t ul_CyclicPrefixLength_emtc = 0; + char *pucch_deltaF_Format1_emtc = NULL; + //const char* pucch_deltaF_Format1a_emtc = NULL; + char *pucch_deltaF_Format1b_emtc = NULL; + char *pucch_deltaF_Format2_emtc = NULL; + char *pucch_deltaF_Format2a_emtc = NULL; + char *pucch_deltaF_Format2b_emtc = NULL; + int32_t rach_numberOfRA_Preambles_emtc = 0; + char *rach_preamblesGroupAConfig_emtc = NULL; + int32_t rach_sizeOfRA_PreamblesGroupA_emtc = 0; + int32_t rach_messageSizeGroupA_emtc = 0; + char *rach_messagePowerOffsetGroupB_emtc = NULL; + int32_t rach_powerRampingStep_emtc = 0; + int32_t rach_preambleInitialReceivedTargetPower_emtc = 0; + int32_t rach_preambleTransMax_emtc = 0; + int32_t rach_raResponseWindowSize_emtc = 10; + int32_t rach_macContentionResolutionTimer_emtc = 0; + int32_t rach_maxHARQ_Msg3Tx_emtc = 0; + int32_t pcch_defaultPagingCycle_emtc = 0; + char *pcch_nB_emtc = NULL; + int32_t bcch_modificationPeriodCoeff_emtc = 0; + int32_t ue_TimersAndConstants_t300_emtc = 0; + int32_t ue_TimersAndConstants_t301_emtc = 0; + int32_t ue_TimersAndConstants_t310_emtc = 0; + int32_t ue_TimersAndConstants_t311_emtc = 0; + int32_t ue_TimersAndConstants_n310_emtc = 0; + int32_t ue_TimersAndConstants_n311_emtc = 0; + int32_t ue_TransmissionMode_emtc = 0; int si_Narrowband_r13 = 0; int si_TBS_r13 = 0; @@ -514,90 +761,84 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int firstPreamble_r13 = 0; int lastPreamble_r13 = 0; - const char* ra_ResponseWindowSize_r13 = NULL; - const char* mac_ContentionResolutionTimer_r13 = NULL; - const char* rar_HoppingConfig_r13 = NULL; + int ra_ResponseWindowSize_r13 = 0; + int mac_ContentionResolutionTimer_r13 = 0; + int rar_HoppingConfig_r13 = 0; int rsrp_range_br = 0; int prach_config_index_br = 0; int prach_freq_offset_br = 0; int prach_StartingSubframe_r13 = 0; - const char* maxNumPreambleAttemptCE_r13 = NULL; - const char* numRepetitionPerPreambleAttempt_r13 = NULL; - const char* mpdcch_NumRepetition_RA_r13 = NULL; - const char* prach_HoppingConfig_r13 = NULL; + + int maxNumPreambleAttemptCE_r13 = 0; + int numRepetitionPerPreambleAttempt_r13 = 0; + int mpdcch_NumRepetition_RA_r13 = 0; + int prach_HoppingConfig_r13 = 0; int *maxavailablenarrowband = NULL; int pucch_info_value = 0; int paging_narrowbands_r13 = 0; - const char* mpdcch_numrepetition_paging_r13 = NULL; - const char* nb_v1310 = NULL; + int mpdcch_numrepetition_paging_r13 = NULL; + int nb_v1310 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - const char* pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; + char * pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; - const char* sib2_mpdcch_pdsch_hoppingNB_r13 = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeA_r13 = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeA_r13_val = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeB_r13 = NULL; - const char* sib2_interval_DLHoppingConfigCommonModeB_r13_val = NULL; + int sib2_mpdcch_pdsch_hoppingNB_r13 = 0; + char *sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; + int sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; + char *sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; + int sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; - const char* sib2_interval_ULHoppingConfigCommonModeA_r13 = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeA_r13_val = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeB_r13 = NULL; - const char* sib2_interval_ULHoppingConfigCommonModeB_r13_val = NULL; - int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; + char *sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; + int sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; + char *sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; + int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; + int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; - const char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; - const char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; - - const char* pusch_maxNumRepetitionCEmodeA_r13 = 0; - const char* pusch_maxNumRepetitionCEmodeB_r13 = 0; + int pusch_HoppingOffset_v1310 = 0; int hyperSFN_r13 = 0; int eDRX_Allowed_r13 = 0; int q_RxLevMinCE_r13 = 0; int q_QualMinRSRQ_CE_r13 = 0; - const char* si_WindowLength_BR_r13 = NULL; - const char* si_RepetitionPattern_r13 = NULL; + char *si_WindowLength_BR_r13 = NULL; + char *si_RepetitionPattern_r13 = NULL; int startSymbolBR_r13 = 0; - const char* si_HoppingConfigCommon_r13 = NULL; - const char* si_ValidityTime_r13 = NULL; - const char* mpdcch_pdsch_HoppingNB_r13 = NULL; + char *si_HoppingConfigCommon_r13 = NULL; + char *si_ValidityTime_r13 = NULL; + char *mpdcch_pdsch_HoppingNB_r13 = NULL; int interval_DLHoppingConfigCommonModeA_r13_val = 0; int interval_DLHoppingConfigCommonModeB_r13_val = 0; int mpdcch_pdsch_HoppingOffset_r13 = 0; - const char* preambleTransMax_CE_r13 = NULL; - const char* rach_numberOfRA_Preambles_br = NULL; + char *preambleTransMax_CE_r13 = NULL; int prach_HoppingOffset_r13 = 0; int schedulingInfoSIB1_BR_r13 = 0; - uint64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; + int64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; char* cellSelectionInfoCE_r13 = NULL; char* bandwidthReducedAccessRelatedInfo_r13 = NULL; char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; char* fdd_UplinkSubframeBitmapBR_r13 = NULL; + (void)fdd_UplinkSubframeBitmapBR_r13; char* freqHoppingParametersDL_r13 = NULL; char* interval_DLHoppingConfigCommonModeA_r13 = NULL; char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - const char* prach_ConfigCommon_v1310 = NULL; - const char* mpdcch_startSF_CSS_RA_r13 = NULL; - const char* mpdcch_startSF_CSS_RA_r13_val = NULL; - - - int32_t srb1_timer_poll_retransmit = 0; - int32_t srb1_timer_reordering = 0; - int32_t srb1_timer_status_prohibit = 0; - int32_t srb1_poll_pdu = 0; - int32_t srb1_poll_byte = 0; - int32_t srb1_max_retx_threshold = 0; - int32_t my_int; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13 = NULL; + char* mpdcch_startSF_CSS_RA_r13_val = NULL; + char *pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + char *pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + char *pusch_maxNumRepetitionCEmodeA_r13 = NULL; + char *pusch_maxNumRepetitionCEmodeB_r13 = NULL; // for no gcc warnings (void)my_int; + (void)pdsch_maxNumRepetitionCEmodeB_r13; + (void)pusch_maxNumRepetitionCEmodeB_r13; paramdef_t ENBSParams[] = ENBSPARAMS_DESC; paramdef_t ENBParams[] = ENBPARAMS_DESC; paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0}; @@ -830,14 +1071,17 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, nb_antenna_ports); RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; - RRC_CONFIGURATION_REQ (msg_p).prach_root[j] = prach_root; + + // Radio Resource Configuration (SIB2) + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; if ((prach_root <0) || (prach_root > 1023)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", RC.config_file_name, i, prach_root); - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j] = prach_config_index; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; if ((prach_config_index <0) || (prach_config_index > 63)) AssertFatal (0, @@ -849,43 +1093,43 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prach_high_speed[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_high_speed = TRUE; } else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prach_high_speed[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_high_speed = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", RC.config_file_name, i, prach_high_speed); - RRC_CONFIGURATION_REQ (msg_p).prach_zero_correlation[j] =prach_zero_correlation; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", RC.config_file_name, i, prach_zero_correlation); - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j] = prach_freq_offset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; if ((prach_freq_offset <0) || (prach_freq_offset > 94)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", RC.config_file_name, i, prach_freq_offset); - RRC_CONFIGURATION_REQ (msg_p).pucch_delta_shift[j] = pucch_delta_shift-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", RC.config_file_name, i, pucch_delta_shift); - RRC_CONFIGURATION_REQ (msg_p).pucch_nRB_CQI[j] = pucch_nRB_CQI; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", RC.config_file_name, i, pucch_nRB_CQI); - RRC_CONFIGURATION_REQ (msg_p).pucch_nCS_AN[j] = pucch_nCS_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) AssertFatal (0, @@ -893,7 +1137,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, pucch_nCS_AN); //#if (RRC_VERSION < MAKE_VERSION(10, 0, 0)) - RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[j] = pucch_n1_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) AssertFatal (0, @@ -901,21 +1145,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, pucch_n1_AN); //#endif - RRC_CONFIGURATION_REQ (msg_p).pdsch_referenceSignalPower[j] = pdsch_referenceSignalPower; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", RC.config_file_name, i, pdsch_referenceSignalPower); - RRC_CONFIGURATION_REQ (msg_p).pdsch_p_b[j] = pdsch_p_b; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; if ((pdsch_p_b <0) || (pdsch_p_b > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", RC.config_file_name, i, pdsch_p_b); - RRC_CONFIGURATION_REQ (msg_p).pusch_n_SB[j] = pusch_n_SB; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; if ((pusch_n_SB <1) || (pusch_n_SB > 4)) AssertFatal (0, @@ -927,15 +1171,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); else if (strcmp(pusch_hoppingMode,"interSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; } else if (strcmp(pusch_hoppingMode,"intraAndInterSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", RC.config_file_name, i, pusch_hoppingMode); - RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingOffset[j] = pusch_hoppingOffset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) AssertFatal (0, @@ -947,9 +1191,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_enable64QAM[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; } else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_enable64QAM[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", @@ -960,15 +1204,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_groupHoppingEnabled[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; } else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_groupHoppingEnabled[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", RC.config_file_name, i, pusch_groupHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).pusch_groupAssignment[j] = pusch_groupAssignment; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) AssertFatal (0, @@ -980,15 +1224,15 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_sequenceHoppingEnabled[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; } else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_sequenceHoppingEnabled[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", RC.config_file_name, i, pusch_sequenceHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).pusch_nDMRS1[j] = pusch_nDMRS1; //cyclic_shift in RRC! + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1= pusch_nDMRS1; //cyclic_shift in RRC! if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) AssertFatal (0, @@ -996,48 +1240,48 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, pusch_nDMRS1); if (strcmp(phich_duration,"NORMAL")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_normal; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration= PHICH_Config__phich_Duration_normal; } else if (strcmp(phich_duration,"EXTENDED")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_extended; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration= PHICH_Config__phich_Duration_extended; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", RC.config_file_name, i, phich_duration); if (strcmp(phich_resource,"ONESIXTH")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_oneSixth ; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_oneSixth ; } else if (strcmp(phich_resource,"HALF")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_half; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_half; } else if (strcmp(phich_resource,"ONE")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_one; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_one; } else if (strcmp(phich_resource,"TWO")==0) { - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_two; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_two; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", RC.config_file_name, i, phich_resource); printf("phich.resource %ld (%s), phich.duration %ld (%s)\n", - RRC_CONFIGURATION_REQ (msg_p).phich_resource[j],phich_resource, - RRC_CONFIGURATION_REQ (msg_p).phich_duration[j],phich_duration); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource,phich_resource, + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration,phich_duration); if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable= TRUE; } else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", RC.config_file_name, i, srs_enable); - if (RRC_CONFIGURATION_REQ (msg_p).srs_enable[j] == TRUE) { - RRC_CONFIGURATION_REQ (msg_p).srs_BandwidthConfig[j] = srs_BandwidthConfig; + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable== TRUE) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig= srs_BandwidthConfig; if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", RC.config_file_name, i, srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).srs_SubframeConfig[j] = srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig= srs_SubframeConfig; if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) AssertFatal (0, @@ -1045,25 +1289,25 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, srs_SubframeConfig); if (strcmp(srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_ackNackST[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_ackNackST= TRUE; } else if (strcmp(srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_ackNackST[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_ackNackST= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", RC.config_file_name, i, srs_ackNackST); if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_MaxUpPts[j] = TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_MaxUpPts= TRUE; } else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).srs_MaxUpPts[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_MaxUpPts= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", RC.config_file_name, i, srs_MaxUpPts); } - RRC_CONFIGURATION_REQ (msg_p).pusch_p0_Nominal[j] = pusch_p0_Nominal; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_p0_Nominal= pusch_p0_Nominal; if ((pusch_p0_Nominal<-126) || (pusch_p0_Nominal>24)) AssertFatal (0, @@ -1073,42 +1317,42 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { #if (RRC_VERSION <= MAKE_VERSION(12, 0, 0)) if (strcmp(pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al0; } else if (strcmp(pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al04; } else if (strcmp(pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al05; } else if (strcmp(pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al06; } else if (strcmp(pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al07; } else if (strcmp(pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al08; } else if (strcmp(pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al09; } else if (strcmp(pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al1; } #endif #if (RRC_VERSION >= MAKE_VERSION(12, 0, 0)) if (strcmp(pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al0; } else if (strcmp(pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al04; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al04; } else if (strcmp(pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al05; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al05; } else if (strcmp(pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al06; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al06; } else if (strcmp(pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al07; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al07; } else if (strcmp(pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al08; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al08; } else if (strcmp(pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al09; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al09; } else if (strcmp(pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al1; } #endif @@ -1117,14 +1361,14 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_Alpha choice: AL0,AL04,AL05,AL06,AL07,AL08,AL09,AL1!\n", RC.config_file_name, i, pusch_alpha); - RRC_CONFIGURATION_REQ (msg_p).pucch_p0_Nominal[j] = pucch_p0_Nominal; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_p0_Nominal= pucch_p0_Nominal; if ((pucch_p0_Nominal<-127) || (pucch_p0_Nominal>-96)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", RC.config_file_name, i, pucch_p0_Nominal); - RRC_CONFIGURATION_REQ (msg_p).msg3_delta_Preamble[j] = msg3_delta_Preamble; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].msg3_delta_Preamble= msg3_delta_Preamble; if ((msg3_delta_Preamble<-1) || (msg3_delta_Preamble>6)) AssertFatal (0, @@ -1132,63 +1376,63 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, msg3_delta_Preamble); if (strcmp(pucch_deltaF_Format1,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; } else if (strcmp(pucch_deltaF_Format1,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; } else if (strcmp(pucch_deltaF_Format1,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", RC.config_file_name, i, pucch_deltaF_Format1); if (strcmp(pucch_deltaF_Format1b,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; } else if (strcmp(pucch_deltaF_Format1b,"deltaF3")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; } else if (strcmp(pucch_deltaF_Format1b,"deltaF5")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", RC.config_file_name, i, pucch_deltaF_Format1b); if (strcmp(pucch_deltaF_Format2,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; } else if (strcmp(pucch_deltaF_Format2,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; } else if (strcmp(pucch_deltaF_Format2,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; } else if (strcmp(pucch_deltaF_Format2,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", RC.config_file_name, i, pucch_deltaF_Format2); if (strcmp(pucch_deltaF_Format2a,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; } else if (strcmp(pucch_deltaF_Format2a,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; } else if (strcmp(pucch_deltaF_Format2a,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", RC.config_file_name, i, pucch_deltaF_Format2a); if (strcmp(pucch_deltaF_Format2b,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; } else if (strcmp(pucch_deltaF_Format2b,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; } else if (strcmp(pucch_deltaF_Format2b,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", RC.config_file_name, i, pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ (msg_p).rach_numberOfRA_Preambles[j] = (rach_numberOfRA_Preambles/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles/4)-1; if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>64) || ((rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, @@ -1196,8 +1440,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, rach_numberOfRA_Preambles); if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).rach_preamblesGroupAConfig[j] = TRUE; - RRC_CONFIGURATION_REQ (msg_p).rach_sizeOfRA_PreamblesGroupA[j] = (rach_sizeOfRA_PreamblesGroupA/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, @@ -1206,19 +1450,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { switch (rach_messageSizeGroupA) { case 56: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; break; case 144: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; break; case 208: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; break; case 256: - RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; break; default: @@ -1229,40 +1473,40 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; } else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", RC.config_file_name, i, rach_messagePowerOffsetGroupB); } else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).rach_preamblesGroupAConfig[j] = FALSE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", RC.config_file_name, i, rach_preamblesGroupAConfig); - RRC_CONFIGURATION_REQ (msg_p).rach_preambleInitialReceivedTargetPower[j] = (rach_preambleInitialReceivedTargetPower+120)/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).rach_powerRampingStep[j] = rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) AssertFatal (0, @@ -1273,92 +1517,92 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { #if (RRC_VERSION < MAKE_VERSION(14, 0, 0)) case 3: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; break; case 4: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; break; case 5: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; break; case 6: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; break; case 7: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; break; case 8: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; break; case 10: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; break; case 20: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; break; case 50: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; break; case 100: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; break; case 200: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; break; #else case 3: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n3; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n3; break; case 4: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n4; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n4; break; case 5: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n5; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n5; break; case 6: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n6; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n6; break; case 7: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n7; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n7; break; case 8: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n8; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n8; break; case 10: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n10; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n10; break; case 20: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n20; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n20; break; case 50: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n50; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n50; break; case 100: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n100; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n100; break; case 200: - RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = PreambleTransMax_n200; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleTransMax= PreambleTransMax_n200; break; #endif @@ -1369,21 +1613,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } - RRC_CONFIGURATION_REQ (msg_p).rach_raResponseWindowSize[j] = (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", RC.config_file_name, i, rach_preambleTransMax); - RRC_CONFIGURATION_REQ (msg_p).rach_macContentionResolutionTimer[j] = (rach_macContentionResolutionTimer/8)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", RC.config_file_name, i, rach_preambleTransMax); - RRC_CONFIGURATION_REQ (msg_p).rach_maxHARQ_Msg3Tx[j] = rach_maxHARQ_Msg3Tx; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) AssertFatal (0, @@ -1392,19 +1636,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { switch (pcch_defaultPagingCycle) { case 32: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf32; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; break; case 64: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf64; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; break; case 128: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf128; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; break; case 256: - RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf256; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; break; default: @@ -1415,21 +1659,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_fourT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_fourT; } else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_twoT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_twoT; } else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneT; } else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_halfT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_halfT; } else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_quarterT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_quarterT; } else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneEighthT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneEighthT; } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneSixteenthT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneThirtySecondT; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", @@ -1437,19 +1681,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { switch (bcch_modificationPeriodCoeff) { case 2: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n2; break; case 4: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n4; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n4; break; case 8: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n8; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n8; break; case 16: - RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n16; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; break; default: @@ -1459,40 +1703,40 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t300[j] = ue_TimersAndConstants_t300; - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t301[j] = ue_TimersAndConstants_t301; - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t310[j] = ue_TimersAndConstants_t310; - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_t311[j] = ue_TimersAndConstants_t311; - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n310[j] = ue_TimersAndConstants_n310; - RRC_CONFIGURATION_REQ (msg_p).ue_TimersAndConstants_n311[j] = ue_TimersAndConstants_n311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= ue_TimersAndConstants_t300; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= ue_TimersAndConstants_t301; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= ue_TimersAndConstants_t310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= ue_TimersAndConstants_t311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= ue_TimersAndConstants_n310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= ue_TimersAndConstants_n311; switch (ue_TransmissionMode) { case 1: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; break; case 2: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; break; case 3: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm3; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; break; case 4: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm4; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; break; case 5: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm5; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; break; case 6: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm6; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; break; case 7: - RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm7; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; break; default: @@ -1502,7 +1746,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } - RRC_CONFIGURATION_REQ (msg_p).ue_multiple_max[j] = ue_multiple_max; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_multiple_max= ue_multiple_max; switch (N_RB_DL) { case 25: @@ -1539,1335 +1783,1074 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; sprintf(brparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS); config_get( brParams, sizeof(brParams)/sizeof(paramdef_t), brparamspath); + RRC_CONFIGURATION_REQ(msg_p).eMTC_configured = eMTC_configured&1; - int cnt_pucch_NumRepetitionCE = 0; - - - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; - - - if (!strcmp(cellSelectionInfoCE_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; - // RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - // *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - } else { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; - } - - - - if (!strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - - - - if (!strcmp(si_WindowLength_BR_r13, "ms20")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; - } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; - } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; - } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; - } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; - } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; - } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; - } else if (!strcmp(si_WindowLength_BR_r13, "spare")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; + if (eMTC_configured > 0) { + printf("Found parameters for eMTC\n"); + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; + + + if (!strcmp(cellSelectionInfoCE_r13, "ENABLE")) { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + // RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); + // *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; + } else { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; } - - - if (!strcmp(si_RepetitionPattern_r13, "everyRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; - } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; - } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; - } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; - } - - } else { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; - } - - char schedulingInfoBrPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&schedulingInfoBrParamList, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = schedulingInfoBrParamList.numelt; - int siInfoindex; - for (siInfoindex = 0; siInfoindex < schedulingInfoBrParamList.numelt; siInfoindex++) { - sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST, siInfoindex); - config_get(schedulingInfoBrParams, sizeof(schedulingInfoBrParams) / sizeof(paramdef_t), schedulingInfoBrPath); - RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][siInfoindex] = si_Narrowband_r13; - RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][siInfoindex] = si_TBS_r13; - } - - - - // RRC_CONFIGURATION_REQ (msg_p).system_info_value_tag_SI_size[j] = 0; - - // kogo -- recheck - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - } else { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - } - - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; - - - if (!strcmp(si_HoppingConfigCommon_r13, "off")) { - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; - } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) { - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; - } - - - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(si_ValidityTime_r13, "true")) { - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", - RC.config_file_name, i); - } - - - if (!strcmp(freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; - - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; - - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) { - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; - } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) { - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", - RC.config_file_name, i); + + + + if (!strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; + + + + if (!strcmp(si_WindowLength_BR_r13, "ms20")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; + } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; + } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; + } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; + } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; + } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; + } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; + } else if (!strcmp(si_WindowLength_BR_r13, "spare")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; } - - // kogo -- recheck -- optional - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; - } - - /** ------------------------------SIB23------------------------------------------ */ - - - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long)); - if (!strcmp(preambleTransMax_CE_r13, "n3")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 0; - } else if (!strcmp(preambleTransMax_CE_r13, "n4")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 1; - } else if (!strcmp(preambleTransMax_CE_r13, "n5")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 2; - } else if (!strcmp(preambleTransMax_CE_r13, "n6")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 3; - } else if (!strcmp(preambleTransMax_CE_r13, "n7")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 4; - } else if (!strcmp(preambleTransMax_CE_r13, "n8")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 5; - } else if (!strcmp(preambleTransMax_CE_r13, "n10")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 6; - } else if (!strcmp(preambleTransMax_CE_r13, "n20")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 7; - } else if (!strcmp(preambleTransMax_CE_r13, "n50")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 8; - } else if (!strcmp(preambleTransMax_CE_r13, "n100")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 9; - } else if (!strcmp(preambleTransMax_CE_r13, "n200")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 10; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d preambleTransMax_CE_r13 unknown value!\n", - RC.config_file_name, i); - } - - - - - if (!strcmp(rach_numberOfRA_Preambles, "n4")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (4 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (8 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (12 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (16 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (20 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (24 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (28 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (32 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (36 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (40 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (44 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (48 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (52 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (56 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (60 / 4) - 1; - } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (64 / 4) - 1; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); - - } - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep = rach_powerRampingStep / 2; - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower = (rach_preambleInitialReceivedTargetPower + 120) / 2; - - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); - - - switch (rach_preambleTransMax) { - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n3; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n4; - break; - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n5; - break; - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n6; - break; - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n7; - break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n8; - break; - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n10; - break; - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n20; - break; - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n50; - break; - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n100; - break; - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax = PreambleTransMax_n200; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); - break; - } - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; - - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; - - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; - - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); - - - char rachCELevelInfoListPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&rachcelevellist, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = rachcelevellist.numelt; - int rachCEInfoIndex; - for (rachCEInfoIndex = 0; rachCEInfoIndex < rachcelevellist.numelt; rachCEInfoIndex++) { - sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); - config_get(rachcelevelParams, sizeof(rachcelevelParams) / sizeof(paramdef_t), rachCELevelInfoListPath); - - RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rachCEInfoIndex] = firstPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rachCEInfoIndex] = lastPreamble_r13; - - - - - if (!strcmp(ra_ResponseWindowSize_r13, "sf20")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 0; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf50")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 1; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf80")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 2; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf120")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 3; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf180")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 4; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf240")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 5; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf320")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 6; - } else if (!strcmp(ra_ResponseWindowSize_r13, "sf400")) { - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, ra_ResponseWindowSize_r13 unknown value!\n", - RC.config_file_name); - } - - if (!strcmp(mac_ContentionResolutionTimer_r13, "sf80")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 0; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf100")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 1; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf120")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 2; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf160")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 3; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf200")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 4; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf240")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 5; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf480")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 6; - } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf960")) { - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, mac_ContentionResolutionTimer_r13 unknown value!\n", - RC.config_file_name); - } - - if (!strcmp(rar_HoppingConfig_r13, "on")) { - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = 0; - } else if (!strcmp(rar_HoppingConfig_r13, "off")) { - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = 1; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, rar_HoppingConfig_r13 unknown value!\n", - RC.config_file_name); - } - - } // end for loop (rach ce level info) - - - /** BCCH CONFIG */ - switch (bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2; - break; - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4; - break; - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8; - break; - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16; - break; - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); - - break; - } - - /** PCCH CONFIG */ - if (!strcmp(pcch_defaultPagingCycle, "rf32")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32; - } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64; - } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128; - } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - } - - - - if (strcmp(pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; - } - else if (strcmp(pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; - } - else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; - } - else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; - } - else if (strcmp(pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; - } - else if (strcmp(pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; - } - else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; - } - else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); - - - /** PRACH CONFIG */ - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root; - if ((prach_root <0) || (prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); - - - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index; - if ((prach_config_index <0) || (prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); - - - - - - if (!prach_high_speed) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; - } - else if (strcmp(prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); - - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation = prach_zero_correlation; - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset; - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); - - - - - /** PDSCH Config Common */ - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); - - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b; - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); - - - - - - - /** PUSCH Config Common */ - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB; - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); - - - - - - if (!pusch_hoppingMode) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } - else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); - - - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset; - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); - - - - - if (!pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; - } - else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); - - - - - if (!pusch_groupHoppingEnabled) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; - } - else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); - - - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment; - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); - - - - - if (!pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; - } - else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); - - - - - - /** PUCCH Config Common */ - /** TO BE CONTINUED */ - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1; - - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI; - - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN; - - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); - - - /** - check if pucch_n1_AN is in necessary the BR parameters - */ - - - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal; - - if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); - - if (strcmp(pusch_alpha, "AL0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0; - } else if (strcmp(pusch_alpha, "AL04") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04; - } else if (strcmp(pusch_alpha, "AL05") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05; - } else if (strcmp(pusch_alpha, "AL06") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06; - } else if (strcmp(pusch_alpha, "AL07") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07; - } else if (strcmp(pusch_alpha, "AL08") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08; - } else if (strcmp(pusch_alpha, "AL09") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09; - } else if (strcmp(pusch_alpha, "AL1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = 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", - RC.config_file_name, i, pusch_alpha); - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal; - if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); - - if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } - else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); - - if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } - else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); - - - if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } - else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); - - if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); - - if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } - else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); - - - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble; - - if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6)) - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); - - - - - if (!strcmp(prach_ConfigCommon_v1310, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE; - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); - - if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE; - } else { - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE; + + + if (!strcmp(si_RepetitionPattern_r13, "everyRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; + } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; + } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; + } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; } - - if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 0; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 1; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 2; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 3; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v4")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 4; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v5")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 5; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v8")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 6; - } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "10")) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 7; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n", - RC.config_file_name, i); - } - - - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13; + } else { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE; - } - - - RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { - *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { - *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", - RC.config_file_name); - } - - - RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", - RC.config_file_name); - } - - - - char rsrpRangeListPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&rsrprangelist, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = rsrprangelist.numelt; - - - int rsrprangeindex; - for (rsrprangeindex = 0; rsrprangeindex < rsrprangelist.numelt; rsrprangeindex++) { - sprintf(rsrpRangeListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RSRP_RANGE_LIST, rsrprangeindex); - config_get(rsrprangeParams, sizeof(rsrprangeParams) / sizeof(paramdef_t), rsrpRangeListPath); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrprangeindex] = rsrp_range_br; - - } - - - char prachparameterscePath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&prachParamslist, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = prachParamslist.numelt; - - int prachparamsindex; - for (prachparamsindex = 0; prachparamsindex < prachParamslist.numelt; prachparamsindex++) { - sprintf(prachparameterscePath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, prachparamsindex); - config_get(prachParams, sizeof(prachParams) / sizeof(paramdef_t), prachparameterscePath); - - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prachparamsindex] = prach_config_index_br; - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prachparamsindex] = prach_freq_offset_br; - - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = prach_StartingSubframe_r13; - - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = calloc(1, sizeof(long)); - if (!strcmp(maxNumPreambleAttemptCE_r13, "n3")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 0; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n4")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 1; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n5")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 2; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n6")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 3; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n7")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 4; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n8")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 5; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n10")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 6; - } else if (!strcmp(maxNumPreambleAttemptCE_r13, "spare1")) { - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, maxNumPreambleAttemptCE_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; } - - - - if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n1")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 0; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n2")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 1; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n4")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 2; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n8")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 3; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n16")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 4; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n32")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 5; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n64")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 6; - } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n128")) { - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = 7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, numRepetitionPerPreambleAttempt_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); + + char schedulingInfoBrPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&schedulingInfoBrParamList, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = schedulingInfoBrParamList.numelt; + int siInfoindex; + for (siInfoindex = 0; siInfoindex < schedulingInfoBrParamList.numelt; siInfoindex++) { + sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST, siInfoindex); + config_get(schedulingInfoBrParams, sizeof(schedulingInfoBrParams) / sizeof(paramdef_t), schedulingInfoBrPath); + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][siInfoindex] = si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][siInfoindex] = si_TBS_r13; } - - - - - if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 0; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 1; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r4")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 2; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r8")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 3; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r16")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 4; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r32")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 5; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r64")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 6; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r128")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 7; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r256")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 8; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r512")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 9; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1024")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 10; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2048")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 11; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare4")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 12; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare3")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 13; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare2")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 14; - } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare1")) { - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = 15; + + + + // RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].system_info_value_tag_SI_size[j] = 0; + + + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); + if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, mpdcch_NumRepetition_RA_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } - - - - if (!strcmp(prach_HoppingConfig_r13, "off")) { - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = 1; - } else if (!strcmp(prach_HoppingConfig_r13, "on")) { - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = 0; + + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + + + if (!strcmp(si_HoppingConfigCommon_r13, "off")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; + } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; + } + + + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); + if (!strcmp(si_ValidityTime_r13, "true")) { + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, prach_HoppingConfig_r13 unknown value !! %d!\n", - RC.config_file_name, nb_cc++); + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", + RC.config_file_name, i); } - - - - - - int maxavailablenarrowband_count = prachParams[7].numelt; - - RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prachparamsindex] = maxavailablenarrowband_count; - int narrow_band_index; - for (narrow_band_index = 0; narrow_band_index < maxavailablenarrowband_count; narrow_band_index++) + + + if (!strcmp(freqHoppingParametersDL_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prachparamsindex][narrow_band_index] = prachParams[7].iptr[narrow_band_index]; - + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; + + if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); + if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; + } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", + RC.config_file_name, i); } - } - - char n1PUCCHInfoParamsPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&n1PUCCHInfoList, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = n1PUCCHInfoList.numelt; - - int n1PUCCHinfolistindex; - for (n1PUCCHinfolistindex = 0; n1PUCCHinfolistindex < n1PUCCHInfoList.numelt; n1PUCCHinfolistindex++) { - sprintf(n1PUCCHInfoParamsPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, n1PUCCHinfolistindex); - config_get(n1PUCCH_ANR13Params, sizeof(n1PUCCH_ANR13Params) / sizeof(paramdef_t), n1PUCCHInfoParamsPath); - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][n1PUCCHinfolistindex] = pucch_info_value; - } - - /** UE Timers And Constants */ - - - if (!strcmp(ue_TimersAndConstants_t300, "ms100")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500; - } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!", - RC.config_file_name, i, ue_TimersAndConstants_t300); - } - - if (!strcmp(ue_TimersAndConstants_t301, "ms100")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500; - } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!", - RC.config_file_name, i, ue_TimersAndConstants_t301); - } - - - if (!strcmp(ue_TimersAndConstants_t310, "ms0")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!", - RC.config_file_name, i, ue_TimersAndConstants_t310); - } - - - if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000; - } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!", - RC.config_file_name, i, ue_TimersAndConstants_t311); - } - - - if (!strcmp(ue_TimersAndConstants_n310, "n1")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1; - } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2; - } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3; - } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4; - } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6; - } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8; - } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10; - } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!", - RC.config_file_name, i, ue_TimersAndConstants_n310); - } - - - if (!strcmp(ue_TimersAndConstants_n311, "n1")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1; - } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2; - } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3; - } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4; - } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5; - } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6; - } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8; - } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!", - RC.config_file_name, i, ue_TimersAndConstants_n311); - } - - - if (!strcmp(ue_TransmissionMode, "tm1")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1; - } else if (!strcmp(ue_TransmissionMode, "tm2")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2; - } else if (!strcmp(ue_TransmissionMode, "tm3")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3; - } else if (!strcmp(ue_TransmissionMode, "tm4")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4; - } else if (!strcmp(ue_TransmissionMode, "tm5")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5; - } else if (!strcmp(ue_TransmissionMode, "tm6")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6; - } else if (!strcmp(ue_TransmissionMode, "tm7")) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!", - RC.config_file_name, i, ue_TransmissionMode); - } - - - char PCCHConfigv1310Path[MAX_OPTNAME_SIZE*2 + 16]; - sprintf(PCCHConfigv1310Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); - config_get(pcchv1310Params, sizeof(pcchv1310Params)/sizeof(paramdef_t), PCCHConfigv1310Path); - - - - /** PCCH CONFIG V1310 */ - - RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; - - if (!strcmp(mpdcch_numrepetition_paging_r13, "r1")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 0; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r2")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 1; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r4")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 2; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r8")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 3; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r16")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 4; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r32")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 5; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r64")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 6; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r128")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 7; - } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r256")) { - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 8; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", - RC.config_file_name); - } - - - // RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); - // if (!strcmp(nb_v1310, "one64thT")) { - // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; - // } else if (!strcmp(nb_v1310, "one128thT")) { - // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; - // } else if (!strcmp(nb_v1310, "one256thT")) { - // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; - // } else { - // AssertFatal(0, - // "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", - // RC.config_file_name); - // } - - - - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); - // ++cnt; // check this ,, the conter is up above - if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", - RC.config_file_name); - } - - - - /** SIB2 FREQ HOPPING PARAMETERS R13 */ - RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; - - char sib2FreqHoppingParametersR13Path[MAX_OPTNAME_SIZE*2 + 16]; - sprintf(sib2FreqHoppingParametersR13Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13); - config_get(sib2freqhoppingParams, sizeof(sib2freqhoppingParams)/sizeof(paramdef_t), sib2FreqHoppingParametersR13Path); - - - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int2")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int4")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int8")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; + } + + /** ------------------------------SIB2/3 BR------------------------------------------ */ + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root_emtc; + + if ((prach_root_emtc <0) || (prach_root_emtc > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + RC.config_file_name, i, prach_root_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index_emtc; + + if ((prach_config_index_emtc <0) || (prach_config_index_emtc > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + RC.config_file_name, i, prach_config_index); + + if (!prach_high_speed_emtc) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(prach_high_speed_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; + } else if (strcmp(prach_high_speed_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, prach_high_speed_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation_emtc; + + if ((prach_zero_correlation_emtc <0) || (prach_zero_correlation_emtc > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + RC.config_file_name, i, prach_zero_correlation_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset_emtc; + + if ((prach_freq_offset_emtc <0) || (prach_freq_offset_emtc > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + RC.config_file_name, i, prach_freq_offset); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift_emtc-1; + + if ((pucch_delta_shift_emtc <1) || (pucch_delta_shift_emtc > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + RC.config_file_name, i, pucch_delta_shift_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI_emtc; + + if ((pucch_nRB_CQI_emtc <0) || (pucch_nRB_CQI_emtc > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + RC.config_file_name, i, pucch_nRB_CQI_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN_emtc; + + if ((pucch_nCS_AN_emtc <0) || (pucch_nCS_AN_emtc > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + RC.config_file_name, i, pucch_nCS_AN_emtc); + + //#if (RRC_VERSION < MAKE_VERSION(10, 0, 0)) + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = pucch_n1_AN_emtc; + + if ((pucch_n1_AN_emtc <0) || (pucch_n1_AN_emtc > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + RC.config_file_name, i, pucch_n1_AN_emtc); + + //#endif + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower_emtc; + + if ((pdsch_referenceSignalPower_emtc <-60) || (pdsch_referenceSignalPower_emtc > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + RC.config_file_name, i, pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b_emtc; + + if ((pdsch_p_b_emtc <0) || (pdsch_p_b_emtc > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + RC.config_file_name, i, pdsch_p_b_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB_emtc; + + if ((pusch_n_SB_emtc <1) || (pusch_n_SB_emtc > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + RC.config_file_name, i, pusch_n_SB_emtc); + + if (!pusch_hoppingMode_emtc) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(pusch_hoppingMode_emtc,"interSubFrame")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } else if (strcmp(pusch_hoppingMode_emtc,"intraAndInterSubFrame")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + RC.config_file_name, i, pusch_hoppingMode_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset_emtc; + + if ((pusch_hoppingOffset_emtc<0) || (pusch_hoppingOffset_emtc>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + RC.config_file_name, i, pusch_hoppingMode_emtc); + + if (!pusch_enable64QAM_emtc) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(pusch_enable64QAM_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; + } else if (strcmp(pusch_enable64QAM_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_enable64QAM_emtc); + + if (!pusch_groupHoppingEnabled_emtc) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(pusch_groupHoppingEnabled_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; + } else if (strcmp(pusch_groupHoppingEnabled_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_groupHoppingEnabled_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment_emtc; + + if ((pusch_groupAssignment_emtc<0)||(pusch_groupAssignment_emtc>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + RC.config_file_name, i, pusch_groupAssignment_emtc); + + if (!pusch_sequenceHoppingEnabled_emtc) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(pusch_sequenceHoppingEnabled_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; + } else if (strcmp(pusch_sequenceHoppingEnabled_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + RC.config_file_name, i, pusch_sequenceHoppingEnabled_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1= pusch_nDMRS1_emtc; //cyclic_shift in RRC! + + if ((pusch_nDMRS1_emtc <0) || (pusch_nDMRS1_emtc>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + RC.config_file_name, i, pusch_nDMRS1_emtc); + + if (strcmp(phich_duration_emtc,"NORMAL")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration= PHICH_Config__phich_Duration_normal; + } else if (strcmp(phich_duration_emtc,"EXTENDED")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration= PHICH_Config__phich_Duration_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + RC.config_file_name, i, phich_duration_emtc); + + if (strcmp(phich_resource_emtc,"ONESIXTH")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_oneSixth ; + } else if (strcmp(phich_resource_emtc,"HALF")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_half; + } else if (strcmp(phich_resource_emtc,"ONE")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_one; + } else if (strcmp(phich_resource_emtc,"TWO")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_two; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + RC.config_file_name, i, phich_resource_emtc); + + printf("phich.resource eMTC %ld (%s), phich.duration eMTC %ld (%s)\n", + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource,phich_resource_emtc, + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration,phich_duration_emtc); + + if (strcmp(srs_enable_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable= TRUE; + } else if (strcmp(srs_enable_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_enable_emtc); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable== TRUE) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig= srs_BandwidthConfig_emtc; + + if ((srs_BandwidthConfig_emtc < 0) || (srs_BandwidthConfig_emtc >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + RC.config_file_name, i, srs_BandwidthConfig_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig= srs_SubframeConfig_emtc; + + if ((srs_SubframeConfig_emtc<0) || (srs_SubframeConfig_emtc>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + RC.config_file_name, i, srs_SubframeConfig_emtc); + + if (strcmp(srs_ackNackST_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_ackNackST= TRUE; + } else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_ackNackST= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_ackNackST_emtc); + + if (strcmp(srs_MaxUpPts_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_MaxUpPts= TRUE; + } else if (strcmp(srs_MaxUpPts_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_MaxUpPts= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, srs_MaxUpPts_emtc); + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal= pusch_p0_Nominal_emtc; + + if ((pusch_p0_Nominal_emtc<-126) || (pusch_p0_Nominal_emtc>24)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + RC.config_file_name, i, pusch_p0_Nominal); + +#if (RRC_VERSION <= MAKE_VERSION(12, 0, 0)) + + if (strcmp(pusch_alpha_emtc,"AL0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al0; + } else if (strcmp(pusch_alpha_emtc,"AL04")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al04; + } else if (strcmp(pusch_alpha_emtc,"AL05")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al05; + } else if (strcmp(pusch_alpha_emtc,"AL06")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al06; + } else if (strcmp(pusch_alpha_emtc,"AL07")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al07; + } else if (strcmp(pusch_alpha_emtc,"AL08")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al08; + } else if (strcmp(pusch_alpha_emtc,"AL09")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al09; + } else if (strcmp(pusch_alpha_emtc,"AL1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al1; + } + +#endif +#if (RRC_VERSION >= MAKE_VERSION(12, 0, 0)) + + if (strcmp(pusch_alpha_emtc,"AL0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al0; + } else if (strcmp(pusch_alpha_emtc,"AL04")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al04; + } else if (strcmp(pusch_alpha_emtc,"AL05")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al05; + } else if (strcmp(pusch_alpha_emtc,"AL06")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al06; + } else if (strcmp(pusch_alpha_emtc,"AL07")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al07; + } else if (strcmp(pusch_alpha_emtc,"AL08")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al08; + } else if (strcmp(pusch_alpha_emtc,"AL09")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al09; + } else if (strcmp(pusch_alpha_emtc,"AL1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al1; + } + +#endif + 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", + RC.config_file_name, i, pusch_alpha); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal= pucch_p0_Nominal_emtc; + + if ((pucch_p0_Nominal_emtc<-127) || (pucch_p0_Nominal_emtc>-96)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + RC.config_file_name, i, pucch_p0_Nominal_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble= msg3_delta_Preamble_emtc; + + if ((msg3_delta_Preamble_emtc<-1) || (msg3_delta_Preamble_emtc>6)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + RC.config_file_name, i, msg3_delta_Preamble_emtc); + + if (strcmp(pucch_deltaF_Format1_emtc,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } else if (strcmp(pucch_deltaF_Format1_emtc,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } else if (strcmp(pucch_deltaF_Format1_emtc,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format1_emtc); + + if (strcmp(pucch_deltaF_Format1b_emtc,"deltaF1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } else if (strcmp(pucch_deltaF_Format1b_emtc,"deltaF3")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } else if (strcmp(pucch_deltaF_Format1b_emtc,"deltaF5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + RC.config_file_name, i, pucch_deltaF_Format1b_emtc); + + if (strcmp(pucch_deltaF_Format2_emtc,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } else if (strcmp(pucch_deltaF_Format2_emtc,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } else if (strcmp(pucch_deltaF_Format2_emtc,"deltaF1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } else if (strcmp(pucch_deltaF_Format2_emtc,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2_emtc); + + if (strcmp(pucch_deltaF_Format2a_emtc,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } else if (strcmp(pucch_deltaF_Format2a_emtc,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } else if (strcmp(pucch_deltaF_Format2a_emtc,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2a_emtc); + + if (strcmp(pucch_deltaF_Format2b_emtc,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } else if (strcmp(pucch_deltaF_Format2b_emtc,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } else if (strcmp(pucch_deltaF_Format2b_emtc,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + RC.config_file_name, i, pucch_deltaF_Format2b_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles_emtc/4)-1; + + if ((rach_numberOfRA_Preambles_emtc <4) || (rach_numberOfRA_Preambles_emtc >64) || ((rach_numberOfRA_Preambles_emtc&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + RC.config_file_name, i, rach_numberOfRA_Preambles_emtc); + + if (strcmp(rach_preamblesGroupAConfig_emtc, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA_emtc/4)-1; + + if ((rach_numberOfRA_Preambles_emtc <4) || (rach_numberOfRA_Preambles_emtc>60) || ((rach_numberOfRA_Preambles_emtc&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA_emtc); + + switch (rach_messageSizeGroupA_emtc) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; + + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; + + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + RC.config_file_name, i, rach_messageSizeGroupA_emtc); + break; + } + + if (strcmp(rach_messagePowerOffsetGroupB_emtc,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB18")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + RC.config_file_name, i, rach_messagePowerOffsetGroupB_emtc); + } else if (strcmp(rach_preamblesGroupAConfig_emtc, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + RC.config_file_name, i, rach_preamblesGroupAConfig_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower_emtc+120)/2; + + if ((rach_preambleInitialReceivedTargetPower_emtc<-120) || (rach_preambleInitialReceivedTargetPower_emtc>-90) || ((rach_preambleInitialReceivedTargetPower_emtc&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + RC.config_file_name, i, rach_preambleInitialReceivedTargetPower_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep_emtc/2; + + if ((rach_powerRampingStep_emtc<0) || (rach_powerRampingStep_emtc>6) || ((rach_powerRampingStep_emtc&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + RC.config_file_name, i, rach_powerRampingStep_emtc); + + switch (rach_preambleTransMax_emtc) { +#if (RRC_VERSION < MAKE_VERSION(14, 0, 0)) + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; + break; +#else + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; + break; +#endif + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + RC.config_file_name, i, rach_preambleTransMax_emtc); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize_emtc==10)?7:rach_raResponseWindowSize_emtc-2; + + if ((rach_raResponseWindowSize_emtc<0)||(rach_raResponseWindowSize_emtc==9)||(rach_raResponseWindowSize_emtc>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + RC.config_file_name, i, rach_raResponseWindowSize_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer_emtc/8)-1; + + if ((rach_macContentionResolutionTimer_emtc<8) || (rach_macContentionResolutionTimer_emtc>64) || ((rach_macContentionResolutionTimer_emtc&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + RC.config_file_name, i, rach_macContentionResolutionTimer_emtc); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx_emtc; + + if ((rach_maxHARQ_Msg3Tx_emtc<0) || (rach_maxHARQ_Msg3Tx_emtc>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + RC.config_file_name, i, rach_maxHARQ_Msg3Tx_emtc); + + switch (pcch_defaultPagingCycle_emtc) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + RC.config_file_name, i, pcch_defaultPagingCycle_emtc); + break; + } + + if (strcmp(pcch_nB_emtc, "fourT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; + } else if (strcmp(pcch_nB_emtc, "twoT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; + } else if (strcmp(pcch_nB_emtc, "oneT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; + } else if (strcmp(pcch_nB_emtc, "halfT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; + } else if (strcmp(pcch_nB_emtc, "quarterT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; + } else if (strcmp(pcch_nB_emtc, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; + } else if (strcmp(pcch_nB_emtc, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; + } else if (strcmp(pcch_nB_emtc, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, pcch_nB_emtc); + + switch (bcch_modificationPeriodCoeff_emtc) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + RC.config_file_name, i, bcch_modificationPeriodCoeff); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300= ue_TimersAndConstants_t300; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= ue_TimersAndConstants_t301; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= ue_TimersAndConstants_t310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= ue_TimersAndConstants_t311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= ue_TimersAndConstants_n310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= ue_TimersAndConstants_n311; + + switch (ue_TransmissionMode_emtc) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + RC.config_file_name, i, ue_TransmissionMode); + break; + } + + + + + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", RC.config_file_name); } - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int5")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int10")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2; - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int20")) { - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3; + + + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; + } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; } else { AssertFatal (0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n", + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", RC.config_file_name); } - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", - RC.config_file_name); - } + + char rachCELevelInfoListPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&rachcelevellist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = rachcelevellist.numelt; + int rachCEInfoIndex; + for (rachCEInfoIndex = 0; rachCEInfoIndex < rachcelevellist.numelt; rachCEInfoIndex++) { + sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); + config_get(rachcelevelParams, sizeof(rachcelevelParams) / sizeof(paramdef_t), rachCELevelInfoListPath); + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rachCEInfoIndex] = firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rachCEInfoIndex] = lastPreamble_r13; + + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = ra_ResponseWindowSize_r13; + AssertFatal(ra_ResponseWindowSize_r13 == 20 || + ra_ResponseWindowSize_r13 == 50 || + ra_ResponseWindowSize_r13 == 80 || + ra_ResponseWindowSize_r13 == 120 || + ra_ResponseWindowSize_r13 == 180 || + ra_ResponseWindowSize_r13 == 240 || + ra_ResponseWindowSize_r13 == 320 || + ra_ResponseWindowSize_r13 == 400, + "Illegal ra_ResponseWindowSize_r13 %d\n",ra_ResponseWindowSize_r13); + + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = mac_ContentionResolutionTimer_r13; + AssertFatal(mac_ContentionResolutionTimer_r13 == 80 || + mac_ContentionResolutionTimer_r13 == 100 || + mac_ContentionResolutionTimer_r13 == 120 || + mac_ContentionResolutionTimer_r13 == 80 || + mac_ContentionResolutionTimer_r13 == 160 || + mac_ContentionResolutionTimer_r13 == 200 || + mac_ContentionResolutionTimer_r13 == 240 || + mac_ContentionResolutionTimer_r13 == 480 || + mac_ContentionResolutionTimer_r13 == 960, + "Illegal mac_ContentionResolutionTimer_r13 %d\n", + mac_ContentionResolutionTimer_r13); + + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = rar_HoppingConfig_r13; + AssertFatal(rar_HoppingConfig_r13 == 0 || rar_HoppingConfig_r13 == 1, + "illegal rar_HoppingConfig_r13 %d\n",rar_HoppingConfig_r13); + } // end for loop (rach ce level info) + + char rsrpRangeListPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&rsrprangelist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = rsrprangelist.numelt; + + + int rsrprangeindex; + for (rsrprangeindex = 0; rsrprangeindex < rsrprangelist.numelt; rsrprangeindex++) { + sprintf(rsrpRangeListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RSRP_RANGE_LIST, rsrprangeindex); + config_get(rsrprangeParams, sizeof(rsrprangeParams) / sizeof(paramdef_t), rsrpRangeListPath); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrprangeindex] = rsrp_range_br; + + } + + + char prachparameterscePath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&prachParamslist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = prachParamslist.numelt; + + int prachparamsindex; + for (prachparamsindex = 0; prachparamsindex < prachParamslist.numelt; prachparamsindex++) { + sprintf(prachparameterscePath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, prachparamsindex); + config_get(prachParams, sizeof(prachParams) / sizeof(paramdef_t), prachparameterscePath); + + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prachparamsindex] = prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prachparamsindex] = prach_freq_offset_br; + + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = prach_StartingSubframe_r13; + + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = maxNumPreambleAttemptCE_r13-3; + AssertFatal(maxNumPreambleAttemptCE_r13 > 2 && maxNumPreambleAttemptCE_r13 <11, + "prachparamsindex %d: Illegal maxNumPreambleAttemptCE_r13 %d\n", + prachparamsindex,maxNumPreambleAttemptCE_r13); + + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = numRepetitionPerPreambleAttempt_r13; + AssertFatal(numRepetitionPerPreambleAttempt_r13 == 1 || + numRepetitionPerPreambleAttempt_r13 == 2 || + numRepetitionPerPreambleAttempt_r13 == 4 || + numRepetitionPerPreambleAttempt_r13 == 8 || + numRepetitionPerPreambleAttempt_r13 == 16 || + numRepetitionPerPreambleAttempt_r13 == 32 || + numRepetitionPerPreambleAttempt_r13 == 64 || + numRepetitionPerPreambleAttempt_r13 == 128, + "illegal numReptitionPerPreambleAttempt %d\n", + numRepetitionPerPreambleAttempt_r13); + + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = mpdcch_NumRepetition_RA_r13; + AssertFatal (mpdcch_NumRepetition_RA_r13 == 1 || + mpdcch_NumRepetition_RA_r13 == 2 || + mpdcch_NumRepetition_RA_r13 == 4 || + mpdcch_NumRepetition_RA_r13 == 8 || + mpdcch_NumRepetition_RA_r13 == 16 || + mpdcch_NumRepetition_RA_r13 == 32 || + mpdcch_NumRepetition_RA_r13 == 64 || + mpdcch_NumRepetition_RA_r13 == 128 || + mpdcch_NumRepetition_RA_r13 == 256 || + mpdcch_NumRepetition_RA_r13 == 512 || + mpdcch_NumRepetition_RA_r13 == 1024 || + mpdcch_NumRepetition_RA_r13 == 2048, + "illegal mpdcch_NumRepeition_RA_r13 %d\n", + mpdcch_NumRepetition_RA_r13); + + + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = prach_HoppingConfig_r13; + + AssertFatal (prach_HoppingConfig_r13 >=0 && prach_HoppingConfig_r13 < 2, + "Illegal prach_HoppingConfig_r13 %d\n",prach_HoppingConfig_r13); + + + int maxavailablenarrowband_count = prachParams[7].numelt; + + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prachparamsindex] = maxavailablenarrowband_count; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < maxavailablenarrowband_count; narrow_band_index++) { + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prachparamsindex][narrow_band_index] = prachParams[7].iptr[narrow_band_index]; + } + } - - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; - - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1; //cyclic_shift in RRC! - - - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); - - - if (strcmp(phich_duration, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal; - } - else if (strcmp(phich_duration, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended; - } - else - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); - - - - if (strcmp(phich_resource, "ONESIXTH") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth; - } - else if (strcmp(phich_resource, "HALF") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half; - } - else if (strcmp(phich_resource, "ONE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one; - } - else if (strcmp(phich_resource, "TWO") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two; - } + char n1PUCCHInfoParamsPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&n1PUCCHInfoList, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = n1PUCCHInfoList.numelt; + + int n1PUCCHinfolistindex; + for (n1PUCCHinfolistindex = 0; n1PUCCHinfolistindex < n1PUCCHInfoList.numelt; n1PUCCHinfolistindex++) { + sprintf(n1PUCCHInfoParamsPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, n1PUCCHinfolistindex); + config_get(n1PUCCH_ANR13Params, sizeof(n1PUCCH_ANR13Params) / sizeof(paramdef_t), n1PUCCHInfoParamsPath); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][n1PUCCHinfolistindex] = pucch_info_value; + } + + char PCCHConfigv1310Path[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(PCCHConfigv1310Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); + config_get(pcchv1310Params, sizeof(pcchv1310Params)/sizeof(paramdef_t), PCCHConfigv1310Path); + + + + /** PCCH CONFIG V1310 */ + + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13; + AssertFatal (mpdcch_numrepetition_paging_r13 == 1 || + mpdcch_numrepetition_paging_r13 == 2 || + mpdcch_numrepetition_paging_r13 == 4 || + mpdcch_numrepetition_paging_r13 == 8 || + mpdcch_numrepetition_paging_r13 == 16 || + mpdcch_numrepetition_paging_r13 == 32 || + mpdcch_numrepetition_paging_r13 == 64 || + mpdcch_numrepetition_paging_r13 == 128 || + mpdcch_numrepetition_paging_r13 == 256, + "illegal mpdcch_numrepetition_paging_r13 %d\n", + mpdcch_numrepetition_paging_r13); + + + // RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); + // if (!strcmp(nb_v1310, "one64thT")) { + // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; + // } else if (!strcmp(nb_v1310, "one128thT")) { + // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; + // } else if (!strcmp(nb_v1310, "one256thT")) { + // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; + // } else { + // AssertFatal(0, + // "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + // RC.config_file_name); + // } + + + + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); + // ++cnt; // check this ,, the conter is up above + if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; + } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", + RC.config_file_name); + } + + + + /** SIB2 FREQ HOPPING PARAMETERS R13 */ + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; + + char sib2FreqHoppingParametersR13Path[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(sib2FreqHoppingParametersR13Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13); + config_get(sib2freqhoppingParams, sizeof(sib2freqhoppingParams)/sizeof(paramdef_t), sib2FreqHoppingParametersR13Path); + + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); + if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; + AssertFatal(sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || + sib2_interval_ULHoppingConfigCommonModeA_r13_val==2 || + sib2_interval_ULHoppingConfigCommonModeA_r13_val==4 || + sib2_interval_ULHoppingConfigCommonModeA_r13_val==8, + "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", + sib2_interval_ULHoppingConfigCommonModeA_r13_val); + } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; + AssertFatal(sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || + sib2_interval_ULHoppingConfigCommonModeA_r13_val==5 || + sib2_interval_ULHoppingConfigCommonModeA_r13_val==10 || + sib2_interval_ULHoppingConfigCommonModeA_r13_val==20, + "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", + sib2_interval_ULHoppingConfigCommonModeA_r13_val); + } else { + AssertFatal (1==0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + RC.config_file_name); + } + RRC_CONFIGURATION_REQ (msg_p).eMTC_configured=1; + } // BR parameters > 0 else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + printf("No eMTC configuration, skipping it\n"); + RRC_CONFIGURATION_REQ (msg_p).eMTC_configured=0; } - - - printf("phich.resource %d (%s), phich.duration %d (%s)\n", - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource, - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration); - - if (strcmp(srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE; - } - else if (strcmp(srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE; - } - else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); - } - - - - - //TTN - for D2D + // Sidelink Resource pool information //SIB18 if (strcmp(rxPool_sc_CP_Len,"normal")==0) { RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_normal; @@ -3671,8 +3654,9 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) { pucch_nRB_CQI, pucch_nCS_AN, pucch_n1_AN, pdsch_referenceSignalPower, pdsch_p_b, pusch_n_SB, pusch_hoppingOffset, pusch_groupAssignment, pusch_nDMRS1, srs_BandwidthConfig, srs_SubframeConfig, pusch_p0_Nominal, - pucch_p0_Nominal, msg3_delta_Preamble, rach_numberOfRA_Preambles, - rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, + pucch_p0_Nominal, msg3_delta_Preamble; + char *rach_numberOfRA_Preambles; + int32_t rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, rach_powerRampingStep, rach_preambleInitialReceivedTargetPower, rach_preambleTransMax, rach_raResponseWindowSize, rach_macContentionResolutionTimer, rach_maxHARQ_Msg3Tx, @@ -3681,6 +3665,20 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) { ue_TimersAndConstants_t310, ue_TimersAndConstants_t311, ue_TimersAndConstants_n310, ue_TimersAndConstants_n311, ue_TransmissionMode, ue_multiple_max; + char* prach_ConfigCommon_v1310 = NULL; + char* mpdcch_startSF_CSS_RA_r13 = NULL; + char* mpdcch_startSF_CSS_RA_r13_val = NULL; + char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; + + char* pusch_maxNumRepetitionCEmodeA_r13 = 0; + char* pusch_maxNumRepetitionCEmodeB_r13 = 0; + int prach_HoppingOffset_r13 = 0; + + // avoid gcc warnings + (void)pdsch_maxNumRepetitionCEmodeB_r13; + (void)pusch_maxNumRepetitionCEmodeB_r13; + const char *rxPool_sc_CP_Len; const char *rxPool_sc_Period; const char *rxPool_data_CP_Len; @@ -3829,6 +3827,7 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) { //char ccspath[MAX_OPTNAME_SIZE*2 + 16]; for (J = 0; J < CCsParamList.numelt ; J++) { sprintf(aprefix, "%s.[%i].%s.[%i]", ENB_CONFIG_STRING_ENB_LIST, k, ENB_CONFIG_STRING_COMPONENT_CARRIERS, J); + printf("X2: Getting %s\n",aprefix); config_get(CCsParams, sizeof(CCsParams)/sizeof(paramdef_t), aprefix); X2AP_REGISTER_ENB_REQ (msg_p).eutra_band[J] = eutra_band; X2AP_REGISTER_ENB_REQ (msg_p).downlink_frequency[J] = (uint32_t) downlink_frequency; diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index eb020c4517..9e43b8c61e 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -312,16 +312,7 @@ typedef enum { #define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3 "pucch_NumRepetitionCE_Msg4_Level3_r13" #define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13 "sib2_freq_hoppingParameters_r13" -#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 "sib2_mpdcch_pdsch_hoppingNB_r13" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13 "sib2_interval_DLHoppingConfigCommonModeA_r13" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "sib2_interval_DLHoppingConfigCommonModeA_r13_val" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13 "sib2_interval_DLHoppingConfigCommonModeB_r13" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "sib2_interval_DLHoppingConfigCommonModeB_r13_val" -#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13 "sib2_interval_ULHoppingConfigCommonModeA_r13" -#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "sib2_interval_ULHoppingConfigCommonModeA_r13_val" -#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13 "sib2_interval_ULHoppingConfigCommonModeB_r13" -#define ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "sib2_interval_ULHoppingConfigCommonModeB_r13_val" -#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "sib2_mpdcch_pdsch_hoppingOffset_r13" + #define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower" #define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b" @@ -545,6 +536,12 @@ typedef enum { { .s5= {NULL }} , \ { .s5= {NULL }} , \ { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} \ } /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* component carriers configuration parameters */ @@ -594,18 +591,12 @@ typedef enum { {ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ {ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, strptr:&rach_numberOfRA_Preambles, defstrval:"n64", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ @@ -616,7 +607,7 @@ typedef enum { {ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ {ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, strptr:&pcch_defaultPagingCycle, defstrval:"rf128", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ {ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ {ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ @@ -664,218 +655,17 @@ typedef enum { {ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&discRxPoolPS_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ {ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0} \ - +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0} \ } -#define ENB_CONFIG_STRING_SCHEDULING_INFO_LIST "scheduling_info_br" - -#define ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13 "schedulingInfoSIB1_BR_r13" -#define ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13 "cellSelectionInfoCE_r13" -#define ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13 "q_RxLevMinCE_r13" -#define ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13 "bandwidthReducedAccessRelatedInfo_r13" -#define ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13 "si_WindowLength_BR_r13" -#define ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13 "si_RepetitionPattern_r13" -#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13 "fdd_DownlinkOrTddSubframeBitmapBR_r13" -#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13 "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" -#define ENB_CONFIG_STRING_START_SYMBOL_BR_R13 "startSymbolBR_r13" -#define ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13 "si_HoppingConfigCommon_r13" -#define ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13 "si_ValidityTime_r13" -#define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13 "freqHoppingParametersDL_r13" -#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 "mpdcch_pdsch_HoppingNB_r13" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13 "interval_DLHoppingConfigCommonModeA_r13" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "interval_DLHoppingConfigCommonModeA_r13_val" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13 "interval_DLHoppingConfigCommonModeB_r13" -#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "interval_DLHoppingConfigCommonModeB_r13_val" -#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13" - - -#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" -#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" - - - -#define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" -#define BRPARAMS_DESC { \ -{ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, strptr:&preambleTransMax_CE_r13, defstrval:"n10", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defstrval:"n4", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, strptr:&pcch_defaultPagingCycle, defstrval:"rf128", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, strptr:&ue_TimersAndConstants_t300, defstrval:"ms1000", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, strptr:&ue_TimersAndConstants_t301, defstrval:"ms1000", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, strptr:&ue_TimersAndConstants_t310, defstrval:"ms1000", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, strptr:&ue_TimersAndConstants_t311, defstrval:"ms10000", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, strptr:&ue_TimersAndConstants_n310, defstrval:"n20", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, strptr:&ue_TimersAndConstants_n311, defstrval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, strptr:&ue_TransmissionMode, defstrval:"tm1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ -} - -#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" -#define RSRP_RANGE_LIST_DESC { \ -{"systemInfoValueTagSi_r13", NULL, 0, iptr:&systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ - } - - -#define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br" -#define SI_INFO_BR_DESC { \ -{"si_Narrowband_r13", NULL, 0, iptr:&si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ -{"si_TBS_r13", NULL, 0, iptr:&si_TBS_r13, defintval:5, TYPE_UINT, 0} \ -} - -#define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" -#define RSRP_RANGE_LIST_DESC { \ -{"rsrp_range_br", NULL, 0, iptr:&rsrp_range_br, defintval:0, TYPE_UINT, 0} \ - } - - -#define ENB_CONFIG_STRING_FIRST_PREAMBLE_R13 "firstPreamble_r13" -#define ENB_CONFIG_STRING_LAST_PREAMBLE_R13 "lastPreamble_r13" -#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13" -#define ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13 "mac_ContentionResolutionTimer_r13" -#define ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13 "rar_HoppingConfig_r13 " - -#define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13" -#define RACH_CE_LEVELINFOLIST_R13_DESC { \ -{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, iptr:&firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, iptr:&lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, iptr:&ra_ResponseWindowSize_r13, defintval:"sf20", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, iptr:&mac_ContentionResolutionTimer_r13, defintval:"sf80", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, iptr:&rar_HoppingConfig_r13, defintval:"off", TYPE_STRING, 0}\ -} - -#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR "prach_config_index_br" -#define ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR "prach_freq_offset_br" -#define ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13 "prach_StartingSubframe_r13" -#define ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13 "maxNumPreambleAttemptCE_r13" -#define ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13 "numRepetitionPerPreambleAttempt_r13" -#define ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13 "mpdcch_NumRepetition_RA_r13" -#define ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13 "prach_HoppingConfig_r13" -#define ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND "max_available_narrow_band" - -#define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" -#define PRACH_PARAMS_CE_R13_DESC { \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, strptr:&maxNumPreambleAttemptCE_r13, defstrval:"n10", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, strptr:&numRepetitionPerPreambleAttempt_r13, defstrval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, strptr:&mpdcch_NumRepetition_RA_r13, defstrval:"r1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, strptr:&prach_HoppingConfig_r13, defstrval:"off", TYPE_STRING, 0}, \ -{ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, uptr:NULL, defintarrayval:NULL, TYPE_INTARRAY, 0} \ -} - -#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" - -#define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" -#define N1PUCCH_AN_INFOLIST_R13_DESC { \ -{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&pucch_info_value, defintval:0, TYPE_UINT, 0} \ -} - -#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" -#define PCCH_CONFIG_V1310_DESC { \ -{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&mpdcch_numrepetition_paging_r13, defintval:"r1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&nb_v1310, defintval:"one256thT", TYPE_STRING, 0} \ -} - -#define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" -#define SIB2_FREQ_HOPPING_R13_DESC { \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&sib2_mpdcch_pdsch_hoppingNB_r13, defstrval:"", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13, defintval:"", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:"", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeA_r13_val, defstrval:"int4", TYPE_STRING, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13, defintval:"", TYPE_STRING, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:"", TYPE_STRING, 0}, \ -{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ - -} - #define ENB_CONFIG_FRAME_TYPE_IDX 0 #define ENB_CONFIG_TDD_CONFIG_IDX 1 #define ENB_CONFIG_TDD_CONFIG_S_IDX 2 @@ -1208,3 +998,5 @@ typedef enum { #define CONFIG_HLP_WORKER "coding and FEP worker thread WORKER_DISABLE or WORKER_ENABLE\n" #define CONFIG_HLP_PARALLEL "PARALLEL_SINGLE_THREAD, PARALLEL_RU_L1_SPLIT, or PARALLEL_RU_L1_TRX_SPLIT(RU_L1_TRX_SPLIT by defult)\n" /*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/ + +#include "enb_paramdef_emtc.h" diff --git a/openair2/ENB_APP/enb_paramdef_emtc.h b/openair2/ENB_APP/enb_paramdef_emtc.h new file mode 100644 index 0000000000..2ae0a1752d --- /dev/null +++ b/openair2/ENB_APP/enb_paramdef_emtc.h @@ -0,0 +1,231 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +/*! \file openair2/ENB_APP/enb_paramdef_emtc.h + * \brief definition of configuration parameters for emtc eNodeB modules + * \author Raymond KNOPP + * \date 2018 + * \version 0.1 + * \company EURECOM France + * \email: raymond.knopp@eurecom.fr + * \note + * \warning + */ + +#include "common/config/config_paramdesc.h" +#include "RRC_paramsvalues.h" + +#define ENB_CONFIG_STRING_SCHEDULING_INFO_LIST "scheduling_info_br" + + + +#define ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13 "schedulingInfoSIB1_BR_r13" +#define ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13 "cellSelectionInfoCE_r13" +#define ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13 "q_RxLevMinCE_r13" +#define ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13 "bandwidthReducedAccessRelatedInfo_r13" +#define ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13 "si_WindowLength_BR_r13" +#define ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13 "si_RepetitionPattern_r13" +#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13 "fdd_DownlinkOrTddSubframeBitmapBR_r13" +#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13 "fdd_DownlinkOrTddSubframeBitmapBR_val_r13" +#define ENB_CONFIG_STRING_START_SYMBOL_BR_R13 "startSymbolBR_r13" +#define ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13 "si_HoppingConfigCommon_r13" +#define ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13 "si_ValidityTime_r13" +#define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13 "freqHoppingParametersDL_r13" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 "mpdcch_pdsch_HoppingNB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13 "interval_DLHoppingConfigCommonModeA_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "interval_DLHoppingConfigCommonModeA_r13_val" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13 "interval_DLHoppingConfigCommonModeB_r13" +#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "interval_DLHoppingConfigCommonModeB_r13_val" +#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13" +#define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13 "preamble_TransMax_ce_r13" +#define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13_VAL "preamble_TransMax_ce_r13_val" + +#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" +#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" + + + +#define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" +#define BRPARAMS_DESC { \ +{"eMTC_configured", NULL, 0, iptr:&eMTC_configured, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, strptr:&preambleTransMax_CE_r13, defstrval:"n10", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index_emtc, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation_emtc, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset_emtc, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift_emtc, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI_emtc, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN_emtc, defintval:32, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower_emtc, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b_emtc, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB_emtc, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode_emtc, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled_emtc, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment_emtc, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration_emtc, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource_emtc, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal_emtc, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha_emtc, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal_emtc, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble_emtc, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1_emtc, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b_emtc, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2_emtc, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a_emtc, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b_emtc, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles_emtc, defstrval:"n4", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA_emtc, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA_emtc, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB_emtc, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep_emtc, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower_emtc, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax_emtc, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize_emtc, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer_emtc, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx_emtc, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle_emtc, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB_emtc, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff_emtc, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300_emtc, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301_emtc, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310_emtc, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311_emtc, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310_emtc, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311_emtc, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode_emtc, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig_emtc, defstrval:"", TYPE_STRING, 0}, \ +} + +#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" +#define SYSTEM_INFO_VALUE_TAG_SI_DESC { \ +{"systemInfoValueTagSi_r13", NULL, 0, iptr:&systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ + } + + +#define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br" +#define SI_INFO_BR_DESC { \ +{"si_Narrowband_r13", NULL, 0, iptr:&si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ +{"si_TBS_r13", NULL, 0, iptr:&si_TBS_r13, defintval:5, TYPE_UINT, 0} \ +} + +#define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" +#define RSRP_RANGE_LIST_DESC { \ +{"rsrp_range_br", NULL, 0, iptr:&rsrp_range_br, defintval:0, TYPE_UINT, 0} \ + } + + +#define ENB_CONFIG_STRING_FIRST_PREAMBLE_R13 "firstPreamble_r13" +#define ENB_CONFIG_STRING_LAST_PREAMBLE_R13 "lastPreamble_r13" +#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13" +#define ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13 "mac_ContentionResolutionTimer_r13" +#define ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13 "rar_HoppingConfig_r13 " + +#define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13" +#define RACH_CE_LEVELINFOLIST_R13_DESC { \ +{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, iptr:&firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, iptr:&lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, iptr:&ra_ResponseWindowSize_r13, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, iptr:&mac_ContentionResolutionTimer_r13, defintval:80, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, iptr:&rar_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}\ +} + +#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR "prach_config_index_br" +#define ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR "prach_freq_offset_br" +#define ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13 "prach_StartingSubframe_r13" +#define ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13 "maxNumPreambleAttemptCE_r13" +#define ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13 "numRepetitionPerPreambleAttempt_r13" +#define ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13 "mpdcch_NumRepetition_RA_r13" +#define ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13 "prach_HoppingConfig_r13" +#define ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND "max_available_narrow_band" + +#define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" +#define PRACH_PARAMS_CE_R13_DESC { \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, iptr:&maxNumPreambleAttemptCE_r13, defintval:10, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, iptr:&numRepetitionPerPreambleAttempt_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, iptr:&mpdcch_NumRepetition_RA_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, iptr:&prach_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, uptr:NULL, defintarrayval:NULL, TYPE_INTARRAY, 0} \ +} + +#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" + +#define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" +#define N1PUCCH_AN_INFOLIST_R13_DESC { \ +{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&pucch_info_value, defintval:0, TYPE_UINT, 0} \ +} + +#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" +#define PCCH_CONFIG_V1310_DESC { \ +{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&mpdcch_numrepetition_paging_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&nb_v1310, defintval:256, TYPE_UINT, 0} \ +} + +#define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" +#define SIB2_FREQ_HOPPING_R13_DESC { \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingNB_r13, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&sib2_interval_DLHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&sib2_interval_DLHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:4, TYPE_UINT, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ +} diff --git a/openair2/ENB_APP/flexran_agent_ran_api.c b/openair2/ENB_APP/flexran_agent_ran_api.c index 973d322a5f..2f4b527480 100644 --- a/openair2/ENB_APP/flexran_agent_ran_api.c +++ b/openair2/ENB_APP/flexran_agent_ran_api.c @@ -670,13 +670,13 @@ uint8_t flexran_get_special_subframe_assignment(mid_t mod_id, uint8_t cc_id) long flexran_get_ra_ResponseWindowSize(mid_t mod_id, uint8_t cc_id) { if (!rrc_is_present(mod_id)) return 0; - return RC.rrc[mod_id]->configuration.rach_raResponseWindowSize[cc_id]; + return RC.rrc[mod_id]->configuration.radioresourceconfig[cc_id].rach_raResponseWindowSize; } long flexran_get_mac_ContentionResolutionTimer(mid_t mod_id, uint8_t cc_id) { if (!rrc_is_present(mod_id)) return 0; - return RC.rrc[mod_id]->configuration.rach_macContentionResolutionTimer[cc_id]; + return RC.rrc[mod_id]->configuration.radioresourceconfig[cc_id].rach_macContentionResolutionTimer; } Protocol__FlexDuplexMode flexran_get_duplex_mode(mid_t mod_id, uint8_t cc_id) @@ -1131,7 +1131,7 @@ int8_t flexran_agent_get_operating_pdsch_refpower(mid_t mod_id, uint8_t cc_id) long flexran_agent_get_operating_pusch_p0(mid_t mod_id, uint8_t cc_id) { if (!rrc_is_present(mod_id)) return 0; - return RC.rrc[mod_id]->configuration.pusch_p0_Nominal[cc_id]; + return RC.rrc[mod_id]->configuration.radioresourceconfig[cc_id].pusch_p0_Nominal; } void flexran_agent_set_operating_dl_freq(mid_t mod_id, uint8_t cc_id, uint32_t dl_freq_mhz) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 4e9e02af18..7f55aa8d23 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -132,7 +132,7 @@ add_msg3(module_id_t module_idP, int CC_id, RA_t * ra, frame_t frameP, memset ((void *) ul_config_pdu, 0, sizeof (nfapi_ul_config_request_pdu_t)); ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_ULSCH_PDU_TYPE; ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_ulsch_pdu)); - ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = eNB->ul_handle++; + ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.handle = mac->ul_handle++; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.rnti = ra->rnti; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.resource_block_start = narrowband_to_first_rb (cc, ra->msg34_narrowband) + ra->msg3_first_rb; ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.number_of_resource_blocks = ra->msg3_nb_rb; @@ -244,21 +244,21 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t subframeP, RA_t * ra) { - eNB_MAC_INST *mac = RC.mac[module_idP]; - COMMON_channels_t *cc = mac->common_channels; - - uint8_t *vrb_map; - int first_rb; - int N_RB_DL; - nfapi_dl_config_request_pdu_t *dl_config_pdu; - nfapi_tx_request_pdu_t *TX_req; - nfapi_dl_config_request_body_t *dl_req; - - vrb_map = cc[CC_idP].vrb_map; - dl_req = &mac->DL_req[CC_idP].dl_config_request_body; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; - N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); - + eNB_MAC_INST *mac = RC.mac[module_idP]; + COMMON_channels_t *cc = mac->common_channels; + + uint8_t *vrb_map; + int first_rb; + int N_RB_DL; + nfapi_dl_config_request_pdu_t *dl_config_pdu; + nfapi_tx_request_pdu_t *TX_req; + nfapi_dl_config_request_body_t *dl_req_body; + + vrb_map = cc[CC_idP].vrb_map; + dl_req_body = &mac->DL_req[CC_idP].dl_config_request_body; + dl_config_pdu = &dl_req_body->dl_config_pdu_list[dl_req_body->number_pdu]; + N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); + #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) int rmax = 0; int rep = 0; @@ -319,7 +319,7 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, ra->msg2_narrowband = *p[ra->rach_resource_type - 1]->mpdcch_NarrowbandsToMonitor_r13.list.array[ra->preamble_index % num_nb]-1; first_rb = narrowband_to_first_rb (&cc[CC_idP], ra->msg2_narrowband); - if ((ra->msg2_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { + if ((ra->msg2_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (mac, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { ra->msg2_mpdcch_done = 0; // MPDCCH configuration for RAR LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2 for CE Level %d, Programming MPDCCH %d repetitions\n", module_idP, frameP, subframeP, ra->rach_resource_type-1,reps); @@ -371,7 +371,7 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; ra->msg2_mpdcch_repetition_cnt++; - dl_req->number_pdu++; + dl_req_body->number_pdu++; ra->Msg2_subframe = (ra->Msg2_subframe + 9) % 10; } //repetition_count==0 && SF condition met @@ -402,13 +402,12 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, if ((ra->Msg2_frame == frameP) && (ra->Msg2_subframe == subframeP)) { // Program PDSCH LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming PDSCH\n", module_idP, frameP, subframeP); - ra->generate_rar = 0; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + dl_config_pdu = &dl_req_body->dl_config_pdu_list[dl_req_body->number_pdu]; memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = mac->pdu_index[CC_idP]; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = ra->RA_rnti; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized @@ -438,22 +437,23 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; + dl_req_body->number_pdu++; - fill_rar_br (eNB, CC_idP, ra, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, ra->rach_resource_type - 1) ; + fill_rar_br (mac, CC_idP, ra, frameP, subframeP, cc[CC_idP].RAR_pdu.payload, ra->rach_resource_type - 1) ; // Program UL processing for Msg3, same as regular LTE get_Msg3alloc (&cc[CC_idP], subframeP, frameP, &ra->Msg3_frame, &ra->Msg3_subframe); add_msg3 (module_idP, CC_idP, ra, frameP, subframeP); + ra->state = WAITMSG3; // DL request - LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming TX Req %d\n", module_idP, frameP, subframeP); - eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + LOG_I (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming TX Req\n", module_idP, frameP, subframeP); + mac->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; + TX_req = &mac->TX_req[CC_idP].tx_request_body.tx_pdu_list[mac->TX_req[CC_idP].tx_request_body.number_of_pdus]; TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->pdu_index = mac->pdu_index[CC_idP]++; TX_req->num_segments = 1; TX_req->segments[0].segment_length = 7; TX_req->segments[0].segment_data = cc[CC_idP].RAR_pdu.payload; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + mac->TX_req[CC_idP].tx_request_body.number_of_pdus++; } } @@ -499,10 +499,10 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, LOG_D(MAC, "Frame %d: Subframe %d : Adding common DCI for RA_RNTI %x\n", frameP, subframeP, ra->RA_rnti); - dl_req->number_dci++; - dl_req->number_pdu++; + dl_req_body->number_dci++; + dl_req_body->number_pdu++; - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + dl_config_pdu = &dl_req_body->dl_config_pdu_list[dl_req_body->number_pdu]; memset((void *) dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof(nfapi_dl_config_dlsch_pdu)); @@ -529,7 +529,7 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_prb_per_subband = 1; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1; // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; - dl_req->number_pdu++; + dl_req_body->number_pdu++; mac->DL_req[CC_idP].sfn_sf = frameP<<4 | subframeP; // Program UL processing for Msg3 @@ -568,15 +568,15 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, sub_frame_t subframeP, RA_t * ra) { - - eNB_MAC_INST *mac = RC.mac[module_idP]; - COMMON_channels_t *cc = mac->common_channels; - int16_t rrc_sdu_length; - int UE_id = -1; - uint16_t msg4_padding; - uint16_t msg4_post_padding; - uint16_t msg4_header; - + + eNB_MAC_INST *mac = RC.mac[module_idP]; + COMMON_channels_t *cc = mac->common_channels; + int16_t rrc_sdu_length; + int UE_id = -1; + uint16_t msg4_padding; + uint16_t msg4_post_padding; + uint16_t msg4_header; + uint8_t *vrb_map; int first_rb; int N_RB_DL; @@ -587,7 +587,6 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, nfapi_dl_config_request_t *dl_req; nfapi_dl_config_request_body_t *dl_req_body; nfapi_ul_config_request_body_t *ul_req_body; - nfapi_ul_config_request_t *ul_req; uint8_t lcid; uint8_t offset; @@ -703,15 +702,15 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, // get first narrowband first_rb = narrowband_to_first_rb (&cc[CC_idP], ra->msg34_narrowband); - if ((ra->msg4_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (eNB, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { + if ((ra->msg4_mpdcch_repetition_cnt == 0) && (mpdcch_sf_condition (mac, CC_idP, frameP, subframeP, rmax, TYPE2, -1) > 0)) { // Get RRCConnectionSetup for Piggyback ra->msg4_rrc_sdu_length = mac_rrc_data_req (module_idP, CC_idP, frameP, CCCH, 1, // 1 transport block - &cc[CC_idP].CCCH_pdu.payload[0], ENB_FLAG_YES, module_idP, 0); // not used in this case + &cc[CC_idP].CCCH_pdu.payload[0], 0); // not used in this case AssertFatal (ra->msg4_rrc_sdu_length > 0, "[MAC][eNB Scheduler] CCCH not allocated\n"); - LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d, dl_req->num_pdu %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, ra->msg4_rrc_sdu_length,dl_req->number_pdu); + LOG_I (MAC, "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: UE_id %d, rrc_sdu_length %d, dl_req->num_pdu %d\n", module_idP, CC_idP, frameP, subframeP, UE_id, ra->msg4_rrc_sdu_length,dl_req_body->number_pdu); // MPDCCH configuration for Msg4 ra->msg4_mpdcch_done=0; @@ -762,7 +761,7 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1; ra->msg4_mpdcch_repetition_cnt++; - dl_req->number_pdu++; + dl_req_body->number_pdu++; ra->msg4_TBsize = get_TBS_DL(dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mcs, 6); } //repetition_count==0 && SF condition met @@ -798,11 +797,11 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, module_idP, CC_idP, frameP, subframeP, ra->rach_resource_type - 1, ra->rnti); - dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; + dl_config_pdu = &dl_req_body->dl_config_pdu_list[dl_req_body->number_pdu]; memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = mac->pdu_index[CC_idP]; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = ra->rnti; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized @@ -831,10 +830,10 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0; - dl_req->number_pdu++; + dl_req_body->number_pdu++; - ra->generate_Msg4 = 0; - ra->wait_ack_Msg4 = 1; + + ra->state = WAITMSG4ACK; lcid = 0; @@ -854,7 +853,7 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, module_idP, CC_idP, frameP, subframeP, ra->msg4_TBsize, ra->msg4_rrc_sdu_length, msg4_header, msg4_padding, msg4_post_padding); DevAssert (UE_id != UE_INDEX_INVALID); // FIXME not sure how to gracefully return // CHECK THIS: &cc[CC_idP].CCCH_pdu.payload[0] - offset = generate_dlsch_header ((unsigned char *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus + offset = generate_dlsch_header ((unsigned char *) mac->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], 1, //num_sdus (unsigned short *) &ra->msg4_rrc_sdu_length, // &lcid, // sdu_lcid 255, // no drx @@ -863,25 +862,25 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, msg4_padding, // no padding msg4_post_padding); - memcpy ((void *) &eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], ra->msg4_rrc_sdu_length); + memcpy ((void *) &mac->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0][(unsigned char) offset], &cc[CC_idP].CCCH_pdu.payload[0], ra->msg4_rrc_sdu_length); // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; - TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; + mac->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP; + TX_req = &mac->TX_req[CC_idP].tx_request_body.tx_pdu_list[mac->TX_req[CC_idP].tx_request_body.number_of_pdus]; TX_req->pdu_length = ra->msg4_TBsize; - TX_req->pdu_index = eNB->pdu_index[CC_idP]++; + TX_req->pdu_index = mac->pdu_index[CC_idP]++; TX_req->num_segments = 1; TX_req->segments[0].segment_length = ra->msg4_TBsize; - TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]; - eNB->TX_req[CC_idP].tx_request_body.number_of_pdus++; + TX_req->segments[0].segment_data = mac->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0]; + mac->TX_req[CC_idP].tx_request_body.number_of_pdus++; // Program ACK/NAK for Msg4 PDSCH int absSF = (frameP * 10) + subframeP; // see Section 10.2 from 36.213 int ackNAK_absSF = absSF + reps + 3; AssertFatal (reps == 1, "Have to handle programming of ACK when PDSCH repetitions is > 1\n"); - ul_req = &eNB->UL_req_tmp[CC_idP][ackNAK_absSF % 10].ul_config_request_body; - ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; + ul_req_body = &mac->UL_req_tmp[CC_idP][ackNAK_absSF % 10].ul_config_request_body; + ul_config_pdu = &ul_req_body->ul_config_pdu_list[ul_req_body->number_of_pdus]; ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; ul_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_ul_config_uci_harq_pdu)); @@ -903,12 +902,12 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, } else { AssertFatal (1 == 0, "PUCCH configuration for ACK/NAK not handled yet for TDD BL/CE case\n"); } - ul_req->number_of_pdus++; + ul_req_body->number_of_pdus++; T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_idP), T_INT (ra->rnti), T_INT (frameP), T_INT (subframeP), - T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], ra->msg4_TBsize)); + T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&mac->UE_list.DLSCH_pdu[CC_idP][0][UE_id].payload[0], ra->msg4_TBsize)); if (opt_enabled == 1) { - trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], ra->msg4_rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), eNB->frame, eNB->subframe, 0, 0); + trace_pdu (1, (uint8_t *) mac->UE_list.DLSCH_pdu[CC_idP][0][(unsigned char) UE_id].payload[0], ra->msg4_rrc_sdu_length, UE_id, 3, UE_RNTI (module_idP, UE_id), mac->frame, mac->subframe, 0, 0); LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_idP, frameP, UE_RNTI (module_idP, UE_id), ra->msg4_rrc_sdu_length); } } // Msg4 frame/subframe diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 62da2e84d6..983f82c94a 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -387,8 +387,6 @@ schedule_SI_BR(module_id_t module_idP, frame_t frameP, frameP, BCCH_SI_BR+i,1, &cc->BCCH_BR_pdu[i+1].payload[0], - 1, - module_idP, 0); // not used in this case AssertFatal(bcch_sdu_length>0,"RRC returned 0 bytes for SI-BR %d\n",i); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index c898d399d6..7e1ea7be67 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -2385,8 +2385,8 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP, if (ue_sched_ctl->pucch1_cqi_update[CC_id] == 1) { ue_sched_ctl->pucch1_cqi_update[CC_id] = 0; - UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; - UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_frame = frameP; + UE_list->UE_template[CC_id][UE_id].pucch_tpc_tx_subframe = subframeP; if (normalized_rx_power > (target_rx_power + 4)) { tpc = 0; //-1 @@ -2866,15 +2866,19 @@ schedule_ue_spec_br( if ( TBS-ta_len-header_len_dcch > 0 ) { LOG_I(MAC,"Calling mac_rlc_status_ind for DCCH\n"); rlc_status = mac_rlc_status_ind( - module_idP, - rnti, - module_idP, - frameP, - subframeP, - ENB_FLAG_YES, - MBMS_FLAG_NO, - DCCH, - (TBS-ta_len-header_len_dcch)); // transport block set size + module_idP, + rnti, + module_idP, + frameP, + subframeP, + ENB_FLAG_YES, + MBMS_FLAG_NO, + DCCH, + (TBS-ta_len-header_len_dcch) +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,0, 0 +#endif + ); // transport block set size sdu_lengths[0]=0; @@ -2890,7 +2894,11 @@ schedule_ue_spec_br( MBMS_FLAG_NO, DCCH, TBS, //not used - (char *)&dlsch_buffer[0]); + (char *)&dlsch_buffer[0] +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,0, 0 +#endif +); T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0])); @@ -2918,7 +2926,11 @@ schedule_ue_spec_br( ENB_FLAG_YES, MBMS_FLAG_NO, DCCH+1, - (TBS-ta_len-header_len_dcch-sdu_length_total)); // transport block set size less allocations for timing advance and + (TBS-ta_len-header_len_dcch-sdu_length_total) +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,0, 0 +#endif +); // transport block set size less allocations for timing advance and // DCCH SDU sdu_lengths[num_sdus] = 0; @@ -2934,7 +2946,11 @@ schedule_ue_spec_br( MBMS_FLAG_NO, DCCH+1, TBS, //not used - (char *)&dlsch_buffer[sdu_length_total]); + (char *)&dlsch_buffer[sdu_length_total] +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,0, 0 +#endif +); T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), T_INT(harq_pid), T_INT(DCCH+1), T_INT(sdu_lengths[num_sdus])); @@ -2970,8 +2986,12 @@ schedule_ue_spec_br( ENB_FLAG_YES, MBMS_FLAG_NO, lcid, - TBS-ta_len-header_len_dcch-sdu_length_total-header_len_dtch); - + TBS-ta_len-header_len_dcch-sdu_length_total-header_len_dtch +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,0, 0 +#endif + ); + if (rlc_status.bytes_in_buffer > 0) { @@ -2985,7 +3005,11 @@ schedule_ue_spec_br( MBMS_FLAG_NO, lcid, TBS, //not used - (char*)&dlsch_buffer[sdu_length_total]); + (char*)&dlsch_buffer[sdu_length_total] +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,0, 0 +#endif + ); T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP), T_INT(harq_pid), T_INT(lcid), T_INT(sdu_lengths[num_sdus])); @@ -3109,8 +3133,8 @@ schedule_ue_spec_br( // this is the normalized RX power /* TODO: fix how we deal with power, unit is not dBm, it's special from nfapi */ - normalized_rx_power = ue_sched_ctl->pucch1_snr[CC_id]; - target_rx_power = 208; + normalized_rx_power = (5*ue_sched_ctl->pucch1_snr[CC_id]-640)/10+30; + target_rx_power = eNB->puCch10xSnr/10+30; // this assumes accumulated tpc // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out @@ -3125,17 +3149,15 @@ schedule_ue_spec_br( if (normalized_rx_power>(target_rx_power+4)) { tpc = 0; //-1 - ue_sched_ctl->pucch_tpc_accumulated[CC_id]--; } else if (normalized_rx_power<(target_rx_power-4)) { tpc = 2; //+1 - ue_sched_ctl->pucch_tpc_accumulated[CC_id]++; } else { tpc = 1; //0 } - LOG_D(MAC,"[eNB %d] DLSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", + LOG_D(MAC,"[eNB %d] DLSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, normalized/target rx power %d/%d\n", module_idP,frameP, subframeP,harq_pid,tpc, - ue_sched_ctl->pucch_tpc_accumulated[CC_id],normalized_rx_power,target_rx_power); + normalized_rx_power,target_rx_power); } // Po_PUCCH has been updated else { diff --git a/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c b/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c index 9ab4306000..310b3ca8df 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c @@ -195,7 +195,7 @@ void dlsch_scheduler_pre_ue_select_fairRR( // Initialization for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { - dlsch_ue_max_num[CC_id] = (uint16_t)RC.rrc[module_idP]->configuration.ue_multiple_max[CC_id]; + dlsch_ue_max_num[CC_id] = (uint16_t)RC.rrc[module_idP]->configuration.radioresourceconfig[CC_id].ue_multiple_max; // save origin DL PDU number DL_req = &eNB->DL_req[CC_id].dl_config_request_body; @@ -1978,7 +1978,7 @@ void ulsch_scheduler_pre_ue_select_fairRR( //save ulsch dci number saved_ulsch_dci[CC_id] = eNB->HI_DCI0_req[CC_id][subframeP].hi_dci0_request_body.number_of_dci; // maximum multiplicity number - ulsch_ue_max_num[CC_id] =RC.rrc[module_idP]->configuration.ue_multiple_max[CC_id]; + ulsch_ue_max_num[CC_id] =RC.rrc[module_idP]->configuration.radioresourceconfig[CC_id].ue_multiple_max; cc_id_flag[CC_id] = 0; ue_first_num[CC_id] = 0; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 023ed25dbf..00a13cc924 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -349,7 +349,11 @@ rx_sdu(const module_id_t enb_mod_idP, DCCH, (uint8_t *) payload_ptr, rx_lengths[i], - 0); + 0 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + ,ra->rach_resource_type>0 +#endif + ); // prepare transmission of Msg4(RRCConnectionReconfiguration) ra->state = MSGCRNTI; LOG_I(MAC, @@ -565,11 +569,11 @@ rx_sdu(const module_id_t enb_mod_idP, if ((UE_id = add_new_ue(enb_mod_idP, CC_idP, mac->common_channels[CC_idP]. - ra[ii].rnti, harq_pid + ra->rnti, harq_pid #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) , mac->common_channels[CC_idP]. - ra[ii].rach_resource_type + ra->rach_resource_type #endif )) == -1) { LOG_E(MAC,"[MAC][eNB] Max user count reached\n"); @@ -598,7 +602,7 @@ rx_sdu(const module_id_t enb_mod_idP, rx_lengths[i], 0 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - ,(eNB->common_channels[CC_idP].RA_template[ii].rach_resource_type>0) + ,ra->rach_resource_type>0 #endif ); @@ -1067,12 +1071,11 @@ schedule_ulsch(module_id_t module_idP, frame_t frameP, stop_meas(&mac->schedule_ulsch); } -void -schedule_ulsch_rnti(module_id_t module_idP, - int slice_idx, - frame_t frameP, - sub_frame_t subframeP, - unsigned char sched_subframeP, uint16_t * first_rb) +void schedule_ulsch_rnti(module_id_t module_idP, + int slice_idx, + frame_t frameP, + sub_frame_t subframeP, + unsigned char sched_subframeP, uint16_t * first_rb) { int UE_id; uint8_t aggregation = 2; @@ -1083,7 +1086,6 @@ schedule_ulsch_rnti(module_id_t module_idP, uint8_t rb_table_index = -1; uint32_t cqi_req, cshift, ndi, tpc; int32_t normalized_rx_power, target_rx_power; - static int32_t tpc_accumulated = 0; int n; int CC_id = 0; int drop_ue = 0; @@ -1111,10 +1113,10 @@ schedule_ulsch_rnti(module_id_t module_idP, nfapi_ul_config_request_body_t *ul_req_tmp_body = &ul_req_tmp->ul_config_request_body; nfapi_ul_config_ulsch_harq_information *ulsch_harq_information; - for (CC_id = 0; CC_id < RC.nb_mac_CC[module_idP]; ++CC_id) { + for (CC_id = 0; CC_id < RC.nb_mac_CC[module_idP]; ++CC_id) { N_RB_UL = to_prb(cc[CC_id].ul_Bandwidth); - UE_list->first_rb_offset[CC_id][slice_idx] = cmin(N_RB_UL, sli->ul[slice_idx].first_rb); - } + UE_list->first_rb_offset[CC_id][slice_idx] = cmin(N_RB_UL, sli->ul[slice_idx].first_rb); + } //LOG_D(MAC, "entering ulsch preprocesor\n"); ulsch_scheduler_pre_processor(module_idP, slice_idx, frameP, subframeP, sched_subframeP, first_rb); @@ -1295,10 +1297,10 @@ schedule_ulsch_rnti(module_id_t module_idP, UE_template->pusch_tpc_tx_subframe = subframeP; if (normalized_rx_power > (target_rx_power + 4)) { tpc = 0; //-1 - tpc_accumulated--; + UE_sched_ctrl->tpc_accumulated[CC_id]--; } else if (normalized_rx_power < (target_rx_power - 4)) { tpc = 2; //+1 - tpc_accumulated++; + UE_sched_ctrl->tpc_accumulated[CC_id]++; } else { tpc = 1; //0 } @@ -1310,7 +1312,7 @@ schedule_ulsch_rnti(module_id_t module_idP, LOG_D(MAC, "[eNB %d] ULSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", module_idP, frameP, subframeP, harq_pid, tpc, - tpc_accumulated, normalized_rx_power, + UE_sched_ctrl->tpc_accumulated[CC_id], normalized_rx_power, target_rx_power); } // new transmission @@ -1624,10 +1626,9 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, uint8_t round = 0; uint8_t harq_pid = 0; uint8_t status = 0; - uint32_t cqi_req,cshift,ndi,tpc; + uint32_t cshift,ndi; int32_t normalized_rx_power; int32_t target_rx_power=-90; - static int32_t tpc_accumulated=0; int n; int CC_id = 0; int N_RB_UL; @@ -1638,10 +1639,12 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, UE_sched_ctrl *UE_sched_ctrl; int sched_frame=frameP; int rvidx_tab[4] = {0,2,3,1}; + int tpc=0; + int cqi_req=0; if (sched_subframePHI_DCI0_req[CC_id].hi_dci0_request_body; + nfapi_hi_dci0_request_body_t *hi_dci0_req = &eNB->HI_DCI0_req[CC_id][subframeP].hi_dci0_request_body; nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu; nfapi_ul_config_request_body_t *ul_req_tmp = &eNB->UL_req_tmp[CC_id][sched_subframeP].ul_config_request_body; @@ -1682,7 +1685,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, LOG_D(MAC,"[eNB %d] frame %d subframe %d,Checking PUSCH %d for BL/CE UE %d/%x CC %d : aggregation level %d, N_RB_UL %d\n", module_idP,frameP,subframeP,harq_pid,UE_id,rnti,CC_id, 24,N_RB_UL); - RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP] = UE_template->ul_total_buffer; + RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP] = UE_template->estimated_ul_buffer; VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_UE0_BO,RC.eNB[module_idP][CC_id]->pusch_stats_BO[UE_id][(frameP*10)+subframeP]); if ((UE_template->ul_SR >0 || round > 0 || status < RRC_CONNECTED)&&(subframeP==5)) // if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames @@ -1712,7 +1715,6 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, */ cqi_req = 0; - UE_template->oldCQI_UL[harq_pid] = cqi_req; //power control //compute the expected ULSCH RX power (for the stats) @@ -1731,10 +1733,10 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, UE_template->pusch_tpc_tx_subframe=subframeP; if (normalized_rx_power>(target_rx_power+4)) { tpc = 0; //-1 - tpc_accumulated--; + UE_sched_ctrl->tpc_accumulated[CC_id]--; } else if (normalized_rx_power<(target_rx_power-4)) { tpc = 2; //+1 - tpc_accumulated++; + UE_sched_ctrl->tpc_accumulated[CC_id]++; } else { tpc = 1; //0 } @@ -1743,12 +1745,11 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, } //tpc = 1; - UE_template->oldTPC_UL[harq_pid] = tpc; if (tpc!=1) { LOG_D(MAC,"[eNB %d] ULSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n", module_idP,frameP,subframeP,harq_pid,tpc, - tpc_accumulated,normalized_rx_power,target_rx_power); + UE_sched_ctrl->tpc_accumulated[CC_id],normalized_rx_power,target_rx_power); } // new transmission @@ -1786,12 +1787,11 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_UE0_SCHEDULED,UE_sched_ctrl->ul_scheduled); // adjust total UL buffer status by TBS, wait for UL sdus to do final update - LOG_D(MAC,"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d\n", module_idP,CC_id,UE_id,rnti,UE_template->ul_total_buffer,UE_template->TBS_UL[harq_pid]); - if (UE_template->ul_total_buffer > UE_template->TBS_UL[harq_pid]) - UE_template->ul_total_buffer -= UE_template->TBS_UL[harq_pid]; - else - UE_template->ul_total_buffer = 0; - LOG_D(MAC,"ul_total_buffer, new %d\n", UE_template->ul_total_buffer); + UE_template->scheduled_ul_bytes += UE_template->TBS_UL[harq_pid]; + + LOG_D(MAC, "scheduled_ul_bytes, new %d\n", UE_template->scheduled_ul_bytes); + + // Cyclic shift for DM RS cshift = 0;// values from 0 to 7 can be used for mapping the cyclic shift (36.211 , Table 5.5.2.1.1-1) // save it for a potential retransmission @@ -1826,7 +1826,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, UE_template->first_rb_ul[harq_pid] = narrowband_to_first_rb (cc, epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); - hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci+eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_hi]; + hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[hi_dci0_req->number_of_dci+hi_dci0_req->number_of_hi]; memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_MPDCCH_DCI_PDU_TYPE; @@ -1873,7 +1873,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.total_dci_length_include_padding = 29; // hard-coded for 10 MHz hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_tx_antenna_ports = 1; - eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci++; + hi_dci0_req->number_of_dci++; LOG_I(MAC,"[PUSCH %d] Frame %d, Subframe %d: Adding UL CONFIG.Request for BL/CE UE %d/%x, ulsch_frame %d, ulsch_subframe %d, UESS mpdcch narrowband %d\n", @@ -1955,7 +1955,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, UE_template->first_rb_ul[harq_pid] = narrowband_to_first_rb (cc, epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13-1); - hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci+eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_hi]; + hi_dci0_pdu = &hi_dci0_req->hi_dci0_pdu_list[hi_dci0_req->number_of_dci+hi_dci0_req->number_of_hi]; memset((void*)hi_dci0_pdu,0,sizeof(nfapi_hi_dci0_request_pdu_t)); hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_MPDCCH_DCI_PDU_TYPE; @@ -1991,8 +1991,8 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.redudency_version = rvidx_tab[round&3]; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.new_data_indication = UE_template->oldNDI_UL[harq_pid]; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.harq_process = harq_pid; - hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tpc = UE_template->oldTPC_UL[harq_pid]; - hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.csi_request = UE_template->oldCQI_UL[harq_pid]; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.tpc = tpc; + hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.csi_request = cqi_req; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.ul_inex = 0; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dai_presence_flag = 0; hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.dl_assignment_index = 0; @@ -2002,8 +2002,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.total_dci_length_include_padding = 29; // hard-coded for 10 MHz hi_dci0_pdu->mpdcch_dci_pdu.mpdcch_dci_pdu_rel13.number_of_tx_antenna_ports = 1; - eNB->HI_DCI0_req[CC_id].hi_dci0_request_body.number_of_dci++; - + hi_dci0_req->number_of_dci++; fill_nfapi_ulsch_config_request_rel8(&ul_req_tmp->ul_config_pdu_list[ul_req_tmp->number_of_pdus], cqi_req, cc, diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h index ed6171dceb..1f23a01d4a 100644 --- a/openair2/LAYER2/MAC/mac.h +++ b/openair2/LAYER2/MAC/mac.h @@ -896,9 +896,6 @@ typedef struct { uint32_t pucch_tpc_tx_frame; uint32_t pucch_tpc_tx_subframe; -#ifdef LOCALIZATION - eNB_UE_estimated_distances distance; -#endif #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) uint8_t rach_resource_type; @@ -978,6 +975,7 @@ typedef struct { uint16_t feedback_cnt[NFAPI_CC_MAX]; uint16_t timing_advance; uint16_t timing_advance_r9; + uint8_t tpc_accumulated[NFAPI_CC_MAX]; uint8_t periodic_wideband_cqi[NFAPI_CC_MAX]; uint8_t periodic_wideband_spatial_diffcqi[NFAPI_CC_MAX]; uint8_t periodic_wideband_pmi[NFAPI_CC_MAX]; @@ -999,60 +997,63 @@ typedef struct { } UE_sched_ctrl; /*! \brief eNB template for the Random access information */ typedef struct { - /// Flag to indicate this process is active - RA_state state; - /// Subframe where preamble was received - uint8_t preamble_subframe; - /// Subframe where Msg2 is to be sent - uint8_t Msg2_subframe; - /// Frame where Msg2 is to be sent - frame_t Msg2_frame; - /// Subframe where Msg3 is to be sent - sub_frame_t Msg3_subframe; - /// Frame where Msg3 is to be sent - frame_t Msg3_frame; - /// Subframe where Msg4 is to be sent - sub_frame_t Msg4_subframe; - /// Frame where Msg4 is to be sent - frame_t Msg4_frame; - /// harq_pid used for Msg4 transmission - uint8_t harq_pid; - /// UE RNTI allocated during RAR - rnti_t rnti; - /// RA RNTI allocated from received PRACH - uint16_t RA_rnti; - /// Received preamble_index - uint8_t preamble_index; - /// Received UE Contention Resolution Identifier - uint8_t cont_res_id[6]; - /// Timing offset indicated by PHY - int16_t timing_offset; - /// Timeout for RRC connection - int16_t RRC_timer; - /// Msg3 first RB - uint8_t msg3_first_rb; - /// Msg3 number of RB - uint8_t msg3_nb_rb; - /// Msg3 MCS - uint8_t msg3_mcs; - /// Msg3 TPC command - uint8_t msg3_TPC; - /// Msg3 ULdelay command - uint8_t msg3_ULdelay; - /// Msg3 cqireq command - uint8_t msg3_cqireq; - /// Round of Msg3 HARQ - uint8_t msg3_round; - /// TBS used for Msg4 - int msg4_TBsize; - /// MCS used for Msg4 - int msg4_mcs; + /// Flag to indicate this process is active + RA_state state; + /// Subframe where preamble was received + uint8_t preamble_subframe; + /// Subframe where Msg2 is to be sent + uint8_t Msg2_subframe; + /// Frame where Msg2 is to be sent + frame_t Msg2_frame; + /// Subframe where Msg3 is to be sent + sub_frame_t Msg3_subframe; + /// Frame where Msg3 is to be sent + frame_t Msg3_frame; + /// Subframe where Msg4 is to be sent + sub_frame_t Msg4_subframe; + /// Frame where Msg4 is to be sent + frame_t Msg4_frame; + /// harq_pid used for Msg4 transmission + uint8_t harq_pid; + /// UE RNTI allocated during RAR + rnti_t rnti; + /// RA RNTI allocated from received PRACH + uint16_t RA_rnti; + /// Received preamble_index + uint8_t preamble_index; + /// Received UE Contention Resolution Identifier + uint8_t cont_res_id[6]; + /// Timing offset indicated by PHY + int16_t timing_offset; + /// Timeout for RRC connection + int16_t RRC_timer; + /// Msg3 first RB + uint8_t msg3_first_rb; + /// Msg3 number of RB + uint8_t msg3_nb_rb; + /// Msg3 MCS + uint8_t msg3_mcs; + /// Msg3 TPC command + uint8_t msg3_TPC; + /// Msg3 ULdelay command + uint8_t msg3_ULdelay; + /// Msg3 cqireq command + uint8_t msg3_cqireq; + /// Round of Msg3 HARQ + uint8_t msg3_round; + /// TBS used for Msg4 + int msg4_TBsize; + /// MCS used for Msg4 + int msg4_mcs; #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - uint8_t rach_resource_type; - uint8_t msg2_mpdcch_repetition_cnt; - uint8_t msg4_mpdcch_repetition_cnt; - uint8_t msg2_narrowband; - uint8_t msg34_narrowband; + uint8_t rach_resource_type; + uint8_t msg2_mpdcch_repetition_cnt; + int msg2_mpdcch_done; + uint8_t msg4_mpdcch_repetition_cnt; + int msg4_mpdcch_done; + uint8_t msg2_narrowband; + uint8_t msg34_narrowband; + int msg4_rrc_sdu_length; #endif int32_t crnti_rrc_mui; int8_t crnti_harq_pid; diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c index 0103341bf8..22c20da021 100755 --- a/openair2/LAYER2/MAC/rar_tools.c +++ b/openair2/LAYER2/MAC/rar_tools.c @@ -112,13 +112,13 @@ fill_rar(const module_id_t module_idP, //------------------------------------------------------------------------------ unsigned short fill_rar_br(eNB_MAC_INST *eNB, - int CC_id, - RA_TEMPLATE *RA_template, - const frame_t frameP, - const sub_frame_t subframeP, - uint8_t* const dlsch_buffer, - const uint8_t ce_level -) + int CC_id, + RA_t *ra, + const frame_t frameP, + const sub_frame_t subframeP, + uint8_t* const dlsch_buffer, + const uint8_t ce_level + ) //------------------------------------------------------------------------------ { @@ -132,47 +132,46 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, int input_buffer_length; - AssertFatal(ra != NULL, "RA is null \n"); - - // subheader fixed - rarh->E = 0; // First and last RAR - rarh->T = 1; // 0 for E/T/R/R/BI subheader, 1 for E/T/RAPID subheader - rarh->RAPID = ra->preamble_index; // Respond to Preamble 0 only for the moment - ra->timing_offset /= 16; //T_A = N_TA/16, where N_TA should be on a 30.72Msps - rar[0] = (uint8_t) (ra->timing_offset >> (2 + 4)); // 7 MSBs of timing advance + divide by 4 - rar[1] = (uint8_t) (ra->timing_offset << (4 - 2)) & 0xf0; // 4 LSBs of timing advance + divide by 4 - - + AssertFatal(ra != NULL, "RA is null \n"); + + // subheader fixed + rarh->E = 0; // First and last RAR + rarh->T = 1; // 0 for E/T/R/R/BI subheader, 1 for E/T/RAPID subheader + rarh->RAPID = ra->preamble_index; // Respond to Preamble 0 only for the moment + ra->timing_offset /= 16; //T_A = N_TA/16, where N_TA should be on a 30.72Msps + rar[0] = (uint8_t) (ra->timing_offset >> (2 + 4)); // 7 MSBs of timing advance + divide by 4 + rar[1] = (uint8_t) (ra->timing_offset << (4 - 2)) & 0xf0; // 4 LSBs of timing advance + divide by 4 + + int N_NB_index; + // Copy the Msg2 narrowband - RA_template->msg34_narrowband = RA_template->msg2_narrowband; - RA_template->msg3_first_rb = 0; - RA_template->msg3_nb_rb = 2; + ra->msg34_narrowband = ra->msg2_narrowband; + ra->msg3_first_rb = 0; + ra->msg3_nb_rb = 2; - // Copy the Msg2 narrowband - ra->msg34_narrowband = ra->msg2_narrowband; - - if (ce_level < 2) { //CE Level 0,1, CEmodeA - input_buffer_length = 6; - - - rar[4] = (uint8_t)(RA_template->rnti>>8); - rar[5] = (uint8_t)(RA_template->rnti&0xff); - //cc->RA_template[ra_idx].timing_offset = 0; + if (ce_level < 2) { //CE Level 0,1, CEmodeA + input_buffer_length = 6; + + N_NB_index = get_numnarrowbandbits(cc->mib->message.dl_Bandwidth); + rar[4] = (uint8_t)(ra->rnti>>8); + rar[5] = (uint8_t)(ra->rnti&0xff); + //cc->ra[ra_idx].timing_offset = 0; + reps = 0; - RA_template->msg3_mcs = 7; + ra->msg3_mcs = 7; TPC = 3; // no power increase ULdelay = 0; cqireq = 0; mpdcch_nb_index = 0; - rballoc = mac_computeRIV(6,RA_template->msg3_first_rb,RA_template->msg3_nb_rb); + rballoc = mac_computeRIV(6,ra->msg3_first_rb,ra->msg3_nb_rb); uint32_t buffer = 0; - buffer |= RA_template->msg34_narrowband << (16 + (4 - N_NB_index)); + buffer |= ra->msg34_narrowband << (16 + (4 - N_NB_index)); buffer |= ((rballoc & 0xFF) << (12 + (4 - N_NB_index))); buffer |= ((reps & 0x03) << (10 + (4 - N_NB_index))); - buffer |= ((RA_template->msg3_mcs & 0x07) << (7 + (4 - N_NB_index))); + buffer |= ((ra->msg3_mcs & 0x07) << (7 + (4 - N_NB_index))); buffer |= ((TPC & 0x07) << (4 + (4 - N_NB_index))); buffer |= ((cqireq & 0x01) << (3 + (4 - N_NB_index))); buffer |= ((ULdelay & 0x01) << (2 + (4 - N_NB_index))); @@ -183,47 +182,30 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, } else { // CE level 2,3 => CEModeB - // reps = 4; - mcs = 7; - TPC = 3; // no power increase - ULdelay = 0; - cqireq = 0; - rar[2] |= ((mcs & 0x8) >> 3); // mcs 10 - rar[3] = - (((mcs & 0x7) << 5)) | ((TPC & 7) << 2) | ((ULdelay & 1) << 1) - | (cqireq & 1); - } else { // CE level 2,3 => CEModeB + AssertFatal(1==0,"Shouldn't get here ...\n"); + input_buffer_length =5; - rar[3] = (uint8_t)(RA_template->rnti>>8); - rar[4] = (uint8_t)(RA_template->rnti&0xff); + rar[3] = (uint8_t)(ra->rnti>>8); + rar[4] = (uint8_t)(ra->rnti&0xff); } LOG_I(MAC,"[RAPROC] Frame %d Subframe %d : Generating RAR BR (%02x|%02x.%02x.%02x.%02x.%02x.%02x) for ce_level %d, CRNTI %x,preamble %d/%d,TIMING OFFSET %d\n", frameP,subframeP, *(uint8_t*)rarh,rar[0],rar[1],rar[2],rar[3],rar[4],rar[5], ce_level, - RA_template->rnti, - rarh->RAPID,RA_template->preamble_index, - RA_template->timing_offset); + ra->rnti, + rarh->RAPID,ra->preamble_index, + ra->timing_offset); - rar[3] = (uint8_t) (ra->rnti >> 8); - rar[4] = (uint8_t) (ra->rnti & 0xff); - } - LOG_D(MAC, - "[RAPROC] Frame %d Generating RAR BR (%02x|%02x.%02x.%02x.%02x.%02x.%02x) for ce_level %d, CRNTI %x,preamble %d/%d,TIMING OFFSET %d\n", - frameP, *(uint8_t *) rarh, rar[0], rar[1], rar[2], rar[3], - rar[4], rar[5], ce_level, ra->rnti, rarh->RAPID, - ra->preamble_index, ra->timing_offset); + if (opt_enabled) { + trace_pdu(DIRECTION_DOWNLINK , dlsch_buffer, input_buffer_length, eNB->Mod_id, WS_RA_RNTI , 1, + eNB->frame, eNB->subframe, 0, 0); + LOG_D(OPT, + "[RAPROC] RAR Frame %d trace pdu for rnti %x and rapid %d size %d\n", + frameP, ra->rnti, rarh->RAPID, input_buffer_length); + } - if (opt_enabled) { - trace_pdu(DIRECTION_DOWNLINK , dlsch_buffer, input_buffer_length, eNB->Mod_id, WS_RA_RNTI , 1, - eNB->frame, eNB->subframe, 0, 0); - LOG_D(OPT, - "[RAPROC] RAR Frame %d trace pdu for rnti %x and rapid %d size %d\n", - frameP, ra->rnti, rarh->RAPID, input_buffer_length); - } - - return (ra->rnti); + return (ra->rnti); } #endif diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c index e09b3204ba..206ef08606 100755 --- a/openair2/LAYER2/MAC/ue_procedures.c +++ b/openair2/LAYER2/MAC/ue_procedures.c @@ -558,20 +558,16 @@ ue_send_sdu(module_id_t module_idP, LOG_T(MAC, "\n"); #endif - mac_rrc_data_ind(module_idP, - CC_id, - frameP,subframeP, - UE_mac_inst[module_idP].crnti, - CCCH, - (uint8_t*)payload_ptr, - rx_lengths[i], - ENB_FLAG_NO, - eNB_index, - 0 - #ifdef Rel14 - ,0 - #endif - ); + mac_rrc_data_ind_ue(module_idP, + CC_id, + frameP,subframeP, + UE_mac_inst[module_idP].crnti, + CCCH, + (uint8_t*)payload_ptr, + rx_lengths[i], + eNB_index, + 0 + ); } else if ((rx_lcids[i] == DCCH) || (rx_lcids[i] == DCCH1)) { LOG_D(MAC,"[UE %d] Frame %d : DLSCH -> DL-DCCH%d, RRC message (eNB %d, %d bytes)\n", module_idP, frameP, rx_lcids[i],eNB_index,rx_lengths[i]); diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c index b7a738ef06..4f9e1a73ef 100755 --- a/openair2/PHY_INTERFACE/IF_Module.c +++ b/openair2/PHY_INTERFACE/IF_Module.c @@ -48,8 +48,8 @@ void handle_rach(UL_IND_t *UL_info) { "Got regular PRACH preamble, not BL/CE\n"); LOG_D(MAC,"Frame %d, Subframe %d Calling initiate_ra_proc (CE_level %d)\n",UL_info->frame,UL_info->subframe, - UL_info->rach_ind_br.preamble_list[i].preamble_rel13.rach_resource_type-1); - UL_info->rach_ind_br.number_of_preambles=0; + UL_info->rach_ind_br.rach_indication_body.preamble_list[i].preamble_rel13.rach_resource_type-1); + UL_info->rach_ind_br.rach_indication_body.number_of_preambles=0; initiate_ra_proc(UL_info->module_id, UL_info->CC_id, diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c index 31f9c1c2d0..5189564ed5 100755 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c @@ -371,7 +371,6 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, uint8_t *buffer; BCCH_DL_SCH_Message_t *bcch_message; SystemInformationBlockType1_t **sib1; - SystemInformationBlockType1_BR_r13_t **sib1_br; #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) if (brOption) { @@ -400,7 +399,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, memset(&sib_type,0,sizeof(SIB_Type_t)); /* as per TS 36.311, up to 6 PLMN_identity_info are allowed in list -> add one by one */ - for (i = 0; i < configuration->num_plmn; ++i) { + for (int i = 0; i < configuration->num_plmn; ++i) { PLMN_identity_info[i].plmn_Identity.mcc = CALLOC(1,sizeof(*PLMN_identity_info[i].plmn_Identity.mcc)); memset(PLMN_identity_info[i].plmn_Identity.mcc,0,sizeof(*PLMN_identity_info[i].plmn_Identity.mcc)); @@ -616,7 +615,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, if (configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]) { - printf("[DEBUGGING][KOGO][TANY2]: bandwidthReducedAccessRelatedInfo_r13 = %d\n", configuration->bandwidthReducedAccessRelatedInfo_r13[CC_id]); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13 = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13)); @@ -631,7 +630,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13 = configuration->si_RepetitionPattern_r13[CC_id]; // 0 - printf("[DEBUGGING][KOGO][ASN1]: si_RepetitionPattern_r13 = %d\n", configuration->si_RepetitionPattern_r13[CC_id]); + sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13 = calloc(1, sizeof(SchedulingInfoList_BR_r13_t)); @@ -645,9 +644,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; - printf("[DEBUGGING][ASN1]: si_NarrowBand_r13: %d\n", configuration->si_Narrowband_r13[CC_id][index]); - printf("[DEBUGGING][ASN1]: si_TBS_r13: %d\n", configuration->si_TBS_r13[CC_id][index]); - LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13); + LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",(int)schedulinginfo_br_13->si_Narrowband_r13,(int)schedulinginfo_br_13->si_TBS_r13); ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); } @@ -716,7 +713,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = calloc(1, sizeof(long)); memset(sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13, 0, sizeof(long)); *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13 = *configuration->si_ValidityTime_r13[CC_id]; - printf("[DEBUGGING][KOGO]: si_validity time = %d\n", *sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_ValidityTime_r13); + } else { @@ -990,7 +987,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #endif #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part; + struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part=NULL; MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList; MBSFN_AreaInfoList_r9_t *MBSFNArea_list; struct MBSFN_AreaInfo_r9 *MBSFN_Area1, *MBSFN_Area2; @@ -1275,7 +1272,7 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength = rrconfig->ul_CyclicPrefixLength; - // LTE-M - +Kogo + (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = NULL; //calloc(1, sizeof(BCCH_Config_v1310_t)); @@ -1303,81 +1300,18 @@ uint8_t do_SIB23(uint8_t Mod_id, } + if (configuration->sib2_freq_hoppingParameters_r13_exists[CC_id]) { - puts("[DEBUGGING][KOGO][SIB23]: Structure exists"); + (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = CALLOC(1, sizeof(FreqHoppingParameters_r13_t)); - if (configuration->sib2_mpdcch_pdsch_hoppingNB_r13[CC_id]) - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingNB_r13 = CALLOC(1, sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingNB_r13 = *configuration->sib2_mpdcch_pdsch_hoppingNB_r13[CC_id]; - - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingNB_r13 = NULL; - } - - if (configuration->sib2_interval_DLHoppingConfigCommonModeA_r13[CC_id]) - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13 - = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeA_r13)); - if (*configuration->sib2_interval_DLHoppingConfigCommonModeA_r13[CC_id] == 0) - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->present - = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 - = configuration->sib2_interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->present - = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeA_r13_PR_interval_TDD_r13; - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13->choice.interval_TDD_r13 - = configuration->sib2_interval_DLHoppingConfigCommonModeA_r13_val[CC_id]; - - } - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeA_r13 = NULL; - } - - - if (configuration->sib2_interval_DLHoppingConfigCommonModeB_r13[CC_id]) - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13 - = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeB_r13)); - if (*configuration->sib2_interval_DLHoppingConfigCommonModeB_r13[CC_id] == 0) - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->present - = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 - = configuration->sib2_interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->present - = FreqHoppingParameters_r13__interval_DLHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 - = configuration->sib2_interval_DLHoppingConfigCommonModeB_r13_val[CC_id]; - - } - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_DLHoppingConfigCommonModeB_r13 = NULL; - } - + if (configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]) { - puts("[DEBUGGING][KOGO][ASN]: SIB2 Interval UL HOPPING CONFIG COMMON MODE A\n"); (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13)); if (*configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id] == 0) { - printf("[DEBUGGING][KOGO][ASN]: FDD UL HOPPING CONFIG COMMON MODE A\n"); - printf("[DEBUGGING][KOGO][ASN]: interval UL hopping config common: %d\n", configuration->sib2_interval_ULHoppingConfigCommonModeA_r13_val[CC_id]); (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->present = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 @@ -1395,7 +1329,6 @@ uint8_t do_SIB23(uint8_t Mod_id, } else { - printf("[DEBUGGING][KOGO][ALLOC ERROR] interval ul hopping: %d\n", configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]); (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = NULL; } @@ -1424,21 +1357,12 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13 = NULL; } - if (configuration->sib2_mpdcch_pdsch_hoppingOffset_r13[CC_id]) - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingOffset_r13 = CALLOC(1, sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingOffset_r13 = *configuration->sib2_mpdcch_pdsch_hoppingOffset_r13[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->mpdcch_pdsch_HoppingOffset_r13 = NULL; - } } else { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; } - + // pdsch_ConfigCommon_v1310 @@ -1447,7 +1371,6 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = *configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]; - printf("[DEBUGGING][KOGO] : pdsch CE MODE A : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13); } else { (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = NULL; } @@ -1455,7 +1378,6 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); // check if they're really long *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = *configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]; - printf("[DEBUGGING][KOGO] : pdsch CE MODE B : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13); } else { (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; } @@ -1469,7 +1391,6 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = *configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]; - printf("[DEBUGGING][KOGO] : pusch CE MODE A : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13); } else { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = NULL; } @@ -1477,7 +1398,6 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = *configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]; - printf("[DEBUGGING][KOGO] : pusch CE MODE B : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13); } else { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; } @@ -1485,7 +1405,6 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->pusch_HoppingOffset_v1310[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = *configuration->pusch_HoppingOffset_v1310[CC_id]; - printf("[DEBUGGING][KOGO] : pusch hopping offset : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310); } else { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; } @@ -1509,7 +1428,6 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->rsrp_range_list_size[CC_id]) { *rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; - printf("[DEBUGGING][KOGO][SIB23] : rsrp range = %d\n", *rsrp_range); } else { @@ -1536,8 +1454,6 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; } - printf("[DEBUGGING][KOGO][SIB23]: mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = %d\n", - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13); } if (rrconfig->prach_HoppingOffset_r13) @@ -1549,9 +1465,7 @@ uint8_t do_SIB23(uint8_t Mod_id, { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; } - printf("[DEBUGGING][KOGO][SIB23]: prach_HoppingOffset_r13 = %d\n", - *(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13); - + PRACH_ParametersCE_r13_t *prach_parametersce_r13; int num_prach_parameters_ce = configuration->prach_parameters_list_size[CC_id]; @@ -1641,7 +1555,6 @@ uint8_t do_SIB23(uint8_t Mod_id, puts("LEVEL 0"); (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]; - printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level0_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13); } else { @@ -1654,7 +1567,6 @@ uint8_t do_SIB23(uint8_t Mod_id, puts("LEVEL 1"); (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level1_r13[CC_id]; - printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level1_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13); } else { @@ -1666,7 +1578,6 @@ uint8_t do_SIB23(uint8_t Mod_id, puts("LEVEL 2"); (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level2_r13[CC_id]; - printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level2_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13); } else { @@ -1678,7 +1589,6 @@ uint8_t do_SIB23(uint8_t Mod_id, puts("LEVEL 3"); (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level3_r13[CC_id]; - printf("[DEBUGGING][KOGO][SIB23]: pucch_NumRepetitionCE_Msg4_Level3_r13 = %d\n", *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13); } else { @@ -2673,9 +2583,11 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin */ enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, + NULL, (void*)&ul_dcch_msg, buffer, 100); + AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", enc_rval.failed_type->name, enc_rval.encoded); @@ -2735,6 +2647,7 @@ do_RRCConnectionReconfigurationComplete( rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL; enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, + NULL, (void*)&ul_dcch_msg, buffer, 100); @@ -2781,7 +2694,6 @@ do_RRCConnectionSetup_BR( { asn_enc_rval_t enc_rval; - uint8_t ecause=0; eNB_RRC_INST *rrc = RC.rrc[ctxt_pP->module_id]; rrc_eNB_carrier_data_t *carrier = &rrc->carrier[CC_id]; @@ -2938,7 +2850,7 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic)); physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release; - physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.release = NULL; + physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.release = (NULL_t)0; /// TODO to be reviewed @@ -2955,7 +2867,7 @@ do_RRCConnectionSetup_BR( == SoundingRS_UL_ConfigCommon_PR_setup) if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); + (int)carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); if (ue_context_pP->local_uid >=20) LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", ue_context_pP->local_uid); @@ -2968,8 +2880,8 @@ do_RRCConnectionSetup_BR( == SoundingRS_UL_ConfigCommon_PR_setup) if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) { LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, - carrier->sib1->tdd_Config->subframeAssignment); + (int)carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig, + (int)carrier->sib1->tdd_Config->subframeAssignment); } if (ue_context_pP->local_uid >=6) LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n", @@ -2978,8 +2890,8 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2; } LOG_W(RRC,"local UID %d, srs ConfigIndex %d, TransmissionComb %d\n",ue_context_pP->local_uid, - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, - physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); + (int)physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex, + (int)physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb); physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift= SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0; @@ -3065,13 +2977,6 @@ do_RRCConnectionSetup_BR( } } - enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, - NULL, - (void*)&ul_dcch_msg, - buffer, - 100); - AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, enc_rval.encoded); physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n16; @@ -3101,9 +3006,6 @@ do_RRCConnectionSetup_BR( epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.bits_unused = 2; memset(epdcch_setconfig_r11->resourceBlockAssignment_r11.resourceBlockAssignment_r11.buf, 0, 5 * sizeof(uint8_t)); - LOG_D(RRC,"RRCConnectionSetupComplete Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8); - - epdcch_setconfig_r11->dmrs_ScramblingSequenceInt_r11 = 54; epdcch_setconfig_r11->pucch_ResourceStartOffset_r11 = 0; epdcch_setconfig_r11->re_MappingQCL_ConfigId_r11 = NULL; @@ -3142,7 +3044,6 @@ do_RRCConnectionSetup_BR( physicalConfigDedicated2->ext7->csi_RS_Config_v1310 = NULL; - // FIXME ce_Mode_r13 allocation physicalConfigDedicated2->ext7->ce_Mode_r13 = CALLOC(1, sizeof(struct PhysicalConfigDedicated__ext7__ce_Mode_r13)); physicalConfigDedicated2->ext7->ce_Mode_r13->present = PhysicalConfigDedicated__ext7__ce_Mode_r13_PR_setup; @@ -3175,12 +3076,11 @@ do_RRCConnectionSetup_BR( #ifdef XER_PRINT xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); #endif - enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, - NULL, - (void*)&ul_dcch_msg, - buffer, - 100); - + enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, + NULL, + (void*)&dl_ccch_msg, + buffer, + 100); AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", enc_rval.failed_type->name, enc_rval.encoded); @@ -3203,10 +3103,10 @@ do_RRCConnectionSetup_BR( # endif #endif - - LOG_D(RRC,"RRCConnectionSetup Encoded %zd bits (%zd bytes)\n", - enc_rval.encoded,(enc_rval.encoded+7)/8); - +#ifdef USER_MODE + LOG_D(RRC,"RRCConnectionSetup Encoded %d bits (%d bytes), ecause %d\n", + enc_rval.encoded,(enc_rval.encoded+7)/8,ecause); +#endif // FREEMEM(SRB_list); // free(SRB1_config); @@ -3436,7 +3336,7 @@ do_RRCConnectionSetup( == SoundingRS_UL_ConfigCommon_PR_setup) if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n", - carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); + (int)carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig); if (ue_context_pP->local_uid >=20) LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n", ue_context_pP->local_uid); @@ -3922,10 +3822,11 @@ do_RRCConnectionReconfiguration_BR( rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.securityConfigHO = NULL; enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, + NULL, (void*)&dl_dcch_msg, buffer, RRC_BUF_SIZE); - AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %l)!\n", + AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed %s, %lu!\n", enc_rval.failed_type->name, enc_rval.encoded); #ifdef XER_PRINT @@ -3951,13 +3852,8 @@ do_RRCConnectionReconfiguration_BR( # endif #endif - //#ifdef USER_MODE - LOG_I(RRC,"RRCConnectionReconfiguration Encoded %d bits (%d bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8); - // for (i=0;i<30;i++) - // msg("%x.",buffer[i]); - // msg("\n"); - //#endif + LOG_I(RRC,"RRCConnectionReconfiguration Encoded %d bits (%d bytes)\n",(int)enc_rval.encoded,(int)(enc_rval.encoded+7)/8); return((enc_rval.encoded+7)/8); } diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index 58eacacecb..4d9268eb44 100755 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -3054,9 +3054,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons //TODO: change TM for secondary CC in SCelltoaddmodlist if (*physicalConfigDedicated) { if ((*physicalConfigDedicated)->antennaInfo) { - (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0]; - LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.ue_TransmissionMode[0]); - if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) { + (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode; + LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode); + if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm3) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3066,7 +3066,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm4) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3077,7 +3077,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.bits_unused=2; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm5) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3087,7 +3087,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.size=1; (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.bits_unused=4; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm6) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3102,9 +3102,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons LOG_E(RRC,"antenna_info not present in physical_config_dedicated. Not reconfiguring!\n"); } if ((*physicalConfigDedicated)->cqi_ReportConfig) { - if ((rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) || - (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) || - (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6)) { + if ((rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm4) || + (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm5) || + (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm6)) { //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"); @@ -3781,9 +3781,9 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt //TODO: change TM for secondary CC in SCelltoaddmodlist if (*physicalConfigDedicated) { if ((*physicalConfigDedicated)->antennaInfo) { - (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0]; - LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.ue_TransmissionMode[0]); - if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) { + (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode; + LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode); + if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm3) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3793,7 +3793,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1; (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm4) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3804,7 +3804,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.bits_unused=2; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm5) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3814,7 +3814,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.size=1; (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.bits_unused=4; } - else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) { + else if (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm6) { (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction= CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR)); (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present = @@ -3830,9 +3830,9 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt LOG_E(RRC,"antenna_info not present in physical_config_dedicated. Not reconfiguring!\n"); } if ((*physicalConfigDedicated)->cqi_ReportConfig) { - if ((rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) || - (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) || - (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6)) { + if ((rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm4) || + (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm5) || + (rrc_inst->configuration.radioresourceconfig[0].ue_TransmissionMode==AntennaInfoDedicated__transmissionMode_tm6)) { //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"); @@ -5736,13 +5736,13 @@ rrc_eNB_generate_RRCConnectionSetup( if (is_mtc) { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size = do_RRCConnectionSetup_BR(ctxt_pP, - ue_context_pP, - CC_id, - (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Payload, - (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 - rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id), - SRB_configList, - &ue_context_pP->ue_context.physicalConfigDedicated); + ue_context_pP, + CC_id, + (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Payload, + (const uint8_t) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 + rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id), + SRB_configList, + &ue_context_pP->ue_context.physicalConfigDedicated); } else #endif { @@ -5751,7 +5751,7 @@ rrc_eNB_generate_RRCConnectionSetup( ue_context_pP, CC_id, (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Payload, - (uint8_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 + (const uint8_t) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].p_eNB, //at this point we do not have the UE capability information, so it can only be TM1 or TM2 rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id), SRB_configList, &ue_context_pP->ue_context.physicalConfigDedicated); diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c index d225b6eae0..a830f3145c 100755 --- a/openair2/RRC/LTE/rrc_eNB_S1AP.c +++ b/openair2/RRC/LTE/rrc_eNB_S1AP.c @@ -1857,7 +1857,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance lte_frame_type_t frame_type = RC.eNB[instance][CC_id]->frame_parms.frame_type; /* get nB from configuration */ /* get default DRX cycle from configuration */ - Tc = (uint8_t)RC.rrc[instance]->configuration.pcch_defaultPagingCycle[CC_id]; + Tc = (uint8_t)RC.rrc[instance]->configuration.radioresourceconfig[CC_id].pcch_defaultPagingCycle; if (Tc < PCCH_Config__defaultPagingCycle_rf32 || Tc > PCCH_Config__defaultPagingCycle_rf256) { continue; } @@ -1865,7 +1865,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance /* set T = min(Tc,Tue) */ T = Tc < Tue ? Ttab[Tc] : Ttab[Tue]; /* set pcch_nB = PCCH-Config->nB */ - pcch_nB = (uint32_t)RC.rrc[instance]->configuration.pcch_nB[CC_id]; + pcch_nB = (uint32_t)RC.rrc[instance]->configuration.radioresourceconfig[CC_id].pcch_nB; switch (pcch_nB) { case PCCH_Config__nB_fourT: Ns = 4; diff --git a/openair2/RRC/LTE/rrc_proto.h b/openair2/RRC/LTE/rrc_proto.h index 4fd990ba0d..0d36fc1923 100755 --- a/openair2/RRC/LTE/rrc_proto.h +++ b/openair2/RRC/LTE/rrc_proto.h @@ -432,6 +432,9 @@ mac_rrc_data_ind( const uint8_t* sduP, const sdu_size_t sdu_lenP, const uint8_t mbsfn_sync_areaP +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + , const boolean_t brOption +#endif ); int8_t @@ -458,9 +461,6 @@ mac_rrc_data_ind_ue( const sdu_size_t sdu_lenP, const mac_enb_index_t eNB_indexP, const uint8_t mbsfn_sync_areaP -#ifdef Rel14 - , const boolean_t brOption -#endif ); void mac_sync_ind( module_id_t Mod_instP, uint8_t status); From 374d00d8572eb66c974fe4b0b9084294897580ab Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 4 Nov 2018 00:03:44 +0100 Subject: [PATCH 093/109] removal of warnings during configuration --- openair2/ENB_APP/enb_config.c | 15 +- openair2/RRC/LTE/MESSAGES/asn1_msg.c | 314 ++++++++++----------------- openair2/RRC/LTE/rrc_eNB.c | 5 +- 3 files changed, 126 insertions(+), 208 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index bb73797f22..c59865dd60 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -757,7 +757,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int si_Narrowband_r13 = 0; int si_TBS_r13 = 0; - int systemInfoValueTagSi_r13 = 0; + // int systemInfoValueTagSi_r13 = 0; int firstPreamble_r13 = 0; int lastPreamble_r13 = 0; @@ -773,7 +773,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int numRepetitionPerPreambleAttempt_r13 = 0; int mpdcch_NumRepetition_RA_r13 = 0; int prach_HoppingConfig_r13 = 0; - int *maxavailablenarrowband = NULL; + //int *maxavailablenarrowband = NULL; int pucch_info_value = 0; int paging_narrowbands_r13 = 0; @@ -799,12 +799,12 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; - int pusch_HoppingOffset_v1310 = 0; + //int pusch_HoppingOffset_v1310 = 0; - int hyperSFN_r13 = 0; - int eDRX_Allowed_r13 = 0; + //int hyperSFN_r13 = 0; + //int eDRX_Allowed_r13 = 0; int q_RxLevMinCE_r13 = 0; - int q_QualMinRSRQ_CE_r13 = 0; + //int q_QualMinRSRQ_CE_r13 = 0; char *si_WindowLength_BR_r13 = NULL; char *si_RepetitionPattern_r13 = NULL; int startSymbolBR_r13 = 0; @@ -3654,8 +3654,7 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) { pucch_nRB_CQI, pucch_nCS_AN, pucch_n1_AN, pdsch_referenceSignalPower, pdsch_p_b, pusch_n_SB, pusch_hoppingOffset, pusch_groupAssignment, pusch_nDMRS1, srs_BandwidthConfig, srs_SubframeConfig, pusch_p0_Nominal, - pucch_p0_Nominal, msg3_delta_Preamble; - char *rach_numberOfRA_Preambles; + pucch_p0_Nominal, msg3_delta_Preamble,rach_numberOfRA_Preambles; int32_t rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, rach_powerRampingStep, rach_preambleInitialReceivedTargetPower, rach_preambleTransMax, rach_raResponseWindowSize, diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c index 5189564ed5..62db7df304 100755 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c @@ -975,7 +975,8 @@ uint8_t do_SIB23(uint8_t Mod_id, struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part; #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - //TTN - for D2D + + int eMTC_configured=configuration->eMTC_configured; struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib18_part, *sib19_part, *sib21_part; SL_CommRxPoolList_r12_t *SL_CommRxPoolList; //for SIB18 struct SL_CommResourcePool_r12 *SL_CommResourcePool; //for SIB18 @@ -1004,7 +1005,7 @@ uint8_t do_SIB23(uint8_t Mod_id, buffer = RC.rrc[Mod_id]->carrier[CC_id].SIB23_BR; sib2 = &RC.rrc[Mod_id]->carrier[CC_id].sib2_BR; rrconfig = &configuration->radioresourceconfig_BR[CC_id]; - + LOG_I(RRC,"Running SIB2/3 Encoding for eMTC\n"); } else #endif @@ -1071,7 +1072,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #endif -#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) //TTN - for D2D sib18_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); sib19_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); @@ -1100,7 +1101,6 @@ uint8_t do_SIB23(uint8_t Mod_id, #endif #if defined(ENABLE_ITTI) - puts("INSIDE ITTI !!!!"); (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles = rrconfig->rach_numberOfRA_Preambles; (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; @@ -1122,31 +1122,26 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer = rrconfig->rach_macContentionResolutionTimer; (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = rrconfig->rach_maxHARQ_Msg3Tx; - // LTE-M +kogo - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); - memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); - - if (rrconfig->preambleTransMax_CE_r13) - { + if (eMTC_configured>0) { + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); + memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); + + if (rrconfig->preambleTransMax_CE_r13) { (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); *(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = *rrconfig->preambleTransMax_CE_r13; // to be re-initialized when we find the enum - } - else - { - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; - } + } + else (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = NULL; + - (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); - memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13 = calloc(1, sizeof(RACH_CE_LevelInfoList_r13_t)); + memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13, 0, sizeof(RACH_CE_LevelInfoList_r13_t)); - RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13; - int num_rach_ce_level_info = configuration->rach_CE_LevelInfoList_r13_size[CC_id]; - int index; - for (index = 0; index < num_rach_ce_level_info; ++index) - { + RACH_CE_LevelInfo_r13_t *rach_ce_levelinfo_r13; + int num_rach_ce_level_info = configuration->rach_CE_LevelInfoList_r13_size[CC_id]; + int index; + for (index = 0; index < num_rach_ce_level_info; ++index) { rach_ce_levelinfo_r13 = calloc(1, sizeof(RACH_CE_LevelInfo_r13_t)); - if (configuration->rach_CE_LevelInfoList_r13_size[CC_id]) - { + if (configuration->rach_CE_LevelInfoList_r13_size[CC_id]) { rach_ce_levelinfo_r13->preambleMappingInfo_r13.firstPreamble_r13 = configuration->firstPreamble_r13[CC_id][index]; rach_ce_levelinfo_r13->preambleMappingInfo_r13.lastPreamble_r13 = configuration->lastPreamble_r13[CC_id][index]; rach_ce_levelinfo_r13->ra_ResponseWindowSize_r13 = configuration->ra_ResponseWindowSize_r13[CC_id][index]; @@ -1162,11 +1157,10 @@ uint8_t do_SIB23(uint8_t Mod_id, rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; } ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); + } } - //--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo - // BCCH-Config (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff = rrconfig->bcch_modificationPeriodCoeff; @@ -1272,15 +1266,14 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength = rrconfig->ul_CyclicPrefixLength; + if (eMTC_configured>0) { + (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); + (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = NULL; //calloc(1, sizeof(BCCH_Config_v1310_t)); + //memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); + //(*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; - (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); - (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = NULL; //calloc(1, sizeof(BCCH_Config_v1310_t)); - //memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t)); - //(*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64; - - if (configuration->pcch_config_v1310) - { + if (configuration->pcch_config_v1310) { (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = CALLOC(1, sizeof(PCCH_Config_v1310_t)); (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->paging_narrowBands_r13 = configuration->paging_narrowbands_r13[CC_id]; (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->mpdcch_NumRepetition_Paging_r13 = configuration->mpdcch_numrepetition_paging_r13[CC_id]; @@ -1293,25 +1286,20 @@ uint8_t do_SIB23(uint8_t Mod_id, { (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = NULL; } - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; - } + } + else (*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL; + - if (configuration->sib2_freq_hoppingParameters_r13_exists[CC_id]) - { + if (configuration->sib2_freq_hoppingParameters_r13_exists[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = CALLOC(1, sizeof(FreqHoppingParameters_r13_t)); - if (configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]) - { + if (configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13)); - if (*configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id] == 0) - { + if (*configuration->sib2_interval_ULHoppingConfigCommonModeA_r13[CC_id] == 0) { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->present = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_FDD_r13; (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13->choice.interval_FDD_r13 @@ -1327,144 +1315,116 @@ uint8_t do_SIB23(uint8_t Mod_id, } } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = NULL; - } + else (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeA_r13 = NULL; + - if (configuration->sib2_interval_ULHoppingConfigCommonModeB_r13[CC_id]) - { + if (configuration->sib2_interval_ULHoppingConfigCommonModeB_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13 = CALLOC(1, sizeof(struct FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13)); - if (*configuration->sib2_interval_ULHoppingConfigCommonModeB_r13[CC_id] == 0) - { + if (*configuration->sib2_interval_ULHoppingConfigCommonModeB_r13[CC_id] == 0) { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->present = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_FDD_r13; (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->choice.interval_FDD_r13 = configuration->sib2_interval_ULHoppingConfigCommonModeB_r13_val[CC_id]; } - else - { + else { (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->present = FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_TDD_r13; (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13->choice.interval_TDD_r13 = configuration->sib2_interval_ULHoppingConfigCommonModeB_r13_val[CC_id]; - } } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13 = NULL; - } - - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; - } + else (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13->interval_ULHoppingConfigCommonModeB_r13 = NULL; + } + else (*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL; + // pdsch_ConfigCommon_v1310 - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = CALLOC(1,sizeof(PDSCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = CALLOC(1,sizeof(PDSCH_ConfigCommon_v1310_t)); - if (configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]) { - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = CALLOC(1, sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = *configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]; - } else { - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = NULL; - } + if (configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = *configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]; + } else { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = NULL; + } - if (configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]) { - (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); // check if they're really long + if (configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); // check if they're really long *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = *configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]; - } else { + } else { (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; - } + } // *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = 0; // (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL; // pusch_ConfigCommon_v1310 - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = calloc(1,sizeof(PUSCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = calloc(1,sizeof(PUSCH_ConfigCommon_v1310_t)); - if (configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]) { - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = *configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]; - } else { - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = NULL; - } + if (configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = *configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]; + } else { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = NULL; + } - if (configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]) { - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = *configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]; - } else { + if (configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = *configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]; + } else { (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; - } + } - if (configuration->pusch_HoppingOffset_v1310[CC_id]) { - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = CALLOC(1, sizeof(long)); - *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = *configuration->pusch_HoppingOffset_v1310[CC_id]; - } else { - (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; - } + if (configuration->pusch_HoppingOffset_v1310[CC_id]) { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = CALLOC(1, sizeof(long)); + *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = *configuration->pusch_HoppingOffset_v1310[CC_id]; + } else { + (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; + } // *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = 0; // (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL; // (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL; - if (rrconfig->prach_ConfigCommon_v1310) - { + if (rrconfig->prach_ConfigCommon_v1310) { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = calloc(1, sizeof(PRACH_ConfigSIB_v1310_t)); memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310, 0, sizeof(PRACH_ConfigSIB_v1310_t)); RSRP_Range_t *rsrp_range; int num_rsrp_range = configuration->rsrp_range_list_size[CC_id]; int rsrp_index; - for (rsrp_index = 0; rsrp_index < num_rsrp_range; ++rsrp_index) - { + for (rsrp_index = 0; rsrp_index < num_rsrp_range; ++rsrp_index) { rsrp_range = CALLOC(1, sizeof(RSRP_Range_t)); - if (configuration->rsrp_range_list_size[CC_id]) - { - *rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; - } - else - { - *rsrp_range = 60; - } - + if (configuration->rsrp_range_list_size[CC_id]) *rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; + else *rsrp_range = 60; ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, rsrp_range); } (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; - if (rrconfig->mpdcch_startSF_CSS_RA_r13) - { + if (rrconfig->mpdcch_startSF_CSS_RA_r13) { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); memset((*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13, 0, sizeof(struct PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13)); - if (*rrconfig->mpdcch_startSF_CSS_RA_r13) - { + if (*rrconfig->mpdcch_startSF_CSS_RA_r13) { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_fdd_r13; (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.fdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; } - else - { + else { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->present = PRACH_ConfigSIB_v1310__mpdcch_startSF_CSS_RA_r13_PR_tdd_r13; (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13->choice.tdd_r13 = rrconfig->mpdcch_startSF_CSS_RA_r13_val; } } - if (rrconfig->prach_HoppingOffset_r13) - { + if (rrconfig->prach_HoppingOffset_r13) { (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = calloc(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = *rrconfig->prach_HoppingOffset_r13; } - else - { - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; - } + else (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_HoppingOffset_r13 = NULL; PRACH_ParametersCE_r13_t *prach_parametersce_r13; @@ -1472,8 +1432,7 @@ uint8_t do_SIB23(uint8_t Mod_id, int prach_parameters_index; AssertFatal(num_prach_parameters_ce > 0, "PRACH CE parameter list is empty\n"); - for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce; ++prach_parameters_index) - { + for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce; ++prach_parameters_index) { prach_parametersce_r13 = CALLOC(1, sizeof(PRACH_ParametersCE_r13_t)); prach_parametersce_r13->prach_ConfigIndex_r13 = configuration->prach_config_index[CC_id][prach_parameters_index]; prach_parametersce_r13->prach_FreqOffset_r13 = configuration->prach_freq_offset[CC_id][prach_parameters_index]; @@ -1481,26 +1440,19 @@ uint8_t do_SIB23(uint8_t Mod_id, AssertFatal(configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]!=NULL, "configuration->prach_StartingSubframe_r13[%d][%d] is null", (int)CC_id,(int)prach_parameters_index); - if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]) - { + if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]){ prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long)); *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]; } - else - { - prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; - } + else prach_parametersce_r13->prach_StartingSubframe_r13 = NULL; + - if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) - { + if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]) { prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long)); *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index]; } - else - { - prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; - } - + else prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL; + prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index]; prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index]; prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index]; @@ -1522,80 +1474,52 @@ uint8_t do_SIB23(uint8_t Mod_id, ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); } - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; - } + } + else (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; + - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); - memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310 = calloc(1, sizeof(PUCCH_ConfigCommon_v1310_t)); + memset((*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310, 0, sizeof(PUCCH_ConfigCommon_v1310_t)); + (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13 = calloc(1, sizeof(N1PUCCH_AN_InfoList_r13_t)); - int num_pucch_info_list = configuration->pucch_info_value_size[CC_id]; - int pucch_index; - long *pucch_info_value; - for (pucch_index = 0; pucch_index < num_pucch_info_list; ++pucch_index) - { + int num_pucch_info_list = configuration->pucch_info_value_size[CC_id]; + int pucch_index; + long *pucch_info_value; + for (pucch_index = 0; pucch_index < num_pucch_info_list; ++pucch_index) { pucch_info_value = CALLOC(1, sizeof(long)); - if (configuration->pucch_info_value_size[CC_id]) - { - *pucch_info_value = configuration->pucch_info_value[CC_id][pucch_index]; - } - else - { - *pucch_info_value = 0; - } + if (configuration->pucch_info_value_size[CC_id]) *pucch_info_value = configuration->pucch_info_value[CC_id][pucch_index]; + else *pucch_info_value = 0; + ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, pucch_info_value); - } + } - if (configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]) - { - puts("LEVEL 0"); + if (configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - } + } + else (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - - if (configuration->pucch_NumRepetitionCE_Msg4_Level1_r13[CC_id]) - { - puts("LEVEL 1"); + if (configuration->pucch_NumRepetitionCE_Msg4_Level1_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level1_r13[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - } + } + else (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; + - if (configuration->pucch_NumRepetitionCE_Msg4_Level2_r13[CC_id]) - { - puts("LEVEL 2"); + if (configuration->pucch_NumRepetitionCE_Msg4_Level2_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level2_r13[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - } + } + else (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - if (configuration->pucch_NumRepetitionCE_Msg4_Level3_r13[CC_id]) - { - puts("LEVEL 3"); + if (configuration->pucch_NumRepetitionCE_Msg4_Level3_r13[CC_id]) { (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = CALLOC(1, sizeof(long)); *(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = *configuration->pucch_NumRepetitionCE_Msg4_Level3_r13[CC_id]; - } - else - { - (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; - } - + } + else (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; + } // eMTC_configured>0 //----------------------------------------------------------------------------------------------------------------------------------------- @@ -1615,7 +1539,7 @@ uint8_t do_SIB23(uint8_t Mod_id, = rrconfig->ue_TimersAndConstants_n311; #else - puts("This is a test that #define ITTI is not working"); + (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64; (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL; (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2; @@ -1627,7 +1551,6 @@ uint8_t do_SIB23(uint8_t Mod_id, RACH_ConfigCommon__ra_SupervisionInfo__mac_ContentionResolutionTimer_sf48; (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = 4; - // LTE-M +kogo (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1 = calloc(1, sizeof(struct RACH_ConfigCommon__ext1)); memset((*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1, 0, sizeof(struct RACH_ConfigCommon__ext1)); (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->preambleTransMax_CE_r13 = calloc(1, sizeof(PreambleTransMax_t)); @@ -1644,8 +1567,7 @@ uint8_t do_SIB23(uint8_t Mod_id, rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); - //--------------------------------------------------------------------------------------------------------------------------------------------------- +kogo - + // BCCH-Config (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff=BCCH_Config__modificationPeriodCoeff_n2; @@ -1705,7 +1627,7 @@ uint8_t do_SIB23(uint8_t Mod_id, (*sib2)->radioResourceConfigCommon.ul_CyclicPrefixLength=UL_CyclicPrefixLength_len1; - // LTE-M - +Kogo + (*sib2)->radioResourceConfigCommon.ext4 = calloc(1, sizeof(struct RadioResourceConfigCommonSIB__ext4)); memset((*sib2)->radioResourceConfigCommon.ext4, 0, sizeof(struct RadioResourceConfigCommonSIB__ext4)); (*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t)); diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index 4d9268eb44..0faffc3983 100755 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -200,7 +200,7 @@ init_SI( AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1!=NULL,PROTOCOL_RRC_CTXT_FMT" init_SI: FATAL, no memory for SIB1 allocated\n", PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); - puts("[DEBUGGING][KOGO] --- Calling SIB1"); + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,FALSE @@ -217,7 +217,6 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = 0; if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_BR = (uint8_t*) malloc16(32); - puts("[DEBUGGING][KOGO] --- Calling SIB1 -- second time"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id ,TRUE #if defined(ENABLE_ITTI) @@ -229,7 +228,6 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23 = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23!=NULL,"cannot allocate memory for SIB"); - puts("[DEBUGGING][KOGO] ---> Calling SIB23 ---> first time"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 = do_SIB23( ctxt_pP->module_id, CC_id @@ -248,7 +246,6 @@ init_SI( if (configuration->schedulingInfoSIB1_BR_r13[CC_id]>0) { RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR = (uint8_t*) malloc16(64); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB23_BR!=NULL,"cannot allocate memory for SIB"); - puts("[DEBUGGING][KOGO] ---> Calling SIB23 ---> second time"); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23_BR = do_SIB23( ctxt_pP->module_id, CC_id From f8d7ce32761add52de8877b8328110d56598be44 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 7 Nov 2018 00:37:40 +0100 Subject: [PATCH 094/109] regular LTE functional (simulation) --- openair1/SCHED/fapi_l1.c | 11 +- openair2/ENB_APP/enb_config.c | 3070 +++++++---------- openair2/ENB_APP/enb_paramdef.h | 307 +- openair2/ENB_APP/enb_paramdef_emtc.h | 384 ++- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 21 +- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 35 +- .../GENERIC-LTE-EPC/CONF/rru.oaisim.conf | 4 +- 7 files changed, 1740 insertions(+), 2092 deletions(-) diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 35e3aed5d6..beab40acab 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -950,11 +950,12 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) switch (hi_dci0_req_pdu->pdu_type) { - case NFAPI_HI_DCI0_DCI_PDU_TYPE: - - handle_nfapi_hi_dci0_dci_pdu(eNB,NFAPI_SFNSF2SFN(HI_DCI0_req->sfn_sf),NFAPI_SFNSF2SF(HI_DCI0_req->sfn_sf),proc,hi_dci0_req_pdu); - - + case NFAPI_HI_DCI0_DCI_PDU_TYPE: + + handle_nfapi_hi_dci0_dci_pdu(eNB,NFAPI_SFNSF2SFN(HI_DCI0_req->sfn_sf),NFAPI_SFNSF2SF(HI_DCI0_req->sfn_sf),proc,hi_dci0_req_pdu); + eNB->pdcch_vars[NFAPI_SFNSF2SF(HI_DCI0_req->sfn_sf)&1].num_dci++; + break; + case NFAPI_HI_DCI0_MPDCCH_DCI_PDU_TYPE: handle_nfapi_hi_dci0_mpdcch_dci_pdu(eNB,proc,hi_dci0_req_pdu); eNB->mpdcch_vars[subframe&1].num_dci++; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index c59865dd60..4f65d6098e 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -78,34 +78,7 @@ void RCconfig_flexran() { int32_t Nid_cell = 0; uint16_t Nid_cell_tr = 0; uint32_t enb_id = 0; - /* - the only reason for all these variables is, that they are "hard-encoded" - into the CCPARAMS_DESC macro and we need it for the Nid_cell variable ... - */ - char *frame_type, *prefix_type, *pbch_repetition, *prach_high_speed, - *pusch_hoppingMode, *pusch_enable64QAM, *pusch_groupHoppingEnabled, - *pusch_sequenceHoppingEnabled, *phich_duration, *phich_resource, - *srs_enable, *srs_ackNackST, *srs_MaxUpPts, *pusch_alpha, - *pucch_deltaF_Format1, *pucch_deltaF_Format1b, *pucch_deltaF_Format2, - *pucch_deltaF_Format2a, *pucch_deltaF_Format2b, - *rach_preamblesGroupAConfig, *rach_messagePowerOffsetGroupB, *pcch_nB; - long long int downlink_frequency; - int32_t tdd_config, tdd_config_s, eutra_band, uplink_frequency_offset, - Nid_cell_mbsfn, N_RB_DL, nb_antenna_ports, prach_root, prach_config_index, - prach_zero_correlation, prach_freq_offset, pucch_delta_shift, - pucch_nRB_CQI, pucch_nCS_AN, pucch_n1_AN, pdsch_referenceSignalPower, - pdsch_p_b, pusch_n_SB, pusch_hoppingOffset, pusch_groupAssignment, - pusch_nDMRS1, srs_BandwidthConfig, srs_SubframeConfig, pusch_p0_Nominal, - pucch_p0_Nominal, msg3_delta_Preamble, rach_numberOfRA_Preambles, - rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, - rach_powerRampingStep, rach_preambleInitialReceivedTargetPower, - rach_preambleTransMax, rach_raResponseWindowSize, - rach_macContentionResolutionTimer, rach_maxHARQ_Msg3Tx, - pcch_defaultPagingCycle, bcch_modificationPeriodCoeff, - ue_TimersAndConstants_t300, ue_TimersAndConstants_t301, - ue_TimersAndConstants_t310, ue_TimersAndConstants_t311, - ue_TimersAndConstants_n310, ue_TimersAndConstants_n311, - ue_TransmissionMode, ue_multiple_max; + /* int32_t srb1_timer_poll_retransmit = 0; int32_t srb1_timer_reordering = 0; @@ -115,198 +88,7 @@ void RCconfig_flexran() { int32_t srb1_max_retx_threshold = 0; */ - const char *rxPool_sc_CP_Len; - const char *rxPool_sc_Period; - const char *rxPool_data_CP_Len; - libconfig_int rxPool_ResourceConfig_prb_Num; - libconfig_int rxPool_ResourceConfig_prb_Start; - libconfig_int rxPool_ResourceConfig_prb_End; - const char *rxPool_ResourceConfig_offsetIndicator_present; - libconfig_int rxPool_ResourceConfig_offsetIndicator_choice; - const char *rxPool_ResourceConfig_subframeBitmap_present; - char *rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_size; - libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - //SIB19 - //for discRxPool - const char *discRxPool_cp_Len; - const char *discRxPool_discPeriod; - libconfig_int discRxPool_numRetx; - libconfig_int discRxPool_numRepetition; - libconfig_int discRxPool_ResourceConfig_prb_Num; - libconfig_int discRxPool_ResourceConfig_prb_Start; - libconfig_int discRxPool_ResourceConfig_prb_End; - const char *discRxPool_ResourceConfig_offsetIndicator_present; - libconfig_int discRxPool_ResourceConfig_offsetIndicator_choice; - const char *discRxPool_ResourceConfig_subframeBitmap_present; - char *discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; - libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - //for discRxPoolPS - const char *discRxPoolPS_cp_Len; - const char *discRxPoolPS_discPeriod; - libconfig_int discRxPoolPS_numRetx; - libconfig_int discRxPoolPS_numRepetition; - libconfig_int discRxPoolPS_ResourceConfig_prb_Num; - libconfig_int discRxPoolPS_ResourceConfig_prb_Start; - libconfig_int discRxPoolPS_ResourceConfig_prb_End; - const char *discRxPoolPS_ResourceConfig_offsetIndicator_present; - libconfig_int discRxPoolPS_ResourceConfig_offsetIndicator_choice; - const char *discRxPoolPS_ResourceConfig_subframeBitmap_present; - char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; - libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; - libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - //note: Uncomment below when FlexRAN support for eMTC is available - /* - int32_t eMTC_configured = 0; - int32_t prach_root_emtc = 0; - int32_t prach_config_index_emtc = 0; - char *prach_high_speed_emtc = NULL; - int32_t prach_zero_correlation_emtc = 0; - int32_t prach_freq_offset_emtc = 0; - int32_t pucch_delta_shift_emtc = 0; - int32_t pucch_nRB_CQI_emtc = 0; - int32_t pucch_nCS_AN_emtc = 0; - //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - int32_t pucch_n1_AN_emtc = 0; - //#endif - int32_t pdsch_referenceSignalPower_emtc = 0; - int32_t pdsch_p_b_emtc = 0; - int32_t pusch_n_SB_emtc = 0; - char *pusch_hoppingMode_emtc = NULL; - int32_t pusch_hoppingOffset_emtc = 0; - char *pusch_enable64QAM_emtc = NULL; - char *pusch_groupHoppingEnabled_emtc = NULL; - int32_t pusch_groupAssignment_emtc = 0; - char *pusch_sequenceHoppingEnabled_emtc = NULL; - int32_t pusch_nDMRS1_emtc = 0; - char *phich_duration_emtc = NULL; - char *phich_resource_emtc = NULL; - char *srs_enable_emtc = NULL; - int32_t srs_BandwidthConfig_emtc = 0; - int32_t srs_SubframeConfig_emtc = 0; - char *srs_ackNackST_emtc = NULL; - char *srs_MaxUpPts_emtc = NULL; - int32_t pusch_p0_Nominal_emtc = 0; - char *pusch_alpha_emtc = NULL; - int32_t pucch_p0_Nominal_emtc = 0; - int32_t msg3_delta_Preamble_emtc = 0; - //int32_t ul_CyclicPrefixLength_emtc = 0; - char *pucch_deltaF_Format1_emtc = NULL; - //const char* pucch_deltaF_Format1a_emtc = NULL; - char *pucch_deltaF_Format1b_emtc = NULL; - char *pucch_deltaF_Format2_emtc = NULL; - char *pucch_deltaF_Format2a_emtc = NULL; - char *pucch_deltaF_Format2b_emtc = NULL; - int32_t rach_numberOfRA_Preambles_emtc = 0; - char *rach_preamblesGroupAConfig_emtc = NULL; - int32_t rach_sizeOfRA_PreamblesGroupA_emtc = 0; - int32_t rach_messageSizeGroupA_emtc = 0; - char *rach_messagePowerOffsetGroupB_emtc = NULL; - int32_t rach_powerRampingStep_emtc = 0; - int32_t rach_preambleInitialReceivedTargetPower_emtc = 0; - int32_t rach_preambleTransMax_emtc = 0; - int32_t rach_raResponseWindowSize_emtc = 10; - int32_t rach_macContentionResolutionTimer_emtc = 0; - int32_t rach_maxHARQ_Msg3Tx_emtc = 0; - int32_t pcch_defaultPagingCycle_emtc = 0; - char *pcch_nB_emtc = NULL; - int32_t bcch_modificationPeriodCoeff_emtc = 0; - int32_t ue_TimersAndConstants_t300_emtc = 0; - int32_t ue_TimersAndConstants_t301_emtc = 0; - int32_t ue_TimersAndConstants_t310_emtc = 0; - int32_t ue_TimersAndConstants_t311_emtc = 0; - int32_t ue_TimersAndConstants_n310_emtc = 0; - int32_t ue_TimersAndConstants_n311_emtc = 0; - int32_t ue_TransmissionMode_emtc = 0; - int si_Narrowband_r13 = 0; - int si_TBS_r13 = 0; - - int systemInfoValueTagSi_r13 = 0; - - int firstPreamble_r13 = 0; - int lastPreamble_r13 = 0; - int ra_ResponseWindowSize_r13 = 0; - int mac_ContentionResolutionTimer_r13 = 0; - int rar_HoppingConfig_r13 = 0; - int rsrp_range_br = 0; - int maxNumPreambleAttemptCE_r13 = 0; - int numRepetitionPerPreambleAttempt_r13 = 0; - int mpdcch_NumRepetition_RA_r13 = 0; - int prach_HoppingConfig_r13 = 0; - int *maxavailablenarrowband = NULL; - int pucch_info_value = 0; - - int prach_config_index_br = 0; - int prach_freq_offset_br = 0; - int prach_StartingSubframe_r13 = 0; - - int paging_narrowbands_r13 = 0; - int mpdcch_numrepetition_paging_r13 = NULL; - int nb_v1310 = NULL; - - - char * pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - char * pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - char * pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - char * pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; - - int sib2_mpdcch_pdsch_hoppingNB_r13 = 0; - int sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; - int sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; - int sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; - int sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; - - int sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; - int sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; - int sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; - int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; - int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; - - int pusch_HoppingOffset_v1310 = 0; - - int hyperSFN_r13 = 0; - int eDRX_Allowed_r13 = 0; - int q_RxLevMinCE_r13 = 0; - int q_QualMinRSRQ_CE_r13 = 0; - char* si_WindowLength_BR_r13 = NULL; - char* si_RepetitionPattern_r13 = NULL; - int startSymbolBR_r13 = 0; - char* si_HoppingConfigCommon_r13 = NULL; - char* si_ValidityTime_r13 = NULL; - char* mpdcch_pdsch_HoppingNB_r13 = NULL; - int interval_DLHoppingConfigCommonModeA_r13_val = 0; - int interval_DLHoppingConfigCommonModeB_r13_val = 0; - int mpdcch_pdsch_HoppingOffset_r13 = 0; - char* preambleTransMax_CE_r13 = NULL; - char* rach_numberOfRA_Preambles_br = NULL; - - int schedulingInfoSIB1_BR_r13 = 0; - int64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; - - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - */ - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13 = NULL; - char* mpdcch_startSF_CSS_RA_r13_val = NULL; - char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; - char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; - - char* pusch_maxNumRepetitionCEmodeA_r13 = 0; - char* pusch_maxNumRepetitionCEmodeB_r13 = 0; - int prach_HoppingOffset_r13 = 0; - - // avoid gcc warnings - (void)pdsch_maxNumRepetitionCEmodeB_r13; - (void)pusch_maxNumRepetitionCEmodeB_r13; - /* get number of eNBs */ paramdef_t ENBSParams[] = ENBSPARAMS_DESC; config_get(ENBSParams, sizeof(ENBSParams)/sizeof(paramdef_t), NULL); @@ -316,23 +98,27 @@ void RCconfig_flexran() { paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST, NULL, 0}; /* for Nid_cell */ checkedparam_t config_check_CCparams[] = CCPARAMS_CHECK; - paramdef_t CCsParams[] = CCPARAMS_DESC; + ccparams_lte_t ccparams_lte; + memset((void*)&ccparams_lte,0,sizeof(ccparams_lte_t)); + paramdef_t CCsParams[] = CCPARAMS_DESC(ccparams_lte); paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS, NULL, 0}; // Note: these should be turned on for EMTC support inside of FlexRAN - //paramdef_t brParams[] = BRPARAMS_DESC; - //paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC; + // ccparams_emtc_t ccparams_emtc; + //paramdef_t brParams[] = BRPARAMS_DESC(ccparams_emtc); + //paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC(ccparams_emtc); //paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; - //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + //paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC(ccparams_emtc); //paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; - //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; + //paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC(ccparams_emtc); //paramlist_def_t rsrprangelist = {ENB_CONFIG_STRING_RSRP_RANGE_LIST, NULL, 0}; - //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; + //paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC(ccparams_emtc); //paramlist_def_t prachParamslist = {ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, NULL, 0}; - //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; + //paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC(ccparams_emtc); //paramlist_def_t n1PUCCHInfoList = {ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, NULL, 0}; - //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; - //paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; + //paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC(ccparams_emtc); + //paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC(ccparams_emtc); + // paramdef_t SRB1Params[] = SRB1PARAMS_DESC; /* map parameter checking array instances to parameter definition array instances */ @@ -565,300 +351,44 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { int num_enbs = 0; int j,k = 0; - int32_t enb_id = 0; + int32_t enb_id = 0; int nb_cc = 0; - char *frame_type = NULL; - int32_t tdd_config = 0; - int32_t tdd_config_s = 0; - char *prefix_type = NULL; - char *pbch_repetition = NULL; - int32_t eutra_band = 0; - long long int downlink_frequency = 0; - int32_t uplink_frequency_offset = 0; - int32_t Nid_cell = 0; - int32_t Nid_cell_mbsfn = 0; - int32_t N_RB_DL = 0; - int32_t nb_antenna_ports = 0; - int32_t prach_root = 0; - int32_t prach_config_index = 0; - char *prach_high_speed = NULL; - int32_t prach_zero_correlation = 0; - int32_t prach_freq_offset = 0; - int32_t pucch_delta_shift = 0; - int32_t pucch_nRB_CQI = 0; - int32_t pucch_nCS_AN = 0; - //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - int32_t pucch_n1_AN = 0; - //#endif - int32_t pdsch_referenceSignalPower = 0; - int32_t pdsch_p_b = 0; - int32_t pusch_n_SB = 0; - char *pusch_hoppingMode = NULL; - int32_t pusch_hoppingOffset = 0; - char *pusch_enable64QAM = NULL; - char *pusch_groupHoppingEnabled = NULL; - int32_t pusch_groupAssignment = 0; - char *pusch_sequenceHoppingEnabled = NULL; - int32_t pusch_nDMRS1 = 0; - char *phich_duration = NULL; - char *phich_resource = NULL; - char *srs_enable = NULL; - int32_t srs_BandwidthConfig = 0; - int32_t srs_SubframeConfig = 0; - char *srs_ackNackST = NULL; - char *srs_MaxUpPts = NULL; - int32_t pusch_p0_Nominal = 0; - char *pusch_alpha = NULL; - int32_t pucch_p0_Nominal = 0; - int32_t msg3_delta_Preamble = 0; - //int32_t ul_CyclicPrefixLength = 0; - char *pucch_deltaF_Format1 = NULL; - //const char* pucch_deltaF_Format1a = NULL; - char *pucch_deltaF_Format1b = NULL; - char *pucch_deltaF_Format2 = NULL; - char *pucch_deltaF_Format2a = NULL; - char *pucch_deltaF_Format2b = NULL; - int32_t rach_numberOfRA_Preambles = 0; - char *rach_preamblesGroupAConfig = NULL; - int32_t rach_sizeOfRA_PreamblesGroupA = 0; - int32_t rach_messageSizeGroupA = 0; - char *rach_messagePowerOffsetGroupB = NULL; - int32_t rach_powerRampingStep = 0; - int32_t rach_preambleInitialReceivedTargetPower = 0; - int32_t rach_preambleTransMax = 0; - int32_t rach_raResponseWindowSize = 10; - int32_t rach_macContentionResolutionTimer = 0; - int32_t rach_maxHARQ_Msg3Tx = 0; - int32_t pcch_defaultPagingCycle = 0; - char *pcch_nB = NULL; - int32_t bcch_modificationPeriodCoeff = 0; - int32_t ue_TimersAndConstants_t300 = 0; - int32_t ue_TimersAndConstants_t301 = 0; - int32_t ue_TimersAndConstants_t310 = 0; - int32_t ue_TimersAndConstants_t311 = 0; - int32_t ue_TimersAndConstants_n310 = 0; - int32_t ue_TimersAndConstants_n311 = 0; - int32_t ue_TransmissionMode = 0; - int32_t ue_multiple_max = 0; - //TTN - for D2D - //SIB18 - const char *rxPool_sc_CP_Len = NULL; - const char *rxPool_sc_Period = NULL; - const char *rxPool_data_CP_Len = NULL; - libconfig_int rxPool_ResourceConfig_prb_Num = 0; - libconfig_int rxPool_ResourceConfig_prb_Start = 0; - libconfig_int rxPool_ResourceConfig_prb_End = 0; - const char *rxPool_ResourceConfig_offsetIndicator_present = NULL; - libconfig_int rxPool_ResourceConfig_offsetIndicator_choice = 0; - const char *rxPool_ResourceConfig_subframeBitmap_present = NULL; - char *rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = NULL; - libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 0; - libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0; - //SIB19 - //For discRxPool - const char *discRxPool_cp_Len = NULL; - const char *discRxPool_discPeriod = NULL; - libconfig_int discRxPool_numRetx = 0; - libconfig_int discRxPool_numRepetition = 0; - libconfig_int discRxPool_ResourceConfig_prb_Num = 0; - libconfig_int discRxPool_ResourceConfig_prb_Start = 0; - libconfig_int discRxPool_ResourceConfig_prb_End = 0; - const char *discRxPool_ResourceConfig_offsetIndicator_present = NULL; - libconfig_int discRxPool_ResourceConfig_offsetIndicator_choice = 0; - const char *discRxPool_ResourceConfig_subframeBitmap_present = NULL; - char *discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = NULL; - libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 0; - libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0; - //For discRxPoolPS - const char *discRxPoolPS_cp_Len = NULL; - const char *discRxPoolPS_discPeriod = NULL; - libconfig_int discRxPoolPS_numRetx = 0; - libconfig_int discRxPoolPS_numRepetition = 0; - libconfig_int discRxPoolPS_ResourceConfig_prb_Num = 0; - libconfig_int discRxPoolPS_ResourceConfig_prb_Start = 0; - libconfig_int discRxPoolPS_ResourceConfig_prb_End = 0; - const char *discRxPoolPS_ResourceConfig_offsetIndicator_present = NULL; - libconfig_int discRxPoolPS_ResourceConfig_offsetIndicator_choice = 0; - const char *discRxPoolPS_ResourceConfig_subframeBitmap_present = NULL; - char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf = NULL; - libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size = 0; - libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0; - int32_t srb1_timer_poll_retransmit = 0; - int32_t srb1_timer_reordering = 0; - int32_t srb1_timer_status_prohibit = 0; - int32_t srb1_poll_pdu = 0; - int32_t srb1_poll_byte = 0; - int32_t srb1_max_retx_threshold = 0; - int32_t my_int; - // eMTC definitions - int32_t eMTC_configured = 0; - int32_t prach_root_emtc = 0; - int32_t prach_config_index_emtc = 0; - char *prach_high_speed_emtc = NULL; - int32_t prach_zero_correlation_emtc = 0; - int32_t prach_freq_offset_emtc = 0; - int32_t pucch_delta_shift_emtc = 0; - int32_t pucch_nRB_CQI_emtc = 0; - int32_t pucch_nCS_AN_emtc = 0; - //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - int32_t pucch_n1_AN_emtc = 0; - //#endif - int32_t pdsch_referenceSignalPower_emtc = 0; - int32_t pdsch_p_b_emtc = 0; - int32_t pusch_n_SB_emtc = 0; - char *pusch_hoppingMode_emtc = NULL; - int32_t pusch_hoppingOffset_emtc = 0; - char *pusch_enable64QAM_emtc = NULL; - char *pusch_groupHoppingEnabled_emtc = NULL; - int32_t pusch_groupAssignment_emtc = 0; - char *pusch_sequenceHoppingEnabled_emtc = NULL; - int32_t pusch_nDMRS1_emtc = 0; - char *phich_duration_emtc = NULL; - char *phich_resource_emtc = NULL; - char *srs_enable_emtc = NULL; - int32_t srs_BandwidthConfig_emtc = 0; - int32_t srs_SubframeConfig_emtc = 0; - char *srs_ackNackST_emtc = NULL; - char *srs_MaxUpPts_emtc = NULL; - int32_t pusch_p0_Nominal_emtc = 0; - char *pusch_alpha_emtc = NULL; - int32_t pucch_p0_Nominal_emtc = 0; - int32_t msg3_delta_Preamble_emtc = 0; - //int32_t ul_CyclicPrefixLength_emtc = 0; - char *pucch_deltaF_Format1_emtc = NULL; - //const char* pucch_deltaF_Format1a_emtc = NULL; - char *pucch_deltaF_Format1b_emtc = NULL; - char *pucch_deltaF_Format2_emtc = NULL; - char *pucch_deltaF_Format2a_emtc = NULL; - char *pucch_deltaF_Format2b_emtc = NULL; - int32_t rach_numberOfRA_Preambles_emtc = 0; - char *rach_preamblesGroupAConfig_emtc = NULL; - int32_t rach_sizeOfRA_PreamblesGroupA_emtc = 0; - int32_t rach_messageSizeGroupA_emtc = 0; - char *rach_messagePowerOffsetGroupB_emtc = NULL; - int32_t rach_powerRampingStep_emtc = 0; - int32_t rach_preambleInitialReceivedTargetPower_emtc = 0; - int32_t rach_preambleTransMax_emtc = 0; - int32_t rach_raResponseWindowSize_emtc = 10; - int32_t rach_macContentionResolutionTimer_emtc = 0; - int32_t rach_maxHARQ_Msg3Tx_emtc = 0; - int32_t pcch_defaultPagingCycle_emtc = 0; - char *pcch_nB_emtc = NULL; - int32_t bcch_modificationPeriodCoeff_emtc = 0; - int32_t ue_TimersAndConstants_t300_emtc = 0; - int32_t ue_TimersAndConstants_t301_emtc = 0; - int32_t ue_TimersAndConstants_t310_emtc = 0; - int32_t ue_TimersAndConstants_t311_emtc = 0; - int32_t ue_TimersAndConstants_n310_emtc = 0; - int32_t ue_TimersAndConstants_n311_emtc = 0; - int32_t ue_TransmissionMode_emtc = 0; + ccparams_lte_t ccparams_lte; + ccparams_sidelink_t SLconfig; + ccparams_eMTC_t eMTCconfig; - int si_Narrowband_r13 = 0; - int si_TBS_r13 = 0; - - // int systemInfoValueTagSi_r13 = 0; - - int firstPreamble_r13 = 0; - int lastPreamble_r13 = 0; - int ra_ResponseWindowSize_r13 = 0; - int mac_ContentionResolutionTimer_r13 = 0; - int rar_HoppingConfig_r13 = 0; - int rsrp_range_br = 0; - int prach_config_index_br = 0; - int prach_freq_offset_br = 0; - int prach_StartingSubframe_r13 = 0; + memset((void*)&ccparams_lte,0,sizeof(ccparams_lte_t)); + memset((void*)&SLconfig,0,sizeof(ccparams_sidelink_t)); + memset((void*)&eMTCconfig,0,sizeof(ccparams_eMTC_t)); - int maxNumPreambleAttemptCE_r13 = 0; - int numRepetitionPerPreambleAttempt_r13 = 0; - int mpdcch_NumRepetition_RA_r13 = 0; - int prach_HoppingConfig_r13 = 0; - //int *maxavailablenarrowband = NULL; - int pucch_info_value = 0; - - int paging_narrowbands_r13 = 0; - int mpdcch_numrepetition_paging_r13 = NULL; - int nb_v1310 = NULL; - - - char * pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL; - char * pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL; - char * pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL; - char * pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL; - - int sib2_mpdcch_pdsch_hoppingNB_r13 = 0; - char *sib2_interval_DLHoppingConfigCommonModeA_r13 = 0; - int sib2_interval_DLHoppingConfigCommonModeA_r13_val = 0; - char *sib2_interval_DLHoppingConfigCommonModeB_r13 = 0; - int sib2_interval_DLHoppingConfigCommonModeB_r13_val = 0; - - char *sib2_interval_ULHoppingConfigCommonModeA_r13 = 0; - int sib2_interval_ULHoppingConfigCommonModeA_r13_val = 0; - char *sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; - int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0; - int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0; - - - //int pusch_HoppingOffset_v1310 = 0; - - //int hyperSFN_r13 = 0; - //int eDRX_Allowed_r13 = 0; - int q_RxLevMinCE_r13 = 0; - //int q_QualMinRSRQ_CE_r13 = 0; - char *si_WindowLength_BR_r13 = NULL; - char *si_RepetitionPattern_r13 = NULL; - int startSymbolBR_r13 = 0; - char *si_HoppingConfigCommon_r13 = NULL; - char *si_ValidityTime_r13 = NULL; - char *mpdcch_pdsch_HoppingNB_r13 = NULL; - int interval_DLHoppingConfigCommonModeA_r13_val = 0; - int interval_DLHoppingConfigCommonModeB_r13_val = 0; - int mpdcch_pdsch_HoppingOffset_r13 = 0; - char *preambleTransMax_CE_r13 = NULL; - - int prach_HoppingOffset_r13 = 0; - int schedulingInfoSIB1_BR_r13 = 0; - int64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0; - - char* cellSelectionInfoCE_r13 = NULL; - char* bandwidthReducedAccessRelatedInfo_r13 = NULL; - char* fdd_DownlinkOrTddSubframeBitmapBR_r13 = NULL; - char* fdd_UplinkSubframeBitmapBR_r13 = NULL; - (void)fdd_UplinkSubframeBitmapBR_r13; - char* freqHoppingParametersDL_r13 = NULL; - char* interval_DLHoppingConfigCommonModeA_r13 = NULL; - char* interval_DLHoppingConfigCommonModeB_r13 = NULL; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13 = NULL; - char* mpdcch_startSF_CSS_RA_r13_val = NULL; - char *pdsch_maxNumRepetitionCEmodeA_r13 = NULL; - char *pdsch_maxNumRepetitionCEmodeB_r13 = NULL; - char *pusch_maxNumRepetitionCEmodeA_r13 = NULL; - char *pusch_maxNumRepetitionCEmodeB_r13 = NULL; - // for no gcc warnings - (void)my_int; - (void)pdsch_maxNumRepetitionCEmodeB_r13; - (void)pusch_maxNumRepetitionCEmodeB_r13; paramdef_t ENBSParams[] = ENBSPARAMS_DESC; paramdef_t ENBParams[] = ENBPARAMS_DESC; paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0}; checkedparam_t config_check_CCparams[] = CCPARAMS_CHECK; - paramdef_t CCsParams[] = CCPARAMS_DESC; + paramdef_t CCsParams[] = CCPARAMS_DESC(ccparams_lte); paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; - paramdef_t brParams[] = BRPARAMS_DESC; - paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC; + paramdef_t brParams[] = EMTCPARAMS_DESC(eMTCconfig); + paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC(eMTCconfig); paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; - paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC; + paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC(eMTCconfig); paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; - paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC; + paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC(eMTCconfig); paramlist_def_t rsrprangelist = {ENB_CONFIG_STRING_RSRP_RANGE_LIST, NULL, 0}; - paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC; + paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC(eMTCconfig); paramlist_def_t prachParamslist = {ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, NULL, 0}; - paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC; + paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC(eMTCconfig); paramlist_def_t n1PUCCHInfoList = {ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, NULL, 0}; - paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC; - paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC; - paramdef_t SRB1Params[] = SRB1PARAMS_DESC; + paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC(eMTCconfig); + paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC(eMTCconfig); + + srb1_params_t srb1_params; + memset((void*)&srb1_params,0,sizeof(srb1_params_t)); + paramdef_t SRB1Params[] = SRB1PARAMS_DESC(srb1_params); + + + paramdef_t SLParams[] = CCPARAMS_SIDELINK_DESC(SLconfig); + /* map parameter checking array instances to parameter definition array instances */ for (int I=0; I< ( sizeof(CCsParams)/ sizeof(paramdef_t) ) ; I++) { @@ -959,103 +489,49 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { config_get( CCsParams,sizeof(CCsParams)/sizeof(paramdef_t),ccspath); //printf("Component carrier %d\n",component_carrier); nb_cc++; - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, + RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = ccparams_lte.tdd_config; + AssertFatal (ccparams_lte.tdd_config <= TDD_Config__subframeAssignment_sa6, "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, + RC.config_file_name, i, ccparams_lte.tdd_config, TDD_Config__subframeAssignment_sa6); + RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = ccparams_lte.tdd_config_s; + AssertFatal (ccparams_lte.tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); + RC.config_file_name, i, ccparams_lte.tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - if (!prefix_type) + if (!ccparams_lte.prefix_type) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { + else if (strcmp(ccparams_lte.prefix_type, "NORMAL") == 0) { RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = NORMAL; - } else if (strcmp(prefix_type, "EXTENDED") == 0) { + } else if (strcmp(ccparams_lte.prefix_type, "EXTENDED") == 0) { RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = EXTENDED; } else { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); + RC.config_file_name, i, ccparams_lte.prefix_type); } #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - if (!pbch_repetition) + if (!ccparams_lte.pbch_repetition) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: TRUE,FALSE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PBCH_REPETITION); - else if (strcmp(pbch_repetition, "TRUE") == 0) { + else if (strcmp(ccparams_lte.pbch_repetition, "TRUE") == 0) { RRC_CONFIGURATION_REQ (msg_p).pbch_repetition[j] = 1; - } else if (strcmp(pbch_repetition, "FALSE") == 0) { + } else if (strcmp(ccparams_lte.pbch_repetition, "FALSE") == 0) { RRC_CONFIGURATION_REQ (msg_p).pbch_repetition[j] = 0; } else { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pbch_repetition choice: TRUE or FALSE !\n", - RC.config_file_name, i, pbch_repetition); + RC.config_file_name, i, ccparams_lte.pbch_repetition); } #endif - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; - RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= Nid_cell; - - if (Nid_cell>503) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", - RC.config_file_name, i, Nid_cell); - } - - RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL; - - if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", - RC.config_file_name, i, N_RB_DL); - } - - if (strcmp(frame_type, "FDD") == 0) { - RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = FDD; - } else if (strcmp(frame_type, "TDD") == 0) { - RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = TDD; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, i, frame_type); - } - - RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config; - AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6); - RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s; - AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8, - "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!", - RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8); - - if (!prefix_type) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: NORMAL,EXTENDED!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PREFIX_TYPE); - else if (strcmp(prefix_type, "NORMAL") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = NORMAL; - } else if (strcmp(prefix_type, "EXTENDED") == 0) { - RRC_CONFIGURATION_REQ (msg_p).prefix_type[j] = EXTENDED; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prefix_type choice: NORMAL or EXTENDED !\n", - RC.config_file_name, i, prefix_type); - } - - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = eutra_band; - // printf( "\teutra band:\t%d\n",RRC_CONFIGURATION_REQ (msg_p).eutra_band); - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) downlink_frequency; - //printf( "\tdownlink freq:\t%u\n",RRC_CONFIGURATION_REQ (msg_p).downlink_frequency); - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) uplink_frequency_offset; + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j] = ccparams_lte.eutra_band; + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) ccparams_lte.downlink_frequency; + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) ccparams_lte.uplink_frequency_offset; if (config_check_band_frequencies(j, RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], @@ -1065,293 +541,370 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { AssertFatal(0, "error calling enb_check_band_frequencies\n"); } - if ((nb_antenna_ports <1) || (nb_antenna_ports > 2)) + + + RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= ccparams_lte.Nid_cell; + + if (ccparams_lte.Nid_cell>503) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", + RC.config_file_name, i, ccparams_lte.Nid_cell); + } + + RRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= ccparams_lte.N_RB_DL; + + if ((ccparams_lte.N_RB_DL!=6) && + (ccparams_lte.N_RB_DL!=15) && + (ccparams_lte.N_RB_DL!=25) && + (ccparams_lte.N_RB_DL!=50) && + (ccparams_lte.N_RB_DL!=75) && + (ccparams_lte.N_RB_DL!=100)) { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", + RC.config_file_name, i, ccparams_lte.N_RB_DL); + } + + if (strcmp(ccparams_lte.frame_type, "FDD") == 0) { + RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = FDD; + } else if (strcmp(ccparams_lte.frame_type, "TDD") == 0) { + RRC_CONFIGURATION_REQ (msg_p).frame_type[j] = TDD; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", + RC.config_file_name, i, ccparams_lte.frame_type); + } + + if ((ccparams_lte.nb_antenna_ports <1) || (ccparams_lte.nb_antenna_ports > 2)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antenna_ports choice: 1..2 !\n", - RC.config_file_name, i, nb_antenna_ports); + RC.config_file_name, i, ccparams_lte.nb_antenna_ports); - RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = nb_antenna_ports; + RRC_CONFIGURATION_REQ (msg_p).nb_antenna_ports[j] = ccparams_lte.nb_antenna_ports; // Radio Resource Configuration (SIB2) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = prach_root; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_root = ccparams_lte.prach_root; - if ((prach_root <0) || (prach_root > 1023)) + if ((ccparams_lte.prach_root <0) || (ccparams_lte.prach_root > 1023)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root); + RC.config_file_name, i, ccparams_lte.prach_root); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = prach_config_index; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_config_index = ccparams_lte.prach_config_index; - if ((prach_config_index <0) || (prach_config_index > 63)) + if ((ccparams_lte.prach_config_index <0) || (ccparams_lte.prach_config_index > 63)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); + RC.config_file_name, i, ccparams_lte.prach_config_index); - if (!prach_high_speed) + if (!ccparams_lte.prach_high_speed) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed, "ENABLE") == 0) { + else if (strcmp(ccparams_lte.prach_high_speed, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_high_speed = TRUE; - } else if (strcmp(prach_high_speed, "DISABLE") == 0) { + } else if (strcmp(ccparams_lte.prach_high_speed, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_high_speed = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed); + RC.config_file_name, i, ccparams_lte.prach_high_speed); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation =prach_zero_correlation; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_zero_correlation = ccparams_lte.prach_zero_correlation; - if ((prach_zero_correlation <0) || (prach_zero_correlation > 15)) + if ((ccparams_lte.prach_zero_correlation <0) || + (ccparams_lte.prach_zero_correlation > 15)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation); + RC.config_file_name, i, ccparams_lte.prach_zero_correlation); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = prach_freq_offset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].prach_freq_offset = ccparams_lte.prach_freq_offset; - if ((prach_freq_offset <0) || (prach_freq_offset > 94)) + if ((ccparams_lte.prach_freq_offset <0) || + (ccparams_lte.prach_freq_offset > 94)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); + RC.config_file_name, i, ccparams_lte.prach_freq_offset); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = pucch_delta_shift-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_delta_shift = ccparams_lte.pucch_delta_shift-1; - if ((pucch_delta_shift <1) || (pucch_delta_shift > 3)) + if ((ccparams_lte.pucch_delta_shift <1) || + (ccparams_lte.pucch_delta_shift > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift); + RC.config_file_name, i, ccparams_lte.pucch_delta_shift); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = pucch_nRB_CQI; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nRB_CQI = ccparams_lte.pucch_nRB_CQI; - if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98)) + if ((ccparams_lte.pucch_nRB_CQI <0) || + (ccparams_lte.pucch_nRB_CQI > 98)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI); + RC.config_file_name, i, ccparams_lte.pucch_nRB_CQI); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = pucch_nCS_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_nCS_AN = ccparams_lte.pucch_nCS_AN; - if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7)) + if ((ccparams_lte.pucch_nCS_AN <0) || + (ccparams_lte.pucch_nCS_AN > 7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN); + RC.config_file_name, i, ccparams_lte.pucch_nCS_AN); //#if (RRC_VERSION < MAKE_VERSION(10, 0, 0)) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = pucch_n1_AN; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_n1_AN = ccparams_lte.pucch_n1_AN; - if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047)) + if ((ccparams_lte.pucch_n1_AN <0) || + (ccparams_lte.pucch_n1_AN > 2047)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN); + RC.config_file_name, i, ccparams_lte.pucch_n1_AN); //#endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_referenceSignalPower = ccparams_lte.pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50)) + if ((ccparams_lte.pdsch_referenceSignalPower <-60) || + (ccparams_lte.pdsch_referenceSignalPower > 50)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + RC.config_file_name, i, ccparams_lte.pdsch_referenceSignalPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = pdsch_p_b; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pdsch_p_b = ccparams_lte.pdsch_p_b; - if ((pdsch_p_b <0) || (pdsch_p_b > 3)) + if ((ccparams_lte.pdsch_p_b <0) || + (ccparams_lte.pdsch_p_b > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b); + RC.config_file_name, i, ccparams_lte.pdsch_p_b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = pusch_n_SB; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_n_SB = ccparams_lte.pusch_n_SB; - if ((pusch_n_SB <1) || (pusch_n_SB > 4)) + if ((ccparams_lte.pusch_n_SB <1) || + (ccparams_lte.pusch_n_SB > 4)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB); + RC.config_file_name, i, ccparams_lte.pusch_n_SB); - if (!pusch_hoppingMode) + if (!ccparams_lte.pusch_hoppingMode) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode,"interSubFrame")==0) { + else if (strcmp(ccparams_lte.pusch_hoppingMode,"interSubFrame")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } else if (strcmp(pusch_hoppingMode,"intraAndInterSubFrame")==0) { + } + else if (strcmp(ccparams_lte.pusch_hoppingMode,"intraAndInterSubFrame")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode); + RC.config_file_name, i, ccparams_lte.pusch_hoppingMode); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = pusch_hoppingOffset; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_hoppingOffset = ccparams_lte.pusch_hoppingOffset; - if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98)) + if ((ccparams_lte.pusch_hoppingOffset<0) || + (ccparams_lte.pusch_hoppingOffset>98)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode); + RC.config_file_name, i, ccparams_lte.pusch_hoppingMode); - if (!pusch_enable64QAM) + if (!ccparams_lte.pusch_enable64QAM) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) { + else if (strcmp(ccparams_lte.pusch_enable64QAM, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_enable64QAM = TRUE; - } else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) { + } + else if (strcmp(ccparams_lte.pusch_enable64QAM, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_enable64QAM = FALSE; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM); + RC.config_file_name, i, ccparams_lte.pusch_enable64QAM); - if (!pusch_groupHoppingEnabled) + if (!ccparams_lte.pusch_groupHoppingEnabled) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) { + else if (strcmp(ccparams_lte.pusch_groupHoppingEnabled, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled = TRUE; - } else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) { + } + else if (strcmp(ccparams_lte.pusch_groupHoppingEnabled, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupHoppingEnabled= FALSE; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled); + RC.config_file_name, i, ccparams_lte.pusch_groupHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = pusch_groupAssignment; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_groupAssignment = ccparams_lte.pusch_groupAssignment; - if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29)) + if ((ccparams_lte.pusch_groupAssignment<0)|| + (ccparams_lte.pusch_groupAssignment>29)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment); + RC.config_file_name, i, ccparams_lte.pusch_groupAssignment); - if (!pusch_sequenceHoppingEnabled) + if (!ccparams_lte.pusch_sequenceHoppingEnabled) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + else if (strcmp(ccparams_lte.pusch_sequenceHoppingEnabled, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = TRUE; - } else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + } + else if (strcmp(ccparams_lte.pusch_sequenceHoppingEnabled, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_sequenceHoppingEnabled = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled); + RC.config_file_name, i, ccparams_lte.pusch_sequenceHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1= pusch_nDMRS1; //cyclic_shift in RRC! + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_nDMRS1= ccparams_lte.pusch_nDMRS1; //cyclic_shift in RRC! - if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7)) + if ((ccparams_lte.pusch_nDMRS1 <0) || + (ccparams_lte.pusch_nDMRS1>7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1); + RC.config_file_name, i, ccparams_lte.pusch_nDMRS1); - if (strcmp(phich_duration,"NORMAL")==0) { + if (strcmp(ccparams_lte.phich_duration,"NORMAL")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration= PHICH_Config__phich_Duration_normal; - } else if (strcmp(phich_duration,"EXTENDED")==0) { + } else if (strcmp(ccparams_lte.phich_duration,"EXTENDED")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration= PHICH_Config__phich_Duration_extended; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration); + RC.config_file_name, i, ccparams_lte.phich_duration); - if (strcmp(phich_resource,"ONESIXTH")==0) { + if (strcmp(ccparams_lte.phich_resource,"ONESIXTH")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_oneSixth ; - } else if (strcmp(phich_resource,"HALF")==0) { + } + else if (strcmp(ccparams_lte.phich_resource,"HALF")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_half; - } else if (strcmp(phich_resource,"ONE")==0) { + } + else if (strcmp(ccparams_lte.phich_resource,"ONE")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_one; - } else if (strcmp(phich_resource,"TWO")==0) { + } + else if (strcmp(ccparams_lte.phich_resource,"TWO")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource= PHICH_Config__phich_Resource_two; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource); + RC.config_file_name, i, ccparams_lte.phich_resource); printf("phich.resource %ld (%s), phich.duration %ld (%s)\n", - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource,phich_resource, - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration,phich_duration); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_resource,ccparams_lte.phich_resource, + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].phich_duration,ccparams_lte.phich_duration); - if (strcmp(srs_enable, "ENABLE") == 0) { + if (strcmp(ccparams_lte.srs_enable, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable= TRUE; - } else if (strcmp(srs_enable, "DISABLE") == 0) { + } + else if (strcmp(ccparams_lte.srs_enable, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable= FALSE; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable); + RC.config_file_name, i, ccparams_lte.srs_enable); if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_enable== TRUE) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig= srs_BandwidthConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_BandwidthConfig= ccparams_lte.srs_BandwidthConfig; - if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7)) + if ((ccparams_lte.srs_BandwidthConfig < 0) || + (ccparams_lte.srs_BandwidthConfig >7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig); + RC.config_file_name, i, ccparams_lte.srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig= srs_SubframeConfig; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_SubframeConfig= ccparams_lte.srs_SubframeConfig; - if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15)) + if ((ccparams_lte.srs_SubframeConfig<0) || + (ccparams_lte.srs_SubframeConfig>15)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig); + RC.config_file_name, i, ccparams_lte.srs_SubframeConfig); - if (strcmp(srs_ackNackST, "ENABLE") == 0) { + if (strcmp(ccparams_lte.srs_ackNackST, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_ackNackST= TRUE; - } else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + } + else if (strcmp(ccparams_lte.srs_ackNackST, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_ackNackST= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST); + RC.config_file_name, i, ccparams_lte.srs_ackNackST); - if (strcmp(srs_MaxUpPts, "ENABLE") == 0) { + if (strcmp(ccparams_lte.srs_MaxUpPts, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_MaxUpPts= TRUE; - } else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) { + } + else if (strcmp(ccparams_lte.srs_MaxUpPts, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].srs_MaxUpPts= FALSE; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts); + RC.config_file_name, i, ccparams_lte.srs_MaxUpPts); } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_p0_Nominal= pusch_p0_Nominal; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_p0_Nominal= ccparams_lte.pusch_p0_Nominal; - if ((pusch_p0_Nominal<-126) || (pusch_p0_Nominal>24)) + if ((ccparams_lte.pusch_p0_Nominal<-126) || + (ccparams_lte.pusch_p0_Nominal>24)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + RC.config_file_name, i, ccparams_lte.pusch_p0_Nominal); #if (RRC_VERSION <= MAKE_VERSION(12, 0, 0)) - if (strcmp(pusch_alpha,"AL0")==0) { + if (strcmp(ccparams_lte.pusch_alpha,"AL0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al0; - } else if (strcmp(pusch_alpha,"AL04")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL04")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al04; - } else if (strcmp(pusch_alpha,"AL05")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL05")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al05; - } else if (strcmp(pusch_alpha,"AL06")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL06")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al06; - } else if (strcmp(pusch_alpha,"AL07")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL07")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al07; - } else if (strcmp(pusch_alpha,"AL08")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL08")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al08; - } else if (strcmp(pusch_alpha,"AL09")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL09")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al09; - } else if (strcmp(pusch_alpha,"AL1")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= UplinkPowerControlCommon__alpha_al1; } #endif #if (RRC_VERSION >= MAKE_VERSION(12, 0, 0)) - if (strcmp(pusch_alpha,"AL0")==0) { + if (strcmp(ccparams_lte.pusch_alpha,"AL0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al0; - } else if (strcmp(pusch_alpha,"AL04")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL04")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al04; - } else if (strcmp(pusch_alpha,"AL05")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL05")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al05; - } else if (strcmp(pusch_alpha,"AL06")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL06")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al06; - } else if (strcmp(pusch_alpha,"AL07")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL07")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al07; - } else if (strcmp(pusch_alpha,"AL08")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL08")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al08; - } else if (strcmp(pusch_alpha,"AL09")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL09")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al09; - } else if (strcmp(pusch_alpha,"AL1")==0) { + } + else if (strcmp(ccparams_lte.pusch_alpha,"AL1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pusch_alpha= Alpha_r12_al1; } @@ -1359,96 +912,117 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { 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", - RC.config_file_name, i, pusch_alpha); + RC.config_file_name, i, ccparams_lte.pusch_alpha); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_p0_Nominal= pucch_p0_Nominal; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_p0_Nominal= ccparams_lte.pucch_p0_Nominal; - if ((pucch_p0_Nominal<-127) || (pucch_p0_Nominal>-96)) + if ((ccparams_lte.pucch_p0_Nominal<-127) || + (ccparams_lte.pucch_p0_Nominal>-96)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal); + RC.config_file_name, i, ccparams_lte.pucch_p0_Nominal); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].msg3_delta_Preamble= msg3_delta_Preamble; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].msg3_delta_Preamble= ccparams_lte.msg3_delta_Preamble; - if ((msg3_delta_Preamble<-1) || (msg3_delta_Preamble>6)) + if ((ccparams_lte.msg3_delta_Preamble<-1) || + (ccparams_lte.msg3_delta_Preamble>6)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble); + RC.config_file_name, i, ccparams_lte.msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1,"deltaF_2")==0) { + if (strcmp(ccparams_lte.pucch_deltaF_Format1,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } else if (strcmp(pucch_deltaF_Format1,"deltaF0")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format1,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } else if (strcmp(pucch_deltaF_Format1,"deltaF2")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format1,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1); + RC.config_file_name, i, ccparams_lte.pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b,"deltaF1")==0) { + if (strcmp(ccparams_lte.pucch_deltaF_Format1b,"deltaF1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } else if (strcmp(pucch_deltaF_Format1b,"deltaF3")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format1b,"deltaF3")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } else if (strcmp(pucch_deltaF_Format1b,"deltaF5")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format1b,"deltaF5")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b); + RC.config_file_name, i, ccparams_lte.pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2,"deltaF_2")==0) { + if (strcmp(ccparams_lte.pucch_deltaF_Format2,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2,"deltaF0")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } else if (strcmp(pucch_deltaF_Format2,"deltaF1")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2,"deltaF1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } else if (strcmp(pucch_deltaF_Format2,"deltaF2")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2); + RC.config_file_name, i, ccparams_lte.pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a,"deltaF_2")==0) { + if (strcmp(ccparams_lte.pucch_deltaF_Format2a,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2a,"deltaF0")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2a,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } else if (strcmp(pucch_deltaF_Format2a,"deltaF2")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2a,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a); + RC.config_file_name, i, ccparams_lte.pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b,"deltaF_2")==0) { + if (strcmp(ccparams_lte.pucch_deltaF_Format2b,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2b,"deltaF0")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2b,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } else if (strcmp(pucch_deltaF_Format2b,"deltaF2")==0) { + } + else if (strcmp(ccparams_lte.pucch_deltaF_Format2b,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b); + RC.config_file_name, i, ccparams_lte.pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles= (ccparams_lte.rach_numberOfRA_Preambles/4)-1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>64) || ((rach_numberOfRA_Preambles&3)!=0)) + if ((ccparams_lte.rach_numberOfRA_Preambles <4) || + (ccparams_lte.rach_numberOfRA_Preambles>64) || + ((ccparams_lte.rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles); + RC.config_file_name, i, ccparams_lte.rach_numberOfRA_Preambles); - if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) { + if (strcmp(ccparams_lte.rach_preamblesGroupAConfig, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (ccparams_lte.rach_sizeOfRA_PreamblesGroupA/4)-1; - if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0)) + if ((ccparams_lte.rach_numberOfRA_Preambles <4) || + (ccparams_lte.rach_numberOfRA_Preambles>60) || + ((ccparams_lte.rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA); + RC.config_file_name, i, ccparams_lte.rach_sizeOfRA_PreamblesGroupA); - switch (rach_messageSizeGroupA) { + switch (ccparams_lte.rach_messageSizeGroupA) { case 56: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; break; @@ -1468,52 +1042,64 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA); + RC.config_file_name, i, ccparams_lte.rach_messageSizeGroupA); break; } - if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"minusinfinity")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB5")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB8")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB10")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB12")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB15")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) { + } + else if (strcmp(ccparams_lte.rach_messagePowerOffsetGroupB,"dB18")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } else + } + else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB); - } else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) { + RC.config_file_name, i, ccparams_lte.rach_messagePowerOffsetGroupB); + } else if (strcmp(ccparams_lte.rach_preamblesGroupAConfig, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig); + RC.config_file_name, i, ccparams_lte.rach_preamblesGroupAConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_preambleInitialReceivedTargetPower= (ccparams_lte.rach_preambleInitialReceivedTargetPower+120)/2; - if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0)) + if ((ccparams_lte.rach_preambleInitialReceivedTargetPower<-120) || + (ccparams_lte.rach_preambleInitialReceivedTargetPower>-90) || + ((ccparams_lte.rach_preambleInitialReceivedTargetPower&1)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower); + RC.config_file_name, i, ccparams_lte.rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= rach_powerRampingStep/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_powerRampingStep= ccparams_lte.rach_powerRampingStep/2; - if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0)) + if ((ccparams_lte.rach_powerRampingStep<0) || + (ccparams_lte.rach_powerRampingStep>6) || + ((ccparams_lte.rach_powerRampingStep&1)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep); + RC.config_file_name, i, ccparams_lte.rach_powerRampingStep); - switch (rach_preambleTransMax) { + switch (ccparams_lte.rach_preambleTransMax) { #if (RRC_VERSION < MAKE_VERSION(14, 0, 0)) case 3: @@ -1609,32 +1195,37 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax); + RC.config_file_name, i, ccparams_lte.rach_preambleTransMax); break; } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_raResponseWindowSize= (ccparams_lte.rach_raResponseWindowSize==10)?7:ccparams_lte.rach_raResponseWindowSize-2; - if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10)) + if ((ccparams_lte.rach_raResponseWindowSize<0)|| + (ccparams_lte.rach_raResponseWindowSize==9)|| + (ccparams_lte.rach_raResponseWindowSize>10)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_preambleTransMax); + RC.config_file_name, i, ccparams_lte.rach_preambleTransMax); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_macContentionResolutionTimer= (ccparams_lte.rach_macContentionResolutionTimer/8)-1; - if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0)) + if ((ccparams_lte.rach_macContentionResolutionTimer<8) || + (ccparams_lte.rach_macContentionResolutionTimer>64) || + ((ccparams_lte.rach_macContentionResolutionTimer&7)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_preambleTransMax); + RC.config_file_name, i, ccparams_lte.rach_preambleTransMax); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_maxHARQ_Msg3Tx= ccparams_lte.rach_maxHARQ_Msg3Tx; - if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8)) + if ((ccparams_lte.rach_maxHARQ_Msg3Tx<0) || + (ccparams_lte.rach_maxHARQ_Msg3Tx>8)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_preambleTransMax); + RC.config_file_name, i, ccparams_lte.rach_preambleTransMax); - switch (pcch_defaultPagingCycle) { + switch (ccparams_lte.pcch_defaultPagingCycle) { case 32: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; break; @@ -1654,32 +1245,40 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle); + RC.config_file_name, i, ccparams_lte.pcch_defaultPagingCycle); break; } - if (strcmp(pcch_nB, "fourT") == 0) { + if (strcmp(ccparams_lte.pcch_nB, "fourT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_fourT; - } else if (strcmp(pcch_nB, "twoT") == 0) { + } + else if (strcmp(ccparams_lte.pcch_nB, "twoT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_twoT; - } else if (strcmp(pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneT; - } else if (strcmp(pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_halfT; - } else if (strcmp(pcch_nB, "quarterT") == 0) { + } + else if (strcmp(ccparams_lte.pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneT; + } + else if (strcmp(ccparams_lte.pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_halfT; + } + else if (strcmp(ccparams_lte.pcch_nB, "quarterT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_quarterT; - } else if (strcmp(pcch_nB, "oneEighthT") == 0) { + } + else if (strcmp(ccparams_lte.pcch_nB, "oneEighthT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneEighthT; - } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) { + } + else if (strcmp(ccparams_lte.pcch_nB, "oneSixteenthT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; - } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) { + } + else if (strcmp(ccparams_lte.pcch_nB, "oneThirtySecondT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; - } else + } + else AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_defaultPagingCycle); + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + RC.config_file_name, i, ccparams_lte.pcch_nB); - switch (bcch_modificationPeriodCoeff) { + switch (ccparams_lte.bcch_modificationPeriodCoeff) { case 2: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n2; break; @@ -1699,18 +1298,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); + RC.config_file_name, i, ccparams_lte.bcch_modificationPeriodCoeff); break; } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= ue_TimersAndConstants_t300; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= ue_TimersAndConstants_t301; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= ue_TimersAndConstants_t310; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= ue_TimersAndConstants_t311; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= ue_TimersAndConstants_n310; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= ue_TimersAndConstants_n311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= ccparams_lte.ue_TimersAndConstants_t300; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= ccparams_lte.ue_TimersAndConstants_t301; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= ccparams_lte.ue_TimersAndConstants_t310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= ccparams_lte.ue_TimersAndConstants_t311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= ccparams_lte.ue_TimersAndConstants_n310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= ccparams_lte.ue_TimersAndConstants_n311; - switch (ue_TransmissionMode) { + switch (ccparams_lte.ue_TransmissionMode) { case 1: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; break; @@ -1742,57 +1341,60 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); + RC.config_file_name, i, ccparams_lte.ue_TransmissionMode); break; } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_multiple_max= ue_multiple_max; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_multiple_max= ccparams_lte.ue_multiple_max; - switch (N_RB_DL) { + switch (ccparams_lte.N_RB_DL) { case 25: - if ((ue_multiple_max < 1) || (ue_multiple_max > 4)) + if ((ccparams_lte.ue_multiple_max < 1) || + (ccparams_lte.ue_multiple_max > 4)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_multiple_max choice: 1..4!\n", - RC.config_file_name, i, ue_multiple_max); + RC.config_file_name, i, ccparams_lte.ue_multiple_max); break; case 50: - if ((ue_multiple_max < 1) || (ue_multiple_max > 8)) + if ((ccparams_lte.ue_multiple_max < 1) || + (ccparams_lte.ue_multiple_max > 8)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_multiple_max choice: 1..8!\n", - RC.config_file_name, i, ue_multiple_max); + RC.config_file_name, i, ccparams_lte.ue_multiple_max); break; case 100: - if ((ue_multiple_max < 1) || (ue_multiple_max > 16)) + if ((ccparams_lte.ue_multiple_max < 1) || + (ccparams_lte.ue_multiple_max > 16)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_multiple_max choice: 1..16!\n", - RC.config_file_name, i, ue_multiple_max); + RC.config_file_name, i, ccparams_lte.ue_multiple_max); break; default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 25,50,100 !\n", - RC.config_file_name, i, N_RB_DL); + RC.config_file_name, i, ccparams_lte.N_RB_DL); break; } char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; - sprintf(brparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS); + sprintf(brparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_EMTC_PARAMETERS); config_get( brParams, sizeof(brParams)/sizeof(paramdef_t), brparamspath); - RRC_CONFIGURATION_REQ(msg_p).eMTC_configured = eMTC_configured&1; + RRC_CONFIGURATION_REQ(msg_p).eMTC_configured = eMTCconfig.eMTC_configured&1; - if (eMTC_configured > 0) { + if (eMTCconfig.eMTC_configured > 0) { printf("Found parameters for eMTC\n"); - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = schedulingInfoSIB1_BR_r13; + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = eMTCconfig.schedulingInfoSIB1_BR_r13; - if (!strcmp(cellSelectionInfoCE_r13, "ENABLE")) { + if (!strcmp(eMTCconfig.cellSelectionInfoCE_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= q_RxLevMinCE_r13; + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= eMTCconfig.q_RxLevMinCE_r13; // RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); // *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; } else { @@ -1801,37 +1403,37 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { - if (!strcmp(bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { + if (!strcmp(eMTCconfig.bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - if (!strcmp(si_WindowLength_BR_r13, "ms20")) { + if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms20")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; - } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms40")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; - } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms60")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; - } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms80")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; - } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms120")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; - } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms160")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; - } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms200")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; - } else if (!strcmp(si_WindowLength_BR_r13, "spare")) { + } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "spare")) { RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; } - if (!strcmp(si_RepetitionPattern_r13, "everyRF")) { + if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "everyRF")) { RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; - } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) { + } else if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "every2ndRF")) { RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; - } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) { + } else if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "every4thRF")) { RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; - } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) { + } else if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "every8thRF")) { RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; } @@ -1844,10 +1446,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = schedulingInfoBrParamList.numelt; int siInfoindex; for (siInfoindex = 0; siInfoindex < schedulingInfoBrParamList.numelt; siInfoindex++) { - sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST, siInfoindex); + sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_EMTC_PARAMETERS, siInfoindex); config_get(schedulingInfoBrParams, sizeof(schedulingInfoBrParams) / sizeof(paramdef_t), schedulingInfoBrPath); - RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][siInfoindex] = si_Narrowband_r13; - RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][siInfoindex] = si_TBS_r13; + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][siInfoindex] = eMTCconfig.si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][siInfoindex] = eMTCconfig.si_TBS_r13; } @@ -1856,26 +1458,26 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); - if (!strcmp(fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { + if (!strcmp(eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } else { *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_val_r13; } - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13; + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = eMTCconfig.startSymbolBR_r13; - if (!strcmp(si_HoppingConfigCommon_r13, "off")) { + if (!strcmp(eMTCconfig.si_HoppingConfigCommon_r13, "off")) { RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; - } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) { + } else if (!strcmp(eMTCconfig.si_HoppingConfigCommon_r13, "on")) { RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; } RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(si_ValidityTime_r13, "true")) { + if (!strcmp(eMTCconfig.si_ValidityTime_r13, "true")) { *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; } else { AssertFatal(0, @@ -1884,26 +1486,26 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { } - if (!strcmp(freqHoppingParametersDL_r13, "ENABLE")) + if (!strcmp(eMTCconfig.freqHoppingParametersDL_r13, "ENABLE")) { RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + if (!strcmp(eMTCconfig.interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; else RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = interval_DLHoppingConfigCommonModeA_r13_val; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = eMTCconfig.interval_DLHoppingConfigCommonModeA_r13_val; - if (!strcmp(interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + if (!strcmp(eMTCconfig.interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; else RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = interval_DLHoppingConfigCommonModeB_r13_val; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = eMTCconfig.interval_DLHoppingConfigCommonModeB_r13_val; RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) { + if (!strcmp(eMTCconfig.mpdcch_pdsch_HoppingNB_r13, "nb2")) { *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; - } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) { + } else if (!strcmp(eMTCconfig.mpdcch_pdsch_HoppingNB_r13, "nb4")) { *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; } else { AssertFatal(0, @@ -1913,7 +1515,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = mpdcch_pdsch_HoppingOffset_r13; + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = eMTCconfig.mpdcch_pdsch_HoppingOffset_r13; } else @@ -1924,284 +1526,284 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { /** ------------------------------SIB2/3 BR------------------------------------------ */ - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = prach_root_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = eMTCconfig.ccparams.prach_root; - if ((prach_root_emtc <0) || (prach_root_emtc > 1023)) + if ((eMTCconfig.ccparams.prach_root <0) || (eMTCconfig.ccparams.prach_root > 1023)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, prach_root_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.prach_root); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = eMTCconfig.ccparams.prach_config_index; - if ((prach_config_index_emtc <0) || (prach_config_index_emtc > 63)) + if ((eMTCconfig.ccparams.prach_config_index <0) || (eMTCconfig.ccparams.prach_config_index > 63)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, prach_config_index); + RC.config_file_name, i, eMTCconfig.ccparams.prach_config_index); - if (!prach_high_speed_emtc) + if (!eMTCconfig.ccparams.prach_high_speed) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(prach_high_speed_emtc, "ENABLE") == 0) { + else if (strcmp(eMTCconfig.ccparams.prach_high_speed, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; - } else if (strcmp(prach_high_speed_emtc, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.prach_high_speed, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, prach_high_speed_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.prach_high_speed); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation = eMTCconfig.ccparams.prach_zero_correlation; - if ((prach_zero_correlation_emtc <0) || (prach_zero_correlation_emtc > 15)) + if ((eMTCconfig.ccparams.prach_zero_correlation <0) || (eMTCconfig.ccparams.prach_zero_correlation > 15)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, prach_zero_correlation_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.prach_zero_correlation); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = eMTCconfig.ccparams.prach_freq_offset; - if ((prach_freq_offset_emtc <0) || (prach_freq_offset_emtc > 94)) + if ((eMTCconfig.ccparams.prach_freq_offset <0) || (eMTCconfig.ccparams.prach_freq_offset > 94)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, prach_freq_offset); + RC.config_file_name, i, eMTCconfig.ccparams.prach_freq_offset); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift_emtc-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = eMTCconfig.ccparams.pucch_delta_shift-1; - if ((pucch_delta_shift_emtc <1) || (pucch_delta_shift_emtc > 3)) + if ((eMTCconfig.ccparams.pucch_delta_shift <1) || (eMTCconfig.ccparams.pucch_delta_shift > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, pucch_delta_shift_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_delta_shift); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = eMTCconfig.ccparams.pucch_nRB_CQI; - if ((pucch_nRB_CQI_emtc <0) || (pucch_nRB_CQI_emtc > 98)) + if ((eMTCconfig.ccparams.pucch_nRB_CQI <0) || (eMTCconfig.ccparams.pucch_nRB_CQI > 98)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, pucch_nRB_CQI_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_nRB_CQI); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = eMTCconfig.ccparams.pucch_nCS_AN; - if ((pucch_nCS_AN_emtc <0) || (pucch_nCS_AN_emtc > 7)) + if ((eMTCconfig.ccparams.pucch_nCS_AN <0) || (eMTCconfig.ccparams.pucch_nCS_AN > 7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, pucch_nCS_AN_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_nCS_AN); //#if (RRC_VERSION < MAKE_VERSION(10, 0, 0)) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = pucch_n1_AN_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = eMTCconfig.ccparams.pucch_n1_AN; - if ((pucch_n1_AN_emtc <0) || (pucch_n1_AN_emtc > 2047)) + if ((eMTCconfig.ccparams.pucch_n1_AN <0) || (eMTCconfig.ccparams.pucch_n1_AN > 2047)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, pucch_n1_AN_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_n1_AN); //#endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = eMTCconfig.ccparams.pdsch_referenceSignalPower; - if ((pdsch_referenceSignalPower_emtc <-60) || (pdsch_referenceSignalPower_emtc > 50)) + if ((eMTCconfig.ccparams.pdsch_referenceSignalPower <-60) || (eMTCconfig.ccparams.pdsch_referenceSignalPower > 50)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, pdsch_referenceSignalPower); + RC.config_file_name, i, eMTCconfig.ccparams.pdsch_referenceSignalPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = eMTCconfig.ccparams.pdsch_p_b; - if ((pdsch_p_b_emtc <0) || (pdsch_p_b_emtc > 3)) + if ((eMTCconfig.ccparams.pdsch_p_b <0) || (eMTCconfig.ccparams.pdsch_p_b > 3)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, pdsch_p_b_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pdsch_p_b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = eMTCconfig.ccparams.pusch_n_SB; - if ((pusch_n_SB_emtc <1) || (pusch_n_SB_emtc > 4)) + if ((eMTCconfig.ccparams.pusch_n_SB <1) || (eMTCconfig.ccparams.pusch_n_SB > 4)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, pusch_n_SB_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_n_SB); - if (!pusch_hoppingMode_emtc) + if (!eMTCconfig.ccparams.pusch_hoppingMode) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(pusch_hoppingMode_emtc,"interSubFrame")==0) { + else if (strcmp(eMTCconfig.ccparams.pusch_hoppingMode,"interSubFrame")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } else if (strcmp(pusch_hoppingMode_emtc,"intraAndInterSubFrame")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_hoppingMode,"intraAndInterSubFrame")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, pusch_hoppingMode_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_hoppingMode); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = eMTCconfig.ccparams.pusch_hoppingOffset; - if ((pusch_hoppingOffset_emtc<0) || (pusch_hoppingOffset_emtc>98)) + if ((eMTCconfig.ccparams.pusch_hoppingOffset<0) || (eMTCconfig.ccparams.pusch_hoppingOffset>98)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, pusch_hoppingMode_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_hoppingMode); - if (!pusch_enable64QAM_emtc) + if (!eMTCconfig.ccparams.pusch_enable64QAM) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(pusch_enable64QAM_emtc, "ENABLE") == 0) { + else if (strcmp(eMTCconfig.ccparams.pusch_enable64QAM, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; - } else if (strcmp(pusch_enable64QAM_emtc, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_enable64QAM, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_enable64QAM_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_enable64QAM); - if (!pusch_groupHoppingEnabled_emtc) + if (!eMTCconfig.ccparams.pusch_groupHoppingEnabled) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(pusch_groupHoppingEnabled_emtc, "ENABLE") == 0) { + else if (strcmp(eMTCconfig.ccparams.pusch_groupHoppingEnabled, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; - } else if (strcmp(pusch_groupHoppingEnabled_emtc, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_groupHoppingEnabled, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_groupHoppingEnabled_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_groupHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = eMTCconfig.ccparams.pusch_groupAssignment; - if ((pusch_groupAssignment_emtc<0)||(pusch_groupAssignment_emtc>29)) + if ((eMTCconfig.ccparams.pusch_groupAssignment<0)||(eMTCconfig.ccparams.pusch_groupAssignment>29)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, pusch_groupAssignment_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_groupAssignment); - if (!pusch_sequenceHoppingEnabled_emtc) + if (!eMTCconfig.ccparams.pusch_sequenceHoppingEnabled) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(pusch_sequenceHoppingEnabled_emtc, "ENABLE") == 0) { + else if (strcmp(eMTCconfig.ccparams.pusch_sequenceHoppingEnabled, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; - } else if (strcmp(pusch_sequenceHoppingEnabled_emtc, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_sequenceHoppingEnabled, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, pusch_sequenceHoppingEnabled_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_sequenceHoppingEnabled); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1= pusch_nDMRS1_emtc; //cyclic_shift in RRC! + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1= eMTCconfig.ccparams.pusch_nDMRS1; //cyclic_shift in RRC! - if ((pusch_nDMRS1_emtc <0) || (pusch_nDMRS1_emtc>7)) + if ((eMTCconfig.ccparams.pusch_nDMRS1 <0) || (eMTCconfig.ccparams.pusch_nDMRS1>7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, pusch_nDMRS1_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_nDMRS1); - if (strcmp(phich_duration_emtc,"NORMAL")==0) { + if (strcmp(eMTCconfig.ccparams.phich_duration,"NORMAL")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration= PHICH_Config__phich_Duration_normal; - } else if (strcmp(phich_duration_emtc,"EXTENDED")==0) { + } else if (strcmp(eMTCconfig.ccparams.phich_duration,"EXTENDED")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration= PHICH_Config__phich_Duration_extended; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, phich_duration_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.phich_duration); - if (strcmp(phich_resource_emtc,"ONESIXTH")==0) { + if (strcmp(eMTCconfig.ccparams.phich_resource,"ONESIXTH")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_oneSixth ; - } else if (strcmp(phich_resource_emtc,"HALF")==0) { + } else if (strcmp(eMTCconfig.ccparams.phich_resource,"HALF")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_half; - } else if (strcmp(phich_resource_emtc,"ONE")==0) { + } else if (strcmp(eMTCconfig.ccparams.phich_resource,"ONE")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_one; - } else if (strcmp(phich_resource_emtc,"TWO")==0) { + } else if (strcmp(eMTCconfig.ccparams.phich_resource,"TWO")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_two; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, phich_resource_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.phich_resource); printf("phich.resource eMTC %ld (%s), phich.duration eMTC %ld (%s)\n", - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource,phich_resource_emtc, - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration,phich_duration_emtc); + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource,eMTCconfig.ccparams.phich_resource, + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration,eMTCconfig.ccparams.phich_duration); - if (strcmp(srs_enable_emtc, "ENABLE") == 0) { + if (strcmp(eMTCconfig.ccparams.srs_enable, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable= TRUE; - } else if (strcmp(srs_enable_emtc, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.srs_enable, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_enable_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.srs_enable); if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable== TRUE) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig= srs_BandwidthConfig_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig= eMTCconfig.ccparams.srs_BandwidthConfig; - if ((srs_BandwidthConfig_emtc < 0) || (srs_BandwidthConfig_emtc >7)) + if ((eMTCconfig.ccparams.srs_BandwidthConfig < 0) || (eMTCconfig.ccparams.srs_BandwidthConfig >7)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, srs_BandwidthConfig_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.srs_BandwidthConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig= srs_SubframeConfig_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig= eMTCconfig.ccparams.srs_SubframeConfig; - if ((srs_SubframeConfig_emtc<0) || (srs_SubframeConfig_emtc>15)) + if ((eMTCconfig.ccparams.srs_SubframeConfig<0) || (eMTCconfig.ccparams.srs_SubframeConfig>15)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, srs_SubframeConfig_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.srs_SubframeConfig); - if (strcmp(srs_ackNackST_emtc, "ENABLE") == 0) { + if (strcmp(eMTCconfig.ccparams.srs_ackNackST, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_ackNackST= TRUE; - } else if (strcmp(srs_ackNackST, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.srs_ackNackST, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_ackNackST= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_ackNackST_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.srs_ackNackST); - if (strcmp(srs_MaxUpPts_emtc, "ENABLE") == 0) { + if (strcmp(eMTCconfig.ccparams.srs_MaxUpPts, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_MaxUpPts= TRUE; - } else if (strcmp(srs_MaxUpPts_emtc, "DISABLE") == 0) { + } else if (strcmp(eMTCconfig.ccparams.srs_MaxUpPts, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_MaxUpPts= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, srs_MaxUpPts_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.srs_MaxUpPts); } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal= pusch_p0_Nominal_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal= eMTCconfig.ccparams.pusch_p0_Nominal; - if ((pusch_p0_Nominal_emtc<-126) || (pusch_p0_Nominal_emtc>24)) + if ((eMTCconfig.ccparams.pusch_p0_Nominal<-126) || (eMTCconfig.ccparams.pusch_p0_Nominal>24)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, pusch_p0_Nominal); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_p0_Nominal); #if (RRC_VERSION <= MAKE_VERSION(12, 0, 0)) - if (strcmp(pusch_alpha_emtc,"AL0")==0) { + if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al0; - } else if (strcmp(pusch_alpha_emtc,"AL04")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL04")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al04; - } else if (strcmp(pusch_alpha_emtc,"AL05")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL05")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al05; - } else if (strcmp(pusch_alpha_emtc,"AL06")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL06")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al06; - } else if (strcmp(pusch_alpha_emtc,"AL07")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL07")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al07; - } else if (strcmp(pusch_alpha_emtc,"AL08")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL08")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al08; - } else if (strcmp(pusch_alpha_emtc,"AL09")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL09")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al09; - } else if (strcmp(pusch_alpha_emtc,"AL1")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al1; } #endif #if (RRC_VERSION >= MAKE_VERSION(12, 0, 0)) - if (strcmp(pusch_alpha_emtc,"AL0")==0) { + if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al0; - } else if (strcmp(pusch_alpha_emtc,"AL04")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL04")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al04; - } else if (strcmp(pusch_alpha_emtc,"AL05")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL05")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al05; - } else if (strcmp(pusch_alpha_emtc,"AL06")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL06")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al06; - } else if (strcmp(pusch_alpha_emtc,"AL07")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL07")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al07; - } else if (strcmp(pusch_alpha_emtc,"AL08")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL08")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al08; - } else if (strcmp(pusch_alpha_emtc,"AL09")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL09")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al09; - } else if (strcmp(pusch_alpha_emtc,"AL1")==0) { + } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al1; } @@ -2209,96 +1811,96 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { 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", - RC.config_file_name, i, pusch_alpha); + RC.config_file_name, i, eMTCconfig.ccparams.pusch_alpha); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal= pucch_p0_Nominal_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal= eMTCconfig.ccparams.pucch_p0_Nominal; - if ((pucch_p0_Nominal_emtc<-127) || (pucch_p0_Nominal_emtc>-96)) + if ((eMTCconfig.ccparams.pucch_p0_Nominal<-127) || (eMTCconfig.ccparams.pucch_p0_Nominal>-96)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, pucch_p0_Nominal_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_p0_Nominal); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble= msg3_delta_Preamble_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble= eMTCconfig.ccparams.msg3_delta_Preamble; - if ((msg3_delta_Preamble_emtc<-1) || (msg3_delta_Preamble_emtc>6)) + if ((eMTCconfig.ccparams.msg3_delta_Preamble<-1) || (eMTCconfig.ccparams.msg3_delta_Preamble>6)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, msg3_delta_Preamble_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.msg3_delta_Preamble); - if (strcmp(pucch_deltaF_Format1_emtc,"deltaF_2")==0) { + if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } else if (strcmp(pucch_deltaF_Format1_emtc,"deltaF0")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } else if (strcmp(pucch_deltaF_Format1_emtc,"deltaF2")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format1_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format1); - if (strcmp(pucch_deltaF_Format1b_emtc,"deltaF1")==0) { + if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1b,"deltaF1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } else if (strcmp(pucch_deltaF_Format1b_emtc,"deltaF3")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1b,"deltaF3")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } else if (strcmp(pucch_deltaF_Format1b_emtc,"deltaF5")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1b,"deltaF5")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, pucch_deltaF_Format1b_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format1b); - if (strcmp(pucch_deltaF_Format2_emtc,"deltaF_2")==0) { + if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2_emtc,"deltaF0")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } else if (strcmp(pucch_deltaF_Format2_emtc,"deltaF1")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF1")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } else if (strcmp(pucch_deltaF_Format2_emtc,"deltaF2")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format2); - if (strcmp(pucch_deltaF_Format2a_emtc,"deltaF_2")==0) { + if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2a,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2a_emtc,"deltaF0")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2a,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } else if (strcmp(pucch_deltaF_Format2a_emtc,"deltaF2")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2a,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2a_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format2a); - if (strcmp(pucch_deltaF_Format2b_emtc,"deltaF_2")==0) { + if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2b,"deltaF_2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } else if (strcmp(pucch_deltaF_Format2b_emtc,"deltaF0")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2b,"deltaF0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } else if (strcmp(pucch_deltaF_Format2b_emtc,"deltaF2")==0) { + } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2b,"deltaF2")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, pucch_deltaF_Format2b_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format2b); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles_emtc/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (eMTCconfig.ccparams.rach_numberOfRA_Preambles/4)-1; - if ((rach_numberOfRA_Preambles_emtc <4) || (rach_numberOfRA_Preambles_emtc >64) || ((rach_numberOfRA_Preambles_emtc&3)!=0)) + if ((eMTCconfig.ccparams.rach_numberOfRA_Preambles <4) || (eMTCconfig.ccparams.rach_numberOfRA_Preambles >64) || ((eMTCconfig.ccparams.rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, rach_numberOfRA_Preambles_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_numberOfRA_Preambles); - if (strcmp(rach_preamblesGroupAConfig_emtc, "ENABLE") == 0) { + if (strcmp(eMTCconfig.ccparams.rach_preamblesGroupAConfig, "ENABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA_emtc/4)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (eMTCconfig.ccparams.rach_sizeOfRA_PreamblesGroupA/4)-1; - if ((rach_numberOfRA_Preambles_emtc <4) || (rach_numberOfRA_Preambles_emtc>60) || ((rach_numberOfRA_Preambles_emtc&3)!=0)) + if ((eMTCconfig.ccparams.rach_numberOfRA_Preambles <4) || (eMTCconfig.ccparams.rach_numberOfRA_Preambles>60) || ((eMTCconfig.ccparams.rach_numberOfRA_Preambles&3)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_sizeOfRA_PreamblesGroupA); - switch (rach_messageSizeGroupA_emtc) { + switch (eMTCconfig.ccparams.rach_messageSizeGroupA) { case 56: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; break; @@ -2318,52 +1920,52 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, rach_messageSizeGroupA_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_messageSizeGroupA); break; } - if (strcmp(rach_messagePowerOffsetGroupB_emtc,"minusinfinity")==0) { + if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"minusinfinity")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB0")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB0")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB5")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB5")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB8")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB8")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB10")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB10")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB12")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB12")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB15")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB15")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } else if (strcmp(rach_messagePowerOffsetGroupB_emtc,"dB18")==0) { + } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB18")==0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, rach_messagePowerOffsetGroupB_emtc); - } else if (strcmp(rach_preamblesGroupAConfig_emtc, "DISABLE") == 0) { + RC.config_file_name, i, eMTCconfig.ccparams.rach_messagePowerOffsetGroupB); + } else if (strcmp(eMTCconfig.ccparams.rach_preamblesGroupAConfig, "DISABLE") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, rach_preamblesGroupAConfig_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_preamblesGroupAConfig); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower_emtc+120)/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower+120)/2; - if ((rach_preambleInitialReceivedTargetPower_emtc<-120) || (rach_preambleInitialReceivedTargetPower_emtc>-90) || ((rach_preambleInitialReceivedTargetPower_emtc&1)!=0)) + if ((eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower<-120) || (eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower>-90) || ((eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower&1)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, rach_preambleInitialReceivedTargetPower_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep_emtc/2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= eMTCconfig.ccparams.rach_powerRampingStep/2; - if ((rach_powerRampingStep_emtc<0) || (rach_powerRampingStep_emtc>6) || ((rach_powerRampingStep_emtc&1)!=0)) + if ((eMTCconfig.ccparams.rach_powerRampingStep<0) || (eMTCconfig.ccparams.rach_powerRampingStep>6) || ((eMTCconfig.ccparams.rach_powerRampingStep&1)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, rach_powerRampingStep_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_powerRampingStep); - switch (rach_preambleTransMax_emtc) { + switch (eMTCconfig.ccparams.rach_preambleTransMax) { #if (RRC_VERSION < MAKE_VERSION(14, 0, 0)) case 3: @@ -2459,32 +2061,32 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, rach_preambleTransMax_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_preambleTransMax); break; } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (rach_raResponseWindowSize_emtc==10)?7:rach_raResponseWindowSize_emtc-2; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (eMTCconfig.ccparams.rach_raResponseWindowSize==10)?7:eMTCconfig.ccparams.rach_raResponseWindowSize-2; - if ((rach_raResponseWindowSize_emtc<0)||(rach_raResponseWindowSize_emtc==9)||(rach_raResponseWindowSize_emtc>10)) + if ((eMTCconfig.ccparams.rach_raResponseWindowSize<0)||(eMTCconfig.ccparams.rach_raResponseWindowSize==9)||(eMTCconfig.ccparams.rach_raResponseWindowSize>10)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, rach_raResponseWindowSize_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_raResponseWindowSize); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer_emtc/8)-1; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (eMTCconfig.ccparams.rach_macContentionResolutionTimer/8)-1; - if ((rach_macContentionResolutionTimer_emtc<8) || (rach_macContentionResolutionTimer_emtc>64) || ((rach_macContentionResolutionTimer_emtc&7)!=0)) + if ((eMTCconfig.ccparams.rach_macContentionResolutionTimer<8) || (eMTCconfig.ccparams.rach_macContentionResolutionTimer>64) || ((eMTCconfig.ccparams.rach_macContentionResolutionTimer&7)!=0)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, rach_macContentionResolutionTimer_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_macContentionResolutionTimer); - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx_emtc; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx; - if ((rach_maxHARQ_Msg3Tx_emtc<0) || (rach_maxHARQ_Msg3Tx_emtc>8)) + if ((eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx<0) || (eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx>8)) AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, rach_maxHARQ_Msg3Tx_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx); - switch (pcch_defaultPagingCycle_emtc) { + switch (eMTCconfig.ccparams.pcch_defaultPagingCycle) { case 32: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; break; @@ -2504,32 +2106,32 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, pcch_defaultPagingCycle_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pcch_defaultPagingCycle); break; } - if (strcmp(pcch_nB_emtc, "fourT") == 0) { + if (strcmp(eMTCconfig.ccparams.pcch_nB, "fourT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; - } else if (strcmp(pcch_nB_emtc, "twoT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "twoT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; - } else if (strcmp(pcch_nB_emtc, "oneT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; - } else if (strcmp(pcch_nB_emtc, "halfT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "halfT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; - } else if (strcmp(pcch_nB_emtc, "quarterT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "quarterT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; - } else if (strcmp(pcch_nB_emtc, "oneEighthT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneEighthT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; - } else if (strcmp(pcch_nB_emtc, "oneSixteenthT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneSixteenthT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; - } else if (strcmp(pcch_nB_emtc, "oneThirtySecondT") == 0) { + } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneThirtySecondT") == 0) { RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; } else AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, pcch_nB_emtc); + RC.config_file_name, i, eMTCconfig.ccparams.pcch_nB); - switch (bcch_modificationPeriodCoeff_emtc) { + switch (eMTCconfig.ccparams.bcch_modificationPeriodCoeff) { case 2: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n2; break; @@ -2549,18 +2151,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, bcch_modificationPeriodCoeff); + RC.config_file_name, i, eMTCconfig.ccparams.bcch_modificationPeriodCoeff); break; } - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300= ue_TimersAndConstants_t300; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= ue_TimersAndConstants_t301; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= ue_TimersAndConstants_t310; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= ue_TimersAndConstants_t311; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= ue_TimersAndConstants_n310; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= ue_TimersAndConstants_n311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300= eMTCconfig.ccparams.ue_TimersAndConstants_t300; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= eMTCconfig.ccparams.ue_TimersAndConstants_t301; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= eMTCconfig.ccparams.ue_TimersAndConstants_t310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= eMTCconfig.ccparams.ue_TimersAndConstants_t311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= eMTCconfig.ccparams.ue_TimersAndConstants_n310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= eMTCconfig.ccparams.ue_TimersAndConstants_n311; - switch (ue_TransmissionMode_emtc) { + switch (eMTCconfig.ccparams.ue_TransmissionMode) { case 1: RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; break; @@ -2592,7 +2194,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { default: AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, ue_TransmissionMode); + RC.config_file_name, i, eMTCconfig.ccparams.ue_TransmissionMode); break; } @@ -2600,9 +2202,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { + if (!strcmp(eMTCconfig.pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { + } else if (!strcmp(eMTCconfig.pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; } else { AssertFatal (0, @@ -2612,11 +2214,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) { + if (!strcmp(eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, "r8")) { *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) { + } else if (!strcmp(eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, "r16")) { *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) { + } else if (!strcmp(eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, "r32")) { *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; } else { AssertFatal (0, @@ -2632,36 +2234,36 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); config_get(rachcelevelParams, sizeof(rachcelevelParams) / sizeof(paramdef_t), rachCELevelInfoListPath); - RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rachCEInfoIndex] = firstPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rachCEInfoIndex] = lastPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rachCEInfoIndex] = eMTCconfig.firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rachCEInfoIndex] = eMTCconfig.lastPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = ra_ResponseWindowSize_r13; - AssertFatal(ra_ResponseWindowSize_r13 == 20 || - ra_ResponseWindowSize_r13 == 50 || - ra_ResponseWindowSize_r13 == 80 || - ra_ResponseWindowSize_r13 == 120 || - ra_ResponseWindowSize_r13 == 180 || - ra_ResponseWindowSize_r13 == 240 || - ra_ResponseWindowSize_r13 == 320 || - ra_ResponseWindowSize_r13 == 400, - "Illegal ra_ResponseWindowSize_r13 %d\n",ra_ResponseWindowSize_r13); + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = eMTCconfig.ra_ResponseWindowSize_r13; + AssertFatal(eMTCconfig.ra_ResponseWindowSize_r13 == 20 || + eMTCconfig.ra_ResponseWindowSize_r13 == 50 || + eMTCconfig.ra_ResponseWindowSize_r13 == 80 || + eMTCconfig.ra_ResponseWindowSize_r13 == 120 || + eMTCconfig.ra_ResponseWindowSize_r13 == 180 || + eMTCconfig.ra_ResponseWindowSize_r13 == 240 || + eMTCconfig.ra_ResponseWindowSize_r13 == 320 || + eMTCconfig.ra_ResponseWindowSize_r13 == 400, + "Illegal ra_ResponseWindowSize_r13 %d\n",eMTCconfig.ra_ResponseWindowSize_r13); - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = mac_ContentionResolutionTimer_r13; - AssertFatal(mac_ContentionResolutionTimer_r13 == 80 || - mac_ContentionResolutionTimer_r13 == 100 || - mac_ContentionResolutionTimer_r13 == 120 || - mac_ContentionResolutionTimer_r13 == 80 || - mac_ContentionResolutionTimer_r13 == 160 || - mac_ContentionResolutionTimer_r13 == 200 || - mac_ContentionResolutionTimer_r13 == 240 || - mac_ContentionResolutionTimer_r13 == 480 || - mac_ContentionResolutionTimer_r13 == 960, + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = eMTCconfig.mac_ContentionResolutionTimer_r13; + AssertFatal(eMTCconfig.mac_ContentionResolutionTimer_r13 == 80 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 100 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 120 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 80 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 160 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 200 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 240 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 480 || + eMTCconfig.mac_ContentionResolutionTimer_r13 == 960, "Illegal mac_ContentionResolutionTimer_r13 %d\n", - mac_ContentionResolutionTimer_r13); + eMTCconfig.mac_ContentionResolutionTimer_r13); - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = rar_HoppingConfig_r13; - AssertFatal(rar_HoppingConfig_r13 == 0 || rar_HoppingConfig_r13 == 1, - "illegal rar_HoppingConfig_r13 %d\n",rar_HoppingConfig_r13); + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = eMTCconfig.rar_HoppingConfig_r13; + AssertFatal(eMTCconfig.rar_HoppingConfig_r13 == 0 || eMTCconfig.rar_HoppingConfig_r13 == 1, + "illegal rar_HoppingConfig_r13 %d\n",eMTCconfig.rar_HoppingConfig_r13); } // end for loop (rach ce level info) char rsrpRangeListPath[MAX_OPTNAME_SIZE * 2]; @@ -2673,7 +2275,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { for (rsrprangeindex = 0; rsrprangeindex < rsrprangelist.numelt; rsrprangeindex++) { sprintf(rsrpRangeListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RSRP_RANGE_LIST, rsrprangeindex); config_get(rsrprangeParams, sizeof(rsrprangeParams) / sizeof(paramdef_t), rsrpRangeListPath); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrprangeindex] = rsrp_range_br; + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrprangeindex] = eMTCconfig.rsrp_range_br; } @@ -2687,51 +2289,51 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { sprintf(prachparameterscePath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, prachparamsindex); config_get(prachParams, sizeof(prachParams) / sizeof(paramdef_t), prachparameterscePath); - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prachparamsindex] = prach_config_index_br; - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prachparamsindex] = prach_freq_offset_br; + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prachparamsindex] = eMTCconfig.prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prachparamsindex] = eMTCconfig.prach_freq_offset_br; RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = prach_StartingSubframe_r13; + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = eMTCconfig.prach_StartingSubframe_r13; RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = maxNumPreambleAttemptCE_r13-3; - AssertFatal(maxNumPreambleAttemptCE_r13 > 2 && maxNumPreambleAttemptCE_r13 <11, + *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = eMTCconfig.maxNumPreambleAttemptCE_r13-3; + AssertFatal(eMTCconfig.maxNumPreambleAttemptCE_r13 > 2 && eMTCconfig.maxNumPreambleAttemptCE_r13 <11, "prachparamsindex %d: Illegal maxNumPreambleAttemptCE_r13 %d\n", - prachparamsindex,maxNumPreambleAttemptCE_r13); + prachparamsindex,eMTCconfig.maxNumPreambleAttemptCE_r13); - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = numRepetitionPerPreambleAttempt_r13; - AssertFatal(numRepetitionPerPreambleAttempt_r13 == 1 || - numRepetitionPerPreambleAttempt_r13 == 2 || - numRepetitionPerPreambleAttempt_r13 == 4 || - numRepetitionPerPreambleAttempt_r13 == 8 || - numRepetitionPerPreambleAttempt_r13 == 16 || - numRepetitionPerPreambleAttempt_r13 == 32 || - numRepetitionPerPreambleAttempt_r13 == 64 || - numRepetitionPerPreambleAttempt_r13 == 128, + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = eMTCconfig.numRepetitionPerPreambleAttempt_r13; + AssertFatal(eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 1 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 2 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 4 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 8 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 16 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 32 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 64 || + eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 128, "illegal numReptitionPerPreambleAttempt %d\n", - numRepetitionPerPreambleAttempt_r13); + eMTCconfig.numRepetitionPerPreambleAttempt_r13); - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = mpdcch_NumRepetition_RA_r13; - AssertFatal (mpdcch_NumRepetition_RA_r13 == 1 || - mpdcch_NumRepetition_RA_r13 == 2 || - mpdcch_NumRepetition_RA_r13 == 4 || - mpdcch_NumRepetition_RA_r13 == 8 || - mpdcch_NumRepetition_RA_r13 == 16 || - mpdcch_NumRepetition_RA_r13 == 32 || - mpdcch_NumRepetition_RA_r13 == 64 || - mpdcch_NumRepetition_RA_r13 == 128 || - mpdcch_NumRepetition_RA_r13 == 256 || - mpdcch_NumRepetition_RA_r13 == 512 || - mpdcch_NumRepetition_RA_r13 == 1024 || - mpdcch_NumRepetition_RA_r13 == 2048, + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = eMTCconfig.mpdcch_NumRepetition_RA_r13; + AssertFatal (eMTCconfig.mpdcch_NumRepetition_RA_r13 == 1 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 2 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 4 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 8 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 16 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 32 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 64 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 128 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 256 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 512 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 1024 || + eMTCconfig.mpdcch_NumRepetition_RA_r13 == 2048, "illegal mpdcch_NumRepeition_RA_r13 %d\n", - mpdcch_NumRepetition_RA_r13); + eMTCconfig.mpdcch_NumRepetition_RA_r13); - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = prach_HoppingConfig_r13; + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = eMTCconfig.prach_HoppingConfig_r13; - AssertFatal (prach_HoppingConfig_r13 >=0 && prach_HoppingConfig_r13 < 2, - "Illegal prach_HoppingConfig_r13 %d\n",prach_HoppingConfig_r13); + AssertFatal (eMTCconfig.prach_HoppingConfig_r13 >=0 && eMTCconfig.prach_HoppingConfig_r13 < 2, + "Illegal prach_HoppingConfig_r13 %d\n",eMTCconfig.prach_HoppingConfig_r13); int maxavailablenarrowband_count = prachParams[7].numelt; @@ -2751,7 +2353,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { for (n1PUCCHinfolistindex = 0; n1PUCCHinfolistindex < n1PUCCHInfoList.numelt; n1PUCCHinfolistindex++) { sprintf(n1PUCCHInfoParamsPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, n1PUCCHinfolistindex); config_get(n1PUCCH_ANR13Params, sizeof(n1PUCCH_ANR13Params) / sizeof(paramdef_t), n1PUCCHInfoParamsPath); - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][n1PUCCHinfolistindex] = pucch_info_value; + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][n1PUCCHinfolistindex] = eMTCconfig.pucch_info_value; } char PCCHConfigv1310Path[MAX_OPTNAME_SIZE*2 + 16]; @@ -2763,19 +2365,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { /** PCCH CONFIG V1310 */ RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13; - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13; - AssertFatal (mpdcch_numrepetition_paging_r13 == 1 || - mpdcch_numrepetition_paging_r13 == 2 || - mpdcch_numrepetition_paging_r13 == 4 || - mpdcch_numrepetition_paging_r13 == 8 || - mpdcch_numrepetition_paging_r13 == 16 || - mpdcch_numrepetition_paging_r13 == 32 || - mpdcch_numrepetition_paging_r13 == 64 || - mpdcch_numrepetition_paging_r13 == 128 || - mpdcch_numrepetition_paging_r13 == 256, + RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = eMTCconfig.paging_narrowbands_r13; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = eMTCconfig.mpdcch_numrepetition_paging_r13; + AssertFatal (eMTCconfig.mpdcch_numrepetition_paging_r13 == 1 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 2 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 4 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 8 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 16 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 32 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 64 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 128 || + eMTCconfig.mpdcch_numrepetition_paging_r13 == 256, "illegal mpdcch_numrepetition_paging_r13 %d\n", - mpdcch_numrepetition_paging_r13); + eMTCconfig.mpdcch_numrepetition_paging_r13); // RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); @@ -2795,13 +2397,13 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); // ++cnt; // check this ,, the conter is up above - if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { + if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { + } else if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { + } else if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; - } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { + } else if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; } else { AssertFatal (0, @@ -2820,24 +2422,24 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { + if (!strcmp(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; - AssertFatal(sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || - sib2_interval_ULHoppingConfigCommonModeA_r13_val==2 || - sib2_interval_ULHoppingConfigCommonModeA_r13_val==4 || - sib2_interval_ULHoppingConfigCommonModeA_r13_val==8, + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val; + AssertFatal(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==2 || + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==4 || + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==8, "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", - sib2_interval_ULHoppingConfigCommonModeA_r13_val); - } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val); + } else if (!strcmp(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val; - AssertFatal(sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || - sib2_interval_ULHoppingConfigCommonModeA_r13_val==5 || - sib2_interval_ULHoppingConfigCommonModeA_r13_val==10 || - sib2_interval_ULHoppingConfigCommonModeA_r13_val==20, + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val; + AssertFatal(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==5 || + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==10 || + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==20, "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", - sib2_interval_ULHoppingConfigCommonModeA_r13_val); + eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val); } else { AssertFatal (1==0, "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", @@ -2850,567 +2452,564 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).eMTC_configured=0; } + char SLparamspath[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(SLparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_SL_PARAMETERS); + config_get( SLParams, sizeof(SLParams)/sizeof(paramdef_t), SLparamspath); + // Sidelink Resource pool information - //SIB18 - if (strcmp(rxPool_sc_CP_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(rxPool_sc_CP_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_CP_Len choice: normal,extended!\n", - RC.config_file_name, i, rxPool_sc_CP_Len); - - if (strcmp(rxPool_sc_Period,"sf40")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf40; - } else if (strcmp(rxPool_sc_Period,"sf60")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf60; - } else if (strcmp(rxPool_sc_Period,"sf70")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf70; - } else if (strcmp(rxPool_sc_Period,"sf80")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf80; - } else if (strcmp(rxPool_sc_Period,"sf120")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf120; - } else if (strcmp(rxPool_sc_Period,"sf140")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf140; - } else if (strcmp(rxPool_sc_Period,"sf160")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf160; - } else if (strcmp(rxPool_sc_Period,"sf240")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf240; - } else if (strcmp(rxPool_sc_Period,"sf280")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf280; - } else if (strcmp(rxPool_sc_Period,"sf320")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf320; - } else if (strcmp(rxPool_sc_Period,"spare6")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare6; - } else if (strcmp(rxPool_sc_Period,"spare5")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare5; - } else if (strcmp(rxPool_sc_Period,"spare4")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare4; - } else if (strcmp(rxPool_sc_Period,"spare3")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare3; - } else if (strcmp(rxPool_sc_Period,"spare2")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare2; - } else if (strcmp(rxPool_sc_Period,"spare")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_Period choice: sf40,sf60,sf70,sf80,sf120,sf140,sf160,sf240,sf280,sf320,spare6,spare5,spare4,spare3,spare2,spare!\n", - RC.config_file_name, i, rxPool_sc_Period); - - if (strcmp(rxPool_data_CP_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(rxPool_data_CP_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_data_CP_Len choice: normal,extended!\n", - RC.config_file_name, i, rxPool_data_CP_Len); - - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Num[j] = rxPool_ResourceConfig_prb_Num; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Start[j] = rxPool_ResourceConfig_prb_Start; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_End[j] = rxPool_ResourceConfig_prb_End; - - if (strcmp(rxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; - } else if (strcmp(rxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; - } else if (strcmp(rxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", - RC.config_file_name, i, rxPool_ResourceConfig_offsetIndicator_present); - - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_choice[j] = rxPool_ResourceConfig_offsetIndicator_choice; - - if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; - } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", - RC.config_file_name, i, rxPool_ResourceConfig_subframeBitmap_present); - - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[j] = rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_size[j] = rxPool_ResourceConfig_subframeBitmap_choice_bs_size; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - - //SIB19 - for discRxPool - if (strcmp(discRxPool_cp_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(discRxPool_cp_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_cp_Len choice: normal,extended!\n", - RC.config_file_name, i, discRxPool_cp_Len); - - if (strcmp(discRxPool_discPeriod,"rf32")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32; - } else if (strcmp(discRxPool_discPeriod,"rf64")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64; - } else if (strcmp(discRxPool_discPeriod,"rf128")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128; - } else if (strcmp(discRxPool_discPeriod,"rf256")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256; - } else if (strcmp(discRxPool_discPeriod,"rf512")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512; - } else if (strcmp(discRxPool_discPeriod,"rf1024")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024; - } else if (strcmp(discRxPool_discPeriod,"rf16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; - } else if (strcmp(discRxPool_discPeriod,"spare")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", - RC.config_file_name, i, discRxPool_discPeriod); - - RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRetx[j] = discRxPool_numRetx; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRepetition[j] = discRxPool_numRepetition; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Num[j] = discRxPool_ResourceConfig_prb_Num; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Start[j] = discRxPool_ResourceConfig_prb_Start; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_End[j] = discRxPool_ResourceConfig_prb_End; - - if (strcmp(discRxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; - } else if (strcmp(discRxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; - } else if (strcmp(discRxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", - RC.config_file_name, i, discRxPool_ResourceConfig_offsetIndicator_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_choice[j] = discRxPool_ResourceConfig_offsetIndicator_choice; - - if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; - } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", - RC.config_file_name, i, discRxPool_ResourceConfig_subframeBitmap_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[j] = discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[j] = discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - - //SIB19 - For discRxPoolPS - if (strcmp(discRxPoolPS_cp_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(discRxPoolPS_cp_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_cp_Len choice: normal,extended!\n", - RC.config_file_name, i, discRxPoolPS_cp_Len); - - if (strcmp(discRxPoolPS_discPeriod,"rf32")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32; - } else if (strcmp(discRxPoolPS_discPeriod,"rf64")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64; - } else if (strcmp(discRxPoolPS_discPeriod,"rf128")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128; - } else if (strcmp(discRxPoolPS_discPeriod,"rf256")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256; - } else if (strcmp(discRxPoolPS_discPeriod,"rf512")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512; - } else if (strcmp(discRxPoolPS_discPeriod,"rf1024")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024; - } else if (strcmp(discRxPoolPS_discPeriod,"rf16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; - } else if (strcmp(discRxPoolPS_discPeriod,"spare")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", - RC.config_file_name, i, discRxPoolPS_discPeriod); - - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRetx[j] = discRxPoolPS_numRetx; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRepetition[j] = discRxPoolPS_numRepetition; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Num[j] = discRxPoolPS_ResourceConfig_prb_Num; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Start[j] = discRxPoolPS_ResourceConfig_prb_Start; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_End[j] = discRxPoolPS_ResourceConfig_prb_End; - - if (strcmp(discRxPoolPS_ResourceConfig_offsetIndicator_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; - } else if (strcmp(discRxPoolPS_ResourceConfig_offsetIndicator_present,"prSmall")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_offsetIndicator_present,"prLarge")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", - RC.config_file_name, i, discRxPoolPS_ResourceConfig_offsetIndicator_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_choice[j] = discRxPoolPS_ResourceConfig_offsetIndicator_choice; - - if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs4")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs8")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs12")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs30")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs40")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; - } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs42")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", - RC.config_file_name, i, discRxPoolPS_ResourceConfig_subframeBitmap_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[j] = discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[j] = discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - } - } + RRC_CONFIGURATION_REQ (msg_p).SL_configured=SLconfig.sidelink_configured&1; + if (SLconfig.sidelink_configured==1) { + //SIB18 + if (strcmp(SLconfig.rxPool_sc_CP_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig.rxPool_sc_CP_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_CP_Len choice: normal,extended!\n", + RC.config_file_name, i, SLconfig.rxPool_sc_CP_Len); + + if (strcmp(SLconfig.rxPool_sc_Period,"sf40")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf40; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf60")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf60; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf70")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf70; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf80")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf80; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf120")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf120; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf140")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf140; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf160")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf160; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf240")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf240; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf280")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf280; + } else if (strcmp(SLconfig.rxPool_sc_Period,"sf320")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf320; + } else if (strcmp(SLconfig.rxPool_sc_Period,"spare6")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare6; + } else if (strcmp(SLconfig.rxPool_sc_Period,"spare5")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare5; + } else if (strcmp(SLconfig.rxPool_sc_Period,"spare4")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare4; + } else if (strcmp(SLconfig.rxPool_sc_Period,"spare3")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare3; + } else if (strcmp(SLconfig.rxPool_sc_Period,"spare2")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare2; + } else if (strcmp(SLconfig.rxPool_sc_Period,"spare")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_Period choice: sf40,sf60,sf70,sf80,sf120,sf140,sf160,sf240,sf280,sf320,spare6,spare5,spare4,spare3,spare2,spare!\n", + RC.config_file_name, i, SLconfig.rxPool_sc_Period); + + if (strcmp(SLconfig.rxPool_data_CP_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig.rxPool_data_CP_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_data_CP_Len choice: normal,extended!\n", + RC.config_file_name, i, SLconfig.rxPool_data_CP_Len); + + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Num[j] = SLconfig.rxPool_ResourceConfig_prb_Num; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Start[j] = SLconfig.rxPool_ResourceConfig_prb_Start; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_End[j] = SLconfig.rxPool_ResourceConfig_prb_End; + + if (strcmp(SLconfig.rxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", + RC.config_file_name, i, SLconfig.rxPool_ResourceConfig_offsetIndicator_present); + + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_choice[j] = SLconfig.rxPool_ResourceConfig_offsetIndicator_choice; + + if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; + } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", + RC.config_file_name, i, SLconfig.rxPool_ResourceConfig_subframeBitmap_present); + + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[j] = SLconfig.rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_size[j] = SLconfig.rxPool_ResourceConfig_subframeBitmap_choice_bs_size; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = SLconfig.rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + + //SIB19 - for discRxPool + if (strcmp(SLconfig.discRxPool_cp_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig.discRxPool_cp_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_cp_Len choice: normal,extended!\n", + RC.config_file_name, i, SLconfig.discRxPool_cp_Len); + + if (strcmp(SLconfig.discRxPool_discPeriod,"rf32")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf64")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf128")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf256")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf512")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf1024")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; + } else if (strcmp(SLconfig.discRxPool_discPeriod,"spare")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", + RC.config_file_name, i, SLconfig.discRxPool_discPeriod); + + RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRetx[j] = SLconfig.discRxPool_numRetx; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRepetition[j] = SLconfig.discRxPool_numRepetition; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Num[j] = SLconfig.discRxPool_ResourceConfig_prb_Num; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Start[j] = SLconfig.discRxPool_ResourceConfig_prb_Start; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_End[j] = SLconfig.discRxPool_ResourceConfig_prb_End; + + if (strcmp(SLconfig.discRxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", + RC.config_file_name, i, SLconfig.discRxPool_ResourceConfig_offsetIndicator_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_choice[j] = SLconfig.discRxPool_ResourceConfig_offsetIndicator_choice; + + if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; + } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", + RC.config_file_name, i, SLconfig.discRxPool_ResourceConfig_subframeBitmap_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[j] = SLconfig.discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[j] = SLconfig.discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = SLconfig.discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + + //SIB19 - For discRxPoolPS + if (strcmp(SLconfig.discRxPoolPS_cp_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig.discRxPoolPS_cp_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_cp_Len choice: normal,extended!\n", + RC.config_file_name, i, SLconfig.discRxPoolPS_cp_Len); + + if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf32")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf64")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf128")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf256")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf512")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf1024")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; + } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"spare")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", + RC.config_file_name, i, SLconfig.discRxPoolPS_discPeriod); + + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRetx[j] = SLconfig.discRxPoolPS_numRetx; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRepetition[j] = SLconfig.discRxPoolPS_numRepetition; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Num[j] = SLconfig.discRxPoolPS_ResourceConfig_prb_Num; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Start[j] = SLconfig.discRxPoolPS_ResourceConfig_prb_Start; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_End[j] = SLconfig.discRxPoolPS_ResourceConfig_prb_End; + + if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present,"prSmall")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present,"prLarge")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", + RC.config_file_name, i, SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_choice[j] = SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_choice; + + if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs4")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs8")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs12")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs30")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs40")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; + } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs42")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", + RC.config_file_name, i, SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[j] = SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[j] = SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + } + } + } char srb1path[MAX_OPTNAME_SIZE*2 + 8]; sprintf(srb1path,"%s.%s",enbpath,ENB_CONFIG_STRING_SRB1); - int npar = config_get( SRB1Params,sizeof(SRB1Params)/sizeof(paramdef_t), srb1path); + config_get( SRB1Params,sizeof(SRB1Params)/sizeof(paramdef_t), srb1path); - if (npar == sizeof(SRB1Params)/sizeof(paramdef_t)) { - switch (srb1_max_retx_threshold) { - case 1: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; - break; - case 2: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; - break; - - case 3: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; - break; - - case 4: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; - break; - - case 6: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; - break; - - case 8: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - break; - - case 16: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; - break; - - case 32: - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; - break; - - default: + switch (srb1_params.srb1_max_retx_threshold) { + case 1: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1; + break; + + case 2: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2; + break; + + case 3: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3; + break; + + case 4: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4; + break; + + case 6: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6; + break; + + case 8: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; + break; + + case 16: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16; + break; + + case 32: + rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", + RC.config_file_name, i, srb1_params.srb1_max_retx_threshold); + } + + switch (srb1_params.srb1_poll_pdu) { + case 4: + rrc->srb1_poll_pdu = PollPDU_p4; + break; + + case 8: + rrc->srb1_poll_pdu = PollPDU_p8; + break; + + case 16: + rrc->srb1_poll_pdu = PollPDU_p16; + break; + + case 32: + rrc->srb1_poll_pdu = PollPDU_p32; + break; + + case 64: + rrc->srb1_poll_pdu = PollPDU_p64; + break; + + case 128: + rrc->srb1_poll_pdu = PollPDU_p128; + break; + + case 256: + rrc->srb1_poll_pdu = PollPDU_p256; + break; + + default: + if (srb1_params.srb1_poll_pdu >= 10000) + rrc->srb1_poll_pdu = PollPDU_pInfinity; + else AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_max_retx_threshold %u!\n", - RC.config_file_name, i, srb1_max_retx_threshold); - } - - switch (srb1_poll_pdu) { - case 4: - rrc->srb1_poll_pdu = PollPDU_p4; - break; - - case 8: - rrc->srb1_poll_pdu = PollPDU_p8; - break; - - case 16: - rrc->srb1_poll_pdu = PollPDU_p16; - break; - - case 32: - rrc->srb1_poll_pdu = PollPDU_p32; - break; - - case 64: - rrc->srb1_poll_pdu = PollPDU_p64; - break; - - case 128: - rrc->srb1_poll_pdu = PollPDU_p128; - break; - - case 256: - rrc->srb1_poll_pdu = PollPDU_p256; - break; - - default: - if (srb1_poll_pdu >= 10000) - rrc->srb1_poll_pdu = PollPDU_pInfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", - RC.config_file_name, i, srb1_poll_pdu); - } - - rrc->srb1_poll_byte = srb1_poll_byte; - - switch (srb1_poll_byte) { - case 25: - rrc->srb1_poll_byte = PollByte_kB25; - break; - - case 50: - rrc->srb1_poll_byte = PollByte_kB50; - break; - - case 75: - rrc->srb1_poll_byte = PollByte_kB75; - break; - - case 100: - rrc->srb1_poll_byte = PollByte_kB100; - break; - - case 125: - rrc->srb1_poll_byte = PollByte_kB125; - break; - - case 250: - rrc->srb1_poll_byte = PollByte_kB250; - break; - - case 375: - rrc->srb1_poll_byte = PollByte_kB375; - break; - - case 500: - rrc->srb1_poll_byte = PollByte_kB500; - break; - - case 750: - rrc->srb1_poll_byte = PollByte_kB750; - break; - - case 1000: - rrc->srb1_poll_byte = PollByte_kB1000; - break; - - case 1250: - rrc->srb1_poll_byte = PollByte_kB1250; - break; - - case 1500: - rrc->srb1_poll_byte = PollByte_kB1500; - break; - - case 2000: - rrc->srb1_poll_byte = PollByte_kB2000; - break; - - case 3000: - rrc->srb1_poll_byte = PollByte_kB3000; - break; - - default: - if (srb1_poll_byte >= 10000) - rrc->srb1_poll_byte = PollByte_kBinfinity; - else - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", - RC.config_file_name, i, srb1_poll_byte); - } - - if (srb1_timer_poll_retransmit <= 250) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 5)/5; - } else if (srb1_timer_poll_retransmit <= 500) { - rrc->srb1_timer_poll_retransmit = (srb1_timer_poll_retransmit - 300)/50 + 50; - } else { - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", - RC.config_file_name, i, srb1_timer_poll_retransmit); - } - - if (srb1_timer_status_prohibit <= 250) { - rrc->srb1_timer_status_prohibit = srb1_timer_status_prohibit/5; - } else if ((srb1_timer_poll_retransmit >= 300) && (srb1_timer_poll_retransmit <= 500)) { - rrc->srb1_timer_status_prohibit = (srb1_timer_status_prohibit - 300)/50 + 51; - } else { - AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", - RC.config_file_name, i, srb1_timer_status_prohibit); - } - - switch (srb1_timer_reordering) { - case 0: - rrc->srb1_timer_reordering = T_Reordering_ms0; - break; - - case 5: - rrc->srb1_timer_reordering = T_Reordering_ms5; - break; - - case 10: - rrc->srb1_timer_reordering = T_Reordering_ms10; - break; - - case 15: - rrc->srb1_timer_reordering = T_Reordering_ms15; - break; - - case 20: - rrc->srb1_timer_reordering = T_Reordering_ms20; - break; - - case 25: - rrc->srb1_timer_reordering = T_Reordering_ms25; - break; - - case 30: - rrc->srb1_timer_reordering = T_Reordering_ms30; - break; - - case 35: - rrc->srb1_timer_reordering = T_Reordering_ms35; - break; - - case 40: - rrc->srb1_timer_reordering = T_Reordering_ms40; - break; - - case 45: - rrc->srb1_timer_reordering = T_Reordering_ms45; - break; - - case 50: - rrc->srb1_timer_reordering = T_Reordering_ms50; - break; - - case 55: - rrc->srb1_timer_reordering = T_Reordering_ms55; - break; - - case 60: - rrc->srb1_timer_reordering = T_Reordering_ms60; - break; - - case 65: - rrc->srb1_timer_reordering = T_Reordering_ms65; - break; - - case 70: - rrc->srb1_timer_reordering = T_Reordering_ms70; - break; - - case 75: - rrc->srb1_timer_reordering = T_Reordering_ms75; - break; - - case 80: - rrc->srb1_timer_reordering = T_Reordering_ms80; - break; - - case 85: - rrc->srb1_timer_reordering = T_Reordering_ms85; - break; - - case 90: - rrc->srb1_timer_reordering = T_Reordering_ms90; - break; - - case 95: - rrc->srb1_timer_reordering = T_Reordering_ms95; - break; - - case 100: - rrc->srb1_timer_reordering = T_Reordering_ms100; - break; - - case 110: - rrc->srb1_timer_reordering = T_Reordering_ms110; - break; - - case 120: - rrc->srb1_timer_reordering = T_Reordering_ms120; - break; - - case 130: - rrc->srb1_timer_reordering = T_Reordering_ms130; - break; - - case 140: - rrc->srb1_timer_reordering = T_Reordering_ms140; - break; - - case 150: - rrc->srb1_timer_reordering = T_Reordering_ms150; - break; - - case 160: - rrc->srb1_timer_reordering = T_Reordering_ms160; - break; - - case 170: - rrc->srb1_timer_reordering = T_Reordering_ms170; - break; - - case 180: - rrc->srb1_timer_reordering = T_Reordering_ms180; - break; - - case 190: - rrc->srb1_timer_reordering = T_Reordering_ms190; - break; - - case 200: - rrc->srb1_timer_reordering = T_Reordering_ms200; - break; - - default: + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_pdu %u!\n", + RC.config_file_name, i, srb1_params.srb1_poll_pdu); + } + + rrc->srb1_poll_byte = srb1_params.srb1_poll_byte; + + switch (srb1_params.srb1_poll_byte) { + case 25: + rrc->srb1_poll_byte = PollByte_kB25; + break; + + case 50: + rrc->srb1_poll_byte = PollByte_kB50; + break; + + case 75: + rrc->srb1_poll_byte = PollByte_kB75; + break; + + case 100: + rrc->srb1_poll_byte = PollByte_kB100; + break; + + case 125: + rrc->srb1_poll_byte = PollByte_kB125; + break; + + case 250: + rrc->srb1_poll_byte = PollByte_kB250; + break; + + case 375: + rrc->srb1_poll_byte = PollByte_kB375; + break; + + case 500: + rrc->srb1_poll_byte = PollByte_kB500; + break; + + case 750: + rrc->srb1_poll_byte = PollByte_kB750; + break; + + case 1000: + rrc->srb1_poll_byte = PollByte_kB1000; + break; + + case 1250: + rrc->srb1_poll_byte = PollByte_kB1250; + break; + + case 1500: + rrc->srb1_poll_byte = PollByte_kB1500; + break; + + case 2000: + rrc->srb1_poll_byte = PollByte_kB2000; + break; + + case 3000: + rrc->srb1_poll_byte = PollByte_kB3000; + break; + + default: + if (srb1_params.srb1_poll_byte >= 10000) + rrc->srb1_poll_byte = PollByte_kBinfinity; + else AssertFatal (0, - "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", - RC.config_file_name, i, srb1_timer_reordering); - } - } else { - rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80; - rrc->srb1_timer_reordering = T_Reordering_ms35; - rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0; - rrc->srb1_poll_pdu = PollPDU_p4; - rrc->srb1_poll_byte = PollByte_kBinfinity; - rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8; - } - - break; + "Bad config value when parsing eNB configuration file %s, enb %d srb1_poll_byte %u!\n", + RC.config_file_name, i, srb1_params.srb1_poll_byte); + } + + if (srb1_params.srb1_timer_poll_retransmit <= 250) { + rrc->srb1_timer_poll_retransmit = (srb1_params.srb1_timer_poll_retransmit - 5)/5; + } else if (srb1_params.srb1_timer_poll_retransmit <= 500) { + rrc->srb1_timer_poll_retransmit = (srb1_params.srb1_timer_poll_retransmit - 300)/50 + 50; + } else { + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_poll_retransmit %u!\n", + RC.config_file_name, i, srb1_params.srb1_timer_poll_retransmit); + } + + if (srb1_params.srb1_timer_status_prohibit <= 250) { + rrc->srb1_timer_status_prohibit = srb1_params.srb1_timer_status_prohibit/5; + } else if ((srb1_params.srb1_timer_poll_retransmit >= 300) && (srb1_params.srb1_timer_poll_retransmit <= 500)) { + rrc->srb1_timer_status_prohibit = (srb1_params.srb1_timer_status_prohibit - 300)/50 + 51; + } else { + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_status_prohibit %u!\n", + RC.config_file_name, i, srb1_params.srb1_timer_status_prohibit); + } + + switch (srb1_params.srb1_timer_reordering) { + case 0: + rrc->srb1_timer_reordering = T_Reordering_ms0; + break; + + case 5: + rrc->srb1_timer_reordering = T_Reordering_ms5; + break; + + case 10: + rrc->srb1_timer_reordering = T_Reordering_ms10; + break; + + case 15: + rrc->srb1_timer_reordering = T_Reordering_ms15; + break; + + case 20: + rrc->srb1_timer_reordering = T_Reordering_ms20; + break; + + case 25: + rrc->srb1_timer_reordering = T_Reordering_ms25; + break; + + case 30: + rrc->srb1_timer_reordering = T_Reordering_ms30; + break; + + case 35: + rrc->srb1_timer_reordering = T_Reordering_ms35; + break; + + case 40: + rrc->srb1_timer_reordering = T_Reordering_ms40; + break; + + case 45: + rrc->srb1_timer_reordering = T_Reordering_ms45; + break; + + case 50: + rrc->srb1_timer_reordering = T_Reordering_ms50; + break; + + case 55: + rrc->srb1_timer_reordering = T_Reordering_ms55; + break; + + case 60: + rrc->srb1_timer_reordering = T_Reordering_ms60; + break; + + case 65: + rrc->srb1_timer_reordering = T_Reordering_ms65; + break; + + case 70: + rrc->srb1_timer_reordering = T_Reordering_ms70; + break; + + case 75: + rrc->srb1_timer_reordering = T_Reordering_ms75; + break; + + case 80: + rrc->srb1_timer_reordering = T_Reordering_ms80; + break; + + case 85: + rrc->srb1_timer_reordering = T_Reordering_ms85; + break; + + case 90: + rrc->srb1_timer_reordering = T_Reordering_ms90; + break; + + case 95: + rrc->srb1_timer_reordering = T_Reordering_ms95; + break; + + case 100: + rrc->srb1_timer_reordering = T_Reordering_ms100; + break; + + case 110: + rrc->srb1_timer_reordering = T_Reordering_ms110; + break; + + case 120: + rrc->srb1_timer_reordering = T_Reordering_ms120; + break; + + case 130: + rrc->srb1_timer_reordering = T_Reordering_ms130; + break; + + case 140: + rrc->srb1_timer_reordering = T_Reordering_ms140; + break; + + case 150: + rrc->srb1_timer_reordering = T_Reordering_ms150; + break; + + case 160: + rrc->srb1_timer_reordering = T_Reordering_ms160; + break; + + case 170: + rrc->srb1_timer_reordering = T_Reordering_ms170; + break; + + case 180: + rrc->srb1_timer_reordering = T_Reordering_ms180; + break; + + case 190: + rrc->srb1_timer_reordering = T_Reordering_ms190; + break; + + case 200: + rrc->srb1_timer_reordering = T_Reordering_ms200; + break; + + default: + AssertFatal (0, + "Bad config value when parsing eNB configuration file %s, enb %d srb1_timer_reordering %u!\n", + RC.config_file_name, i, srb1_params.srb1_timer_reordering); + } } } } @@ -3633,94 +3232,20 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) { int enb_id; char *address = NULL; char *cidr = NULL; + + ccparams_lte_t ccparams_lte; + + memset((void*)&ccparams_lte,0,sizeof(ccparams_lte_t)); + + paramdef_t ENBSParams[] = ENBSPARAMS_DESC; paramdef_t ENBParams[] = ENBPARAMS_DESC; paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0}; /* get global parameters, defined outside any section in the config file */ config_get( ENBSParams,sizeof(ENBSParams)/sizeof(paramdef_t),NULL); - /* define CC params */ - int32_t Nid_cell = 0; - char *frame_type, *prefix_type, *pbch_repetition, *prach_high_speed, - *pusch_hoppingMode, *pusch_enable64QAM, *pusch_groupHoppingEnabled, - *pusch_sequenceHoppingEnabled, *phich_duration, *phich_resource, - *srs_enable, *srs_ackNackST, *srs_MaxUpPts, *pusch_alpha, - *pucch_deltaF_Format1, *pucch_deltaF_Format1b, *pucch_deltaF_Format2, - *pucch_deltaF_Format2a, *pucch_deltaF_Format2b, - *rach_preamblesGroupAConfig, *rach_messagePowerOffsetGroupB, *pcch_nB; - long long int downlink_frequency; - int32_t tdd_config, tdd_config_s, eutra_band, uplink_frequency_offset, - Nid_cell_mbsfn, N_RB_DL, nb_antenna_ports, prach_root, prach_config_index, - prach_zero_correlation, prach_freq_offset, pucch_delta_shift, - pucch_nRB_CQI, pucch_nCS_AN, pucch_n1_AN, pdsch_referenceSignalPower, - pdsch_p_b, pusch_n_SB, pusch_hoppingOffset, pusch_groupAssignment, - pusch_nDMRS1, srs_BandwidthConfig, srs_SubframeConfig, pusch_p0_Nominal, - pucch_p0_Nominal, msg3_delta_Preamble,rach_numberOfRA_Preambles; - int32_t rach_sizeOfRA_PreamblesGroupA, rach_messageSizeGroupA, - rach_powerRampingStep, rach_preambleInitialReceivedTargetPower, - rach_preambleTransMax, rach_raResponseWindowSize, - rach_macContentionResolutionTimer, rach_maxHARQ_Msg3Tx, - pcch_defaultPagingCycle, bcch_modificationPeriodCoeff, - ue_TimersAndConstants_t300, ue_TimersAndConstants_t301, - ue_TimersAndConstants_t310, ue_TimersAndConstants_t311, - ue_TimersAndConstants_n310, ue_TimersAndConstants_n311, - ue_TransmissionMode, ue_multiple_max; - char* prach_ConfigCommon_v1310 = NULL; - char* mpdcch_startSF_CSS_RA_r13 = NULL; - char* mpdcch_startSF_CSS_RA_r13_val = NULL; - char* pdsch_maxNumRepetitionCEmodeA_r13 = NULL; - char* pdsch_maxNumRepetitionCEmodeB_r13 = NULL; - - char* pusch_maxNumRepetitionCEmodeA_r13 = 0; - char* pusch_maxNumRepetitionCEmodeB_r13 = 0; - int prach_HoppingOffset_r13 = 0; - // avoid gcc warnings - (void)pdsch_maxNumRepetitionCEmodeB_r13; - (void)pusch_maxNumRepetitionCEmodeB_r13; - - const char *rxPool_sc_CP_Len; - const char *rxPool_sc_Period; - const char *rxPool_data_CP_Len; - libconfig_int rxPool_ResourceConfig_prb_Num; - libconfig_int rxPool_ResourceConfig_prb_Start; - libconfig_int rxPool_ResourceConfig_prb_End; - const char *rxPool_ResourceConfig_offsetIndicator_present; - libconfig_int rxPool_ResourceConfig_offsetIndicator_choice; - const char *rxPool_ResourceConfig_subframeBitmap_present; - char *rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_size; - libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - //SIB19 - //for discRxPool - const char *discRxPool_cp_Len; - const char *discRxPool_discPeriod; - libconfig_int discRxPool_numRetx; - libconfig_int discRxPool_numRepetition; - libconfig_int discRxPool_ResourceConfig_prb_Num; - libconfig_int discRxPool_ResourceConfig_prb_Start; - libconfig_int discRxPool_ResourceConfig_prb_End; - const char *discRxPool_ResourceConfig_offsetIndicator_present; - libconfig_int discRxPool_ResourceConfig_offsetIndicator_choice; - const char *discRxPool_ResourceConfig_subframeBitmap_present; - char *discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; - libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - //for discRxPoolPS - const char *discRxPoolPS_cp_Len; - const char *discRxPoolPS_discPeriod; - libconfig_int discRxPoolPS_numRetx; - libconfig_int discRxPoolPS_numRepetition; - libconfig_int discRxPoolPS_ResourceConfig_prb_Num; - libconfig_int discRxPoolPS_ResourceConfig_prb_Start; - libconfig_int discRxPoolPS_ResourceConfig_prb_End; - const char *discRxPoolPS_ResourceConfig_offsetIndicator_present; - libconfig_int discRxPoolPS_ResourceConfig_offsetIndicator_choice; - const char *discRxPoolPS_ResourceConfig_subframeBitmap_present; - char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; - libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; - libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; checkedparam_t config_check_CCparams[] = CCPARAMS_CHECK; - paramdef_t CCsParams[] = CCPARAMS_DESC; + paramdef_t CCsParams[] = CCPARAMS_DESC(ccparams_lte); paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS, NULL, 0}; /* map parameter checking array instances to parameter definition array instances */ @@ -3828,37 +3353,42 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) { sprintf(aprefix, "%s.[%i].%s.[%i]", ENB_CONFIG_STRING_ENB_LIST, k, ENB_CONFIG_STRING_COMPONENT_CARRIERS, J); printf("X2: Getting %s\n",aprefix); config_get(CCsParams, sizeof(CCsParams)/sizeof(paramdef_t), aprefix); - X2AP_REGISTER_ENB_REQ (msg_p).eutra_band[J] = eutra_band; - X2AP_REGISTER_ENB_REQ (msg_p).downlink_frequency[J] = (uint32_t) downlink_frequency; - X2AP_REGISTER_ENB_REQ (msg_p).uplink_frequency_offset[J] = (unsigned int) uplink_frequency_offset; - X2AP_REGISTER_ENB_REQ (msg_p).Nid_cell[J]= Nid_cell; + X2AP_REGISTER_ENB_REQ (msg_p).eutra_band[J] = ccparams_lte.eutra_band; + X2AP_REGISTER_ENB_REQ (msg_p).downlink_frequency[J] = (uint32_t) ccparams_lte.downlink_frequency; + X2AP_REGISTER_ENB_REQ (msg_p).uplink_frequency_offset[J] = (unsigned int) ccparams_lte.uplink_frequency_offset; + X2AP_REGISTER_ENB_REQ (msg_p).Nid_cell[J]= ccparams_lte.Nid_cell; - if (Nid_cell>503) { + if (ccparams_lte.Nid_cell>503) { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for Nid_cell choice: 0...503 !\n", - RC.config_file_name, k, Nid_cell); + RC.config_file_name, k, ccparams_lte.Nid_cell); } - X2AP_REGISTER_ENB_REQ (msg_p).N_RB_DL[J]= N_RB_DL; + X2AP_REGISTER_ENB_REQ (msg_p).N_RB_DL[J]= ccparams_lte.N_RB_DL; - if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) { + if ((ccparams_lte.N_RB_DL!=6) && + (ccparams_lte.N_RB_DL!=15) && + (ccparams_lte.N_RB_DL!=25) && + (ccparams_lte.N_RB_DL!=50) && + (ccparams_lte.N_RB_DL!=75) && + (ccparams_lte.N_RB_DL!=100)) { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for N_RB_DL choice: 6,15,25,50,75,100 !\n", - RC.config_file_name, k, N_RB_DL); + RC.config_file_name, k, ccparams_lte.N_RB_DL); } - if (strcmp(frame_type, "FDD") == 0) { + if (strcmp(ccparams_lte.frame_type, "FDD") == 0) { X2AP_REGISTER_ENB_REQ (msg_p).frame_type[J] = FDD; -} else if (strcmp(frame_type, "TDD") == 0) { +} else if (strcmp(ccparams_lte.frame_type, "TDD") == 0) { X2AP_REGISTER_ENB_REQ (msg_p).frame_type[J] = TDD; } else { AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for frame_type choice: FDD or TDD !\n", - RC.config_file_name, k, frame_type); + RC.config_file_name, k, ccparams_lte.frame_type); } - X2AP_REGISTER_ENB_REQ (msg_p).fdd_earfcn_DL[J] = to_earfcn_DL(eutra_band, downlink_frequency, N_RB_DL); - X2AP_REGISTER_ENB_REQ (msg_p).fdd_earfcn_UL[J] = to_earfcn_UL(eutra_band, downlink_frequency + uplink_frequency_offset, N_RB_DL); + X2AP_REGISTER_ENB_REQ (msg_p).fdd_earfcn_DL[J] = to_earfcn_DL(ccparams_lte.eutra_band, ccparams_lte.downlink_frequency, ccparams_lte.N_RB_DL); + X2AP_REGISTER_ENB_REQ (msg_p).fdd_earfcn_UL[J] = to_earfcn_UL(ccparams_lte.eutra_band, ccparams_lte.downlink_frequency + ccparams_lte.uplink_frequency_offset, ccparams_lte.N_RB_DL); } } diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index 9e43b8c61e..eae4e32482 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -19,7 +19,7 @@ * contact@openairinterface.org */ -/*! \file openair2/ENB_APP/enb_paramdef.f +/*! \file openair2/ENB_APP/enb_paramdef.h * \brief definition of configuration parameters for all eNodeB modules * \author Francois TABURET * \date 2017 @@ -341,11 +341,6 @@ typedef enum { #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A "pucch_deltaF_Format2a" #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B "pucch_deltaF_Format2b" -#define ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310 "prach_ConfigCommon_v1310" -#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13 "mpdcch_startSF_CSS_RA_r13" -#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL "mpdcch_startSF_CSS_RA_r13_val" -#define ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13 "prach_HoppingOffset_r13" - #define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES "rach_numberOfRA_Preambles" #define ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG "rach_preamblesGroupAConfig" #define ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA "rach_sizeOfRA_PreamblesGroupA" @@ -428,6 +423,86 @@ typedef enum { /*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* init for checkedparam_t structure */ +typedef struct ccparams_lte_s { + char *frame_type; + int32_t tdd_config; + int32_t tdd_config_s; + char *prefix_type; + char *pbch_repetition; + int32_t eutra_band; + long long int downlink_frequency; + int32_t uplink_frequency_offset; + int32_t Nid_cell; + int32_t Nid_cell_mbsfn; + int32_t N_RB_DL; + int32_t nb_antenna_ports; + int32_t prach_root; + int32_t prach_config_index; + char *prach_high_speed; + int32_t prach_zero_correlation; + int32_t prach_freq_offset; + int32_t pucch_delta_shift; + int32_t pucch_nRB_CQI; + int32_t pucch_nCS_AN; + int32_t pucch_n1_AN; + int32_t pdsch_referenceSignalPower; + int32_t pdsch_p_b; + int32_t pusch_n_SB; + char *pusch_hoppingMode; + int32_t pusch_hoppingOffset; + char *pusch_enable64QAM; + char *pusch_groupHoppingEnabled; + int32_t pusch_groupAssignment; + char *pusch_sequenceHoppingEnabled; + int32_t pusch_nDMRS1; + char *phich_duration; + char *phich_resource; + char *srs_enable; + int32_t srs_BandwidthConfig; + int32_t srs_SubframeConfig; + char *srs_ackNackST; + char *srs_MaxUpPts; + int32_t pusch_p0_Nominal; + char *pusch_alpha; + int32_t pucch_p0_Nominal; + int32_t msg3_delta_Preamble; + int32_t ul_CyclicPrefixLength; + char *pucch_deltaF_Format1; + char *pucch_deltaF_Format1a; + char *pucch_deltaF_Format1b; + char *pucch_deltaF_Format2; + char *pucch_deltaF_Format2a; + char *pucch_deltaF_Format2b; + int32_t rach_numberOfRA_Preambles; + char *rach_preamblesGroupAConfig; + int32_t rach_sizeOfRA_PreamblesGroupA; + int32_t rach_messageSizeGroupA; + char *rach_messagePowerOffsetGroupB; + int32_t rach_powerRampingStep; + int32_t rach_preambleInitialReceivedTargetPower; + int32_t rach_preambleTransMax; + int32_t rach_raResponseWindowSize; + int32_t rach_macContentionResolutionTimer; + int32_t rach_maxHARQ_Msg3Tx; + int32_t pcch_defaultPagingCycle; + char *pcch_nB; + int32_t bcch_modificationPeriodCoeff; + int32_t ue_TimersAndConstants_t300; + int32_t ue_TimersAndConstants_t301; + int32_t ue_TimersAndConstants_t310; + int32_t ue_TimersAndConstants_t311; + int32_t ue_TimersAndConstants_n310; + int32_t ue_TimersAndConstants_n311; + int32_t ue_TransmissionMode; + int32_t ue_multiple_max; + int32_t srb1_timer_poll_retransmit; + int32_t srb1_timer_reordering; + int32_t srb1_timer_status_prohibit; + int32_t srb1_poll_pdu; + int32_t srb1_poll_byte; + int32_t srb1_max_retx_threshold; +} ccparams_lte_t; + #define CCPARAMS_CHECK { \ { .s5= {NULL }} , \ { .s5= {NULL }} , \ @@ -535,133 +610,83 @@ typedef enum { { .s5= {NULL }} , \ { .s5= {NULL }} , \ { .s5= {NULL }} , \ - { .s5= {NULL }} , \ - { .s5= {NULL }} , \ - { .s5= {NULL }} , \ - { .s5= {NULL }} , \ - { .s5= {NULL }} , \ - { .s5= {NULL }} , \ - { .s5= {NULL }} \ + { .s5= {NULL }} \ } /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* component carriers configuration parameters */ /* optname helpstr paramflags XXXptr defXXXval type numelt checked_param */ /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ -#define CCPARAMS_DESC { \ -{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&tdd_config, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&tdd_config_s, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&eutra_band, defintval:7, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&Nid_cell, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB, defintval:1, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_MULTIPLE_MAX, NULL, 0, iptr:&ue_multiple_max, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_SC_CP_LEN, NULL, 0, strptr:(char **)&rxPool_sc_CP_Len, defstrval:"normal", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_SC_PRIOD, NULL, 0, strptr:(char **)&rxPool_sc_Period, defstrval:"sf40", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_DATA_CP_LEN, NULL, 0, strptr:(char **)&rxPool_data_CP_Len, defstrval:"normal", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_PRB_NUM, NULL, 0, iptr:(int32_t *)&rxPool_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_PRB_START, NULL, 0, iptr:(int32_t *)&rxPool_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_PRB_END, NULL, 0, iptr:(int32_t *)&rxPool_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_PRESENT, NULL, 0, strptr:(char **)&rxPool_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:(int32_t *)&rxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&rxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&rxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&rxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED, NULL, 0, iptr:(int32_t *)&rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_CP_LEN, NULL, 0, strptr:(char **)&discRxPool_cp_Len, defstrval:"normal", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_DISCPERIOD, NULL, 0, strptr:(char **)&discRxPool_discPeriod, defstrval:"rf32", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_NUMRETX, NULL, 0, iptr:(int32_t *)&discRxPool_numRetx, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_NUMREPETITION, NULL, 0, iptr:(int32_t *)&discRxPool_numRepetition, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_NUM, NULL, 0, iptr:(int32_t *)&discRxPool_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_START, NULL, 0, iptr:(int32_t *)&discRxPool_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_END, NULL, 0, iptr:(int32_t *)&discRxPool_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_PRESENT, NULL, 0, strptr:(char **)&discRxPool_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:(int32_t *)&discRxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&discRxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&discRxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:(int32_t *)&discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_CP_LEN, NULL, 0, strptr:(char **)&discRxPoolPS_cp_Len, defstrval:"normal", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_DISCPERIOD, NULL, 0, strptr:(char **)&discRxPoolPS_discPeriod, defstrval:"rf32", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_NUMRETX, NULL, 0, iptr:(int32_t *)&discRxPoolPS_numRetx, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_NUMREPETITION, NULL, 0, iptr:(int32_t *)&discRxPoolPS_numRepetition, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_NUM, NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_START, NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_END, NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_OFFSETIND_PRESENT, NULL, 0, strptr:(char **)&discRxPoolPS_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_OFFSETIND_CHOICE, NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&discRxPoolPS_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:(int32_t *)&discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0} \ +#define CCPARAMS_DESC(ccparams) { \ +{ENB_CONFIG_STRING_FRAME_TYPE, NULL, 0, strptr:&ccparams.frame_type, defstrval:"FDD", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG, NULL, 0, iptr:&ccparams.tdd_config, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_TDD_CONFIG_S, NULL, 0, iptr:&ccparams.tdd_config_s, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREFIX_TYPE, NULL, 0, strptr:&ccparams.prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PBCH_REPETITION, NULL, 0, strptr:&ccparams.pbch_repetition, defstrval:"FALSE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_EUTRA_BAND, NULL, 0, iptr:&ccparams.eutra_band, defintval:7, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DOWNLINK_FREQUENCY, NULL, 0, i64ptr:(int64_t *)&ccparams.downlink_frequency, defint64val:2680000000, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET, NULL, 0, iptr:&ccparams.uplink_frequency_offset, defintval:-120000000, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NID_CELL, NULL, 0, iptr:&ccparams.Nid_cell, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&ccparams.N_RB_DL, defintval:25, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_CELL_MBSFN, NULL, 0, iptr:&ccparams.Nid_cell_mbsfn, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&ccparams.nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&ccparams.prach_root, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&ccparams.prach_config_index, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&ccparams.prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&ccparams.prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&ccparams.prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&ccparams.pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&ccparams.pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&ccparams.pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&ccparams.pucch_n1_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&ccparams.pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&ccparams.pdsch_p_b, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&ccparams.pusch_n_SB, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&ccparams.pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&ccparams.pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&ccparams.pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&ccparams.pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&ccparams.pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&ccparams.pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&ccparams.pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&ccparams.phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&ccparams.phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&ccparams.srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&ccparams.srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&ccparams.srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&ccparams.srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&ccparams.srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&ccparams.pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&ccparams.pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&ccparams.pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&ccparams.msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&ccparams.pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&ccparams.pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&ccparams.pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&ccparams.pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&ccparams.pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&ccparams.rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&ccparams.rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&ccparams.rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&ccparams.rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&ccparams.rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&ccparams.rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&ccparams.rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&ccparams.rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&ccparams.rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&ccparams.rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&ccparams.rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&ccparams.pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&ccparams.pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&ccparams.bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ccparams.ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ccparams.ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_MULTIPLE_MAX, NULL, 0, iptr:&ccparams.ue_multiple_max, defintval:4, TYPE_UINT, 0} \ } @@ -735,7 +760,6 @@ typedef enum { #define ENB_CONFIG_UETIMERS_N311_IDX 66 #define ENB_CONFIG_UE_TRANSMISSION_MODE_IDX 67 -/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* SRB1 configuration parameters section name */ #define ENB_CONFIG_STRING_SRB1 "srb1_parameters" @@ -752,21 +776,27 @@ typedef enum { /* SRB1 configuration parameters */ /* optname helpstr paramflags XXXptr defXXXval type numelt */ /*-----------------------------------------------------------------------------------------------------------------------------------------------------------*/ -#define SRB1PARAMS_DESC { \ -{ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, NULL, 0, iptr:&srb1_timer_poll_retransmit, defintval:80, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, NULL, 0, iptr:&srb1_timer_reordering, defintval:35, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, NULL, 0, iptr:&srb1_timer_status_prohibit, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRB1_POLL_PDU, NULL, 0, iptr:&srb1_poll_pdu, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRB1_POLL_BYTE, NULL, 0, iptr:&srb1_poll_byte, defintval:99999, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, NULL, 0, iptr:&srb1_max_retx_threshold, defintval:4, TYPE_UINT, 0} \ +typedef struct srb1_params_s { + int32_t srb1_timer_poll_retransmit; + int32_t srb1_timer_reordering; + int32_t srb1_timer_status_prohibit; + int32_t srb1_poll_pdu; + int32_t srb1_poll_byte; + int32_t srb1_max_retx_threshold; +} srb1_params_t; + +#define SRB1PARAMS_DESC(srb1_params) { \ +{ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT, NULL, 0, iptr:&srb1_params.srb1_timer_poll_retransmit, defintval:80, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRB1_TIMER_REORDERING, NULL, 0, iptr:&srb1_params.srb1_timer_reordering, defintval:35, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRB1_TIMER_STATUS_PROHIBIT, NULL, 0, iptr:&srb1_params.srb1_timer_status_prohibit, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRB1_POLL_PDU, NULL, 0, iptr:&srb1_params.srb1_poll_pdu, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRB1_POLL_BYTE, NULL, 0, iptr:&srb1_params.srb1_poll_byte, defintval:99999, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRB1_MAX_RETX_THRESHOLD, NULL, 0, iptr:&srb1_params.srb1_max_retx_threshold, defintval:4, TYPE_UINT, 0} \ } -/*-----------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* MME configuration parameters section name */ #define ENB_CONFIG_STRING_MME_IP_ADDRESS "mme_ip_address" -/* SRB1 configuration parameters names */ - #define ENB_CONFIG_STRING_MME_IPV4_ADDRESS "ipv4" #define ENB_CONFIG_STRING_MME_IPV6_ADDRESS "ipv6" @@ -1000,3 +1030,4 @@ typedef enum { /*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/ #include "enb_paramdef_emtc.h" +#include "enb_paramdef_sidelink.h" diff --git a/openair2/ENB_APP/enb_paramdef_emtc.h b/openair2/ENB_APP/enb_paramdef_emtc.h index 2ae0a1752d..41205ab63d 100644 --- a/openair2/ENB_APP/enb_paramdef_emtc.h +++ b/openair2/ENB_APP/enb_paramdef_emtc.h @@ -33,10 +33,13 @@ #include "common/config/config_paramdesc.h" #include "RRC_paramsvalues.h" -#define ENB_CONFIG_STRING_SCHEDULING_INFO_LIST "scheduling_info_br" - - - +#define ENB_CONFIG_STRING_EMTC_PARAMETERS "emtc_parameters" +#define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br" +#define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" +#define ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310 "prach_ConfigCommon_v1310" +#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13 "mpdcch_startSF_CSS_RA_r13" +#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL "mpdcch_startSF_CSS_RA_r13_val" +#define ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13 "prach_HoppingOffset_r13" #define ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13 "schedulingInfoSIB1_BR_r13" #define ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13 "cellSelectionInfoCE_r13" #define ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13 "q_RxLevMinCE_r13" @@ -57,175 +60,250 @@ #define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13" #define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13 "preamble_TransMax_ce_r13" #define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13_VAL "preamble_TransMax_ce_r13_val" +#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" +#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" +#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" +#define ENB_CONFIG_STRING_FIRST_PREAMBLE_R13 "firstPreamble_r13" +#define ENB_CONFIG_STRING_LAST_PREAMBLE_R13 "lastPreamble_r13" +#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13" +#define ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13 "mac_ContentionResolutionTimer_r13" +#define ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13 "rar_HoppingConfig_r13 " +#define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13" +#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR "prach_config_index_br" +#define ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR "prach_freq_offset_br" +#define ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13 "prach_StartingSubframe_r13" +#define ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13 "maxNumPreambleAttemptCE_r13" +#define ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13 "numRepetitionPerPreambleAttempt_r13" +#define ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13 "mpdcch_NumRepetition_RA_r13" +#define ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13 "prach_HoppingConfig_r13" +#define ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND "max_available_narrow_band" +#define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" +#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" +#define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" +#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" +#define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" -#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13" -#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13" +typedef struct ccparams_eMTC_s { + /// indicator that eMTC is configured for this cell + int32_t eMTC_configured; + /// the SIB2 parameters for eMTC SIB2 + ccparams_lte_t ccparams; + int si_Narrowband_r13; + int si_TBS_r13; + int systemInfoValueTagSi_r13; + int firstPreamble_r13; + int lastPreamble_r13; + int ra_ResponseWindowSize_r13; + int mac_ContentionResolutionTimer_r13; + int rar_HoppingConfig_r13; + int rsrp_range_br; + int prach_config_index_br; + int prach_freq_offset_br; + int prach_StartingSubframe_r13; + int maxNumPreambleAttemptCE_r13; + int numRepetitionPerPreambleAttempt_r13; + int mpdcch_NumRepetition_RA_r13; + int prach_HoppingConfig_r13; + int *maxavailablenarrowband; + int pucch_info_value; + int paging_narrowbands_r13; + int mpdcch_numrepetition_paging_r13; + int nb_v1310; + char *pucch_NumRepetitionCE_Msg4_Level0_r13; + char *pucch_NumRepetitionCE_Msg4_Level1_r13; + char *pucch_NumRepetitionCE_Msg4_Level2_r13; + char *pucch_NumRepetitionCE_Msg4_Level3_r13; + int sib2_mpdcch_pdsch_hoppingNB_r13; + char *sib2_interval_DLHoppingConfigCommonModeA_r13; + int sib2_interval_DLHoppingConfigCommonModeA_r13_val; + char *sib2_interval_DLHoppingConfigCommonModeB_r13; + int sib2_interval_DLHoppingConfigCommonModeB_r13_val; + char *sib2_interval_ULHoppingConfigCommonModeA_r13; + int sib2_interval_ULHoppingConfigCommonModeA_r13_val; + char *sib2_interval_ULHoppingConfigCommonModeB_r13; + int sib2_interval_ULHoppingConfigCommonModeB_r13_val; + int sib2_mpdcch_pdsch_hoppingOffset_r13; + int pusch_HoppingOffset_v1310; + int hyperSFN_r13; + int eDRX_Allowed_r13; + int q_RxLevMinCE_r13; + int q_QualMinRSRQ_CE_r13; + char *si_WindowLength_BR_r13; + char *si_RepetitionPattern_r13; + int startSymbolBR_r13; + char *si_HoppingConfigCommon_r13; + char *si_ValidityTime_r13; + char *mpdcch_pdsch_HoppingNB_r13; + int interval_DLHoppingConfigCommonModeA_r13_val; + int interval_DLHoppingConfigCommonModeB_r13_val; + int mpdcch_pdsch_HoppingOffset_r13; + char *preambleTransMax_CE_r13; + int prach_HoppingOffset_r13; + int schedulingInfoSIB1_BR_r13; + int64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + char *cellSelectionInfoCE_r13; + char *bandwidthReducedAccessRelatedInfo_r13; + char *fdd_DownlinkOrTddSubframeBitmapBR_r13; + char *fdd_UplinkSubframeBitmapBR_r13; + char *freqHoppingParametersDL_r13; + char *interval_DLHoppingConfigCommonModeA_r13; + char *interval_DLHoppingConfigCommonModeB_r13; + char *prach_ConfigCommon_v1310; + char *mpdcch_startSF_CSS_RA_r13; + char *mpdcch_startSF_CSS_RA_r13_val; + char *pdsch_maxNumRepetitionCEmodeA_r13; + char *pdsch_maxNumRepetitionCEmodeB_r13; + char *pusch_maxNumRepetitionCEmodeA_r13; + char *pusch_maxNumRepetitionCEmodeB_r13; +} ccparams_eMTC_t; +#define EMTCPARAMS_DESC(eMTCconfig) { \ + {"eMTC_configured", NULL, 0, iptr:&eMTCconfig.eMTC_configured, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&eMTCconfig.ccparams.prach_root, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&eMTCconfig.ccparams.prach_config_index, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&eMTCconfig.ccparams.prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&eMTCconfig.ccparams.prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&eMTCconfig.ccparams.prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&eMTCconfig.ccparams.pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&eMTCconfig.ccparams.pdsch_p_b, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_n_SB, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&eMTCconfig.ccparams.phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&eMTCconfig.ccparams.phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&eMTCconfig.ccparams.srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&eMTCconfig.ccparams.srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&eMTCconfig.ccparams.srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&eMTCconfig.ccparams.srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&eMTCconfig.ccparams.srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&eMTCconfig.ccparams.msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&eMTCconfig.ccparams.rach_numberOfRA_Preambles, defstrval:"n4", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&eMTCconfig.ccparams.rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&eMTCconfig.ccparams.rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&eMTCconfig.ccparams.rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&eMTCconfig.ccparams.rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&eMTCconfig.ccparams.rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&eMTCconfig.ccparams.rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&eMTCconfig.ccparams.rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&eMTCconfig.ccparams.rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&eMTCconfig.ccparams.pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&eMTCconfig.ccparams.pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&eMTCconfig.ccparams.bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&eMTCconfig.ccparams.rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ + {ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&eMTCconfig.schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ + {ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&eMTCconfig.prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&eMTCconfig.mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&eMTCconfig.mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&eMTCconfig.prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ + {ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&eMTCconfig.pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&eMTCconfig.cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&eMTCconfig.q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&eMTCconfig.bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&eMTCconfig.si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&eMTCconfig.si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&eMTCconfig.startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&eMTCconfig.si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&eMTCconfig.si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&eMTCconfig.freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&eMTCconfig.mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&eMTCconfig.interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&eMTCconfig.interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&eMTCconfig.interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&eMTCconfig.interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&eMTCconfig.mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, strptr:&eMTCconfig.preambleTransMax_CE_r13, defstrval:"n10", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0} \ + } -#define ENB_CONFIG_STRING_BR_PARAMETERS "br_parameters" -#define BRPARAMS_DESC { \ -{"eMTC_configured", NULL, 0, iptr:&eMTC_configured, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, strptr:&preambleTransMax_CE_r13, defstrval:"n10", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&prach_root_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&prach_config_index_emtc, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&prach_high_speed_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&prach_zero_correlation_emtc, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&prach_freq_offset_emtc, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&pucch_delta_shift_emtc, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&pucch_nRB_CQI_emtc, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&pucch_nCS_AN_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&pucch_n1_AN_emtc, defintval:32, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&pdsch_referenceSignalPower_emtc, defintval:-29, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&pdsch_p_b_emtc, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&pusch_n_SB_emtc, defintval:1, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&pusch_hoppingMode_emtc, defstrval:"interSubFrame", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&pusch_hoppingOffset_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&pusch_enable64QAM_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&pusch_groupHoppingEnabled_emtc, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&pusch_groupAssignment_emtc, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&pusch_sequenceHoppingEnabled_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&pusch_nDMRS1_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&phich_duration_emtc, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&phich_resource_emtc, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&srs_enable_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&srs_BandwidthConfig_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&srs_SubframeConfig_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&srs_ackNackST_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&srs_MaxUpPts_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&pusch_p0_Nominal_emtc, defintval:-90, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&pusch_alpha_emtc, defstrval:"AL1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&pucch_p0_Nominal_emtc, defintval:-96, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&msg3_delta_Preamble_emtc, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&pucch_deltaF_Format1_emtc, defstrval:"DELTAF2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&pucch_deltaF_Format1b_emtc, defstrval:"deltaF3", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&pucch_deltaF_Format2_emtc, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&pucch_deltaF_Format2a_emtc, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&pucch_deltaF_Format2b_emtc, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&rach_numberOfRA_Preambles_emtc, defstrval:"n4", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig_emtc, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&rach_sizeOfRA_PreamblesGroupA_emtc, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&rach_messageSizeGroupA_emtc, defintval:56, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&rach_messagePowerOffsetGroupB_emtc, defstrval:"minusinfinity", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&rach_powerRampingStep_emtc, defintval:4, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&rach_preambleInitialReceivedTargetPower_emtc, defintval:-100, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&rach_preambleTransMax_emtc, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&rach_raResponseWindowSize_emtc, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&rach_macContentionResolutionTimer_emtc, defintval:48, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&rach_maxHARQ_Msg3Tx_emtc, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&pcch_defaultPagingCycle_emtc, defintval:128, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&pcch_nB_emtc, defstrval:"oneT", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&bcch_modificationPeriodCoeff_emtc, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&ue_TimersAndConstants_t300_emtc, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&ue_TimersAndConstants_t301_emtc, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&ue_TimersAndConstants_t310_emtc, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&ue_TimersAndConstants_t311_emtc, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&ue_TimersAndConstants_n310_emtc, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&ue_TimersAndConstants_n311_emtc, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&ue_TransmissionMode_emtc, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&rach_preamblesGroupAConfig_emtc, defstrval:"", TYPE_STRING, 0}, \ -} -#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI" -#define SYSTEM_INFO_VALUE_TAG_SI_DESC { \ -{"systemInfoValueTagSi_r13", NULL, 0, iptr:&systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ +#define SYSTEM_INFO_VALUE_TAG_SI_DESC(eMTCconfig) { \ +{"systemInfoValueTagSi_r13", NULL, 0, iptr:&eMTCconfig.systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ } -#define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br" -#define SI_INFO_BR_DESC { \ -{"si_Narrowband_r13", NULL, 0, iptr:&si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ -{"si_TBS_r13", NULL, 0, iptr:&si_TBS_r13, defintval:5, TYPE_UINT, 0} \ +#define SI_INFO_BR_DESC(eMTCconfig) { \ +{"si_Narrowband_r13", NULL, 0, iptr:&eMTCconfig.si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ +{"si_TBS_r13", NULL, 0, iptr:&eMTCconfig.si_TBS_r13, defintval:5, TYPE_UINT, 0} \ } -#define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list" -#define RSRP_RANGE_LIST_DESC { \ -{"rsrp_range_br", NULL, 0, iptr:&rsrp_range_br, defintval:0, TYPE_UINT, 0} \ +#define RSRP_RANGE_LIST_DESC(eMTCconfig) { \ +{"rsrp_range_br", NULL, 0, iptr:&eMTCconfig.rsrp_range_br, defintval:0, TYPE_UINT, 0} \ } -#define ENB_CONFIG_STRING_FIRST_PREAMBLE_R13 "firstPreamble_r13" -#define ENB_CONFIG_STRING_LAST_PREAMBLE_R13 "lastPreamble_r13" -#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13" -#define ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13 "mac_ContentionResolutionTimer_r13" -#define ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13 "rar_HoppingConfig_r13 " - -#define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13" -#define RACH_CE_LEVELINFOLIST_R13_DESC { \ -{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, iptr:&firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, iptr:&lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, iptr:&ra_ResponseWindowSize_r13, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, iptr:&mac_ContentionResolutionTimer_r13, defintval:80, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, iptr:&rar_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}\ +#define RACH_CE_LEVELINFOLIST_R13_DESC(eMTCconfig) { \ +{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, iptr:&eMTCconfig.firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, iptr:&eMTCconfig.lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, iptr:&eMTCconfig.ra_ResponseWindowSize_r13, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, iptr:&eMTCconfig.mac_ContentionResolutionTimer_r13, defintval:80, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, iptr:&eMTCconfig.rar_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}\ } -#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR "prach_config_index_br" -#define ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR "prach_freq_offset_br" -#define ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13 "prach_StartingSubframe_r13" -#define ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13 "maxNumPreambleAttemptCE_r13" -#define ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13 "numRepetitionPerPreambleAttempt_r13" -#define ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13 "mpdcch_NumRepetition_RA_r13" -#define ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13 "prach_HoppingConfig_r13" -#define ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND "max_available_narrow_band" - -#define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13" -#define PRACH_PARAMS_CE_R13_DESC { \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, iptr:&maxNumPreambleAttemptCE_r13, defintval:10, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, iptr:&numRepetitionPerPreambleAttempt_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, iptr:&mpdcch_NumRepetition_RA_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, iptr:&prach_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}, \ +#define PRACH_PARAMS_CE_R13_DESC(eMTCconfig) { \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&eMTCconfig.prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&eMTCconfig.prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&eMTCconfig.prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, iptr:&eMTCconfig.maxNumPreambleAttemptCE_r13, defintval:10, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, iptr:&eMTCconfig.numRepetitionPerPreambleAttempt_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, iptr:&eMTCconfig.mpdcch_NumRepetition_RA_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, iptr:&eMTCconfig.prach_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, uptr:NULL, defintarrayval:NULL, TYPE_INTARRAY, 0} \ } -#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value" - -#define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13" -#define N1PUCCH_AN_INFOLIST_R13_DESC { \ -{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&pucch_info_value, defintval:0, TYPE_UINT, 0} \ +#define N1PUCCH_AN_INFOLIST_R13_DESC(eMTCconfig) { \ +{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&eMTCconfig.pucch_info_value, defintval:0, TYPE_UINT, 0} \ } -#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310" -#define PCCH_CONFIG_V1310_DESC { \ -{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&mpdcch_numrepetition_paging_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&nb_v1310, defintval:256, TYPE_UINT, 0} \ + +#define PCCH_CONFIG_V1310_DESC(eMTCconfig) { \ +{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&eMTCconfig.paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&eMTCconfig.mpdcch_numrepetition_paging_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&eMTCconfig.nb_v1310, defintval:256, TYPE_UINT, 0} \ } -#define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13" -#define SIB2_FREQ_HOPPING_R13_DESC { \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingNB_r13, defintval:0, TYPE_UINT, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&sib2_interval_DLHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&sib2_interval_DLHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:4, TYPE_UINT, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, strptr:&sib2_interval_ULHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ + +#define SIB2_FREQ_HOPPING_R13_DESC(eMTCconfig) { \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, iptr:&eMTCconfig.sib2_mpdcch_pdsch_hoppingNB_r13, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:4, TYPE_UINT, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&eMTCconfig.sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 7f55aa8d23..911289ef7a 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -276,7 +276,8 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP, if (absSF > absSF_Msg2) return; // we're not ready yet, need to be to start == - if (cc[CC_idP].radioResourceConfigCommon_BR) { + if (cc[CC_idP].mib->message.schedulingInfoSIB1_BR_r13 > 0 && + cc[CC_idP].radioResourceConfigCommon_BR) { ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; @@ -606,7 +607,8 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, int pucchreps[4] = { 1, 1, 1, 1 }; int n1pucchan[4] = { 0, 0, 0, 0 }; - if (cc[CC_idP].radioResourceConfigCommon_BR) { + if (cc[CC_idP].mib->message.schedulingInfoSIB1_BR_r13 > 0 && + cc[CC_idP].radioResourceConfigCommon_BR) { ext4_prach = cc[CC_idP].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; ext4_pucch = cc[CC_idP].radioResourceConfigCommon_BR->ext4->pucch_ConfigCommon_v1310; @@ -656,7 +658,7 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); UE_id = find_UE_id(module_idP, ra->rnti); - AssertFatal(UE_id >= 0, "Can't find UE for t-crnti\n"); + AssertFatal(UE_id >= 0, "Can't find UE for t-crnti %x\n",ra->rnti); // set HARQ process round to 0 for this UE @@ -1361,18 +1363,21 @@ initiate_ra_proc(module_id_t module_idP, COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id]; RA_t *ra = &cc->ra[0]; + static uint8_t failure_cnt = 0; #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL; PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL; - static uint8_t failure_cnt = 0; - if (cc->radioResourceConfigCommon_BR - && cc->radioResourceConfigCommon_BR->ext4) { - ext4_prach = cc->radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; - prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; + + if (cc->mib->message.schedulingInfoSIB1_BR_r13>0) { + AssertFatal(cc->radioResourceConfigCommon_BR != NULL,"radioResourceConfigCommon_BR is null\n"); + AssertFatal(cc->radioResourceConfigCommon_BR->ext4 != NULL, "radioResourceConfigCommon_BR->ext4 is null\n"); + ext4_prach = cc->radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; + AssertFatal(ext4_prach!=NULL,"ext4_prach is null\n"); + prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13; } #endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */ diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 7e1ea7be67..1abe817aac 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -2704,7 +2704,7 @@ void dlsch_scheduler_qos_multiplexing(module_id_t Mod_id, int frameP, sub_frame_ } -#ifdef Rel14 +#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) //------------------------------------------------------------------------------ void schedule_ue_spec_br( @@ -2713,9 +2713,9 @@ schedule_ue_spec_br( sub_frame_t subframeP ) { int CC_id = 0,UE_id; - eNB_MAC_INST *eNB = RC.mac[module_idP]; - COMMON_channels_t *cc = eNB->common_channels; - UE_list_t *UE_list = &eNB->UE_list; + eNB_MAC_INST *mac = RC.mac[module_idP]; + COMMON_channels_t *cc = mac->common_channels; + UE_list_t *UE_list = &mac->UE_list; UE_TEMPLATE *UE_template; UE_sched_ctrl *ue_sched_ctl; int32_t tpc=1; @@ -2749,11 +2749,13 @@ schedule_ue_spec_br( uint32_t ackNAK_absSF; int first_rb; - dl_req = &eNB->DL_req[CC_id].dl_config_request_body; + dl_req = &mac->DL_req[CC_id].dl_config_request_body; dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu]; if ((frameP&1) == 0) return; + if (cc[CC_id].mib->message.schedulingInfoSIB1_BR_r13 ==0) return; + if (cc[CC_id].radioResourceConfigCommon_BR) { ext4_prach = cc[CC_id].radioResourceConfigCommon_BR->ext4->prach_ConfigCommon_v1310; @@ -3121,7 +3123,7 @@ schedule_ue_spec_br( if (opt_enabled == 1) { trace_pdu(1, (uint8_t *)UE_list->DLSCH_pdu[CC_id][0][UE_id].payload[0], TBS, module_idP, 3, UE_RNTI(module_idP,UE_id), - eNB->frame, eNB->subframe,0,0); + mac->frame, mac->subframe,0,0); LOG_D(OPT,"[eNB %d][DLSCH] CC_id %d Frame %d rnti %x with size %d\n", module_idP, CC_id, frameP, UE_RNTI(module_idP,UE_id), TBS); } @@ -3134,7 +3136,7 @@ schedule_ue_spec_br( /* TODO: fix how we deal with power, unit is not dBm, it's special from nfapi */ normalized_rx_power = (5*ue_sched_ctl->pucch1_snr[CC_id]-640)/10+30; - target_rx_power = eNB->puCch10xSnr/10+30; + target_rx_power = mac->puCch10xSnr/10+30; // this assumes accumulated tpc // make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out @@ -3241,7 +3243,7 @@ schedule_ue_spec_br( memset ((void *) dl_config_pdu, 0, sizeof (nfapi_dl_config_request_pdu_t)); dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE; dl_config_pdu->pdu_size = (uint8_t) (2 + sizeof (nfapi_dl_config_dlsch_pdu)); - dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id]; + dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = mac->pdu_index[CC_id]; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti; dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 2; // format 1A/1B/1D dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized @@ -3273,18 +3275,18 @@ schedule_ue_spec_br( dl_req->number_pdu++; // DL request - eNB->TX_req[CC_id].sfn_sf = (frameP << 4) + subframeP; - TX_req = &eNB->TX_req[CC_id].tx_request_body.tx_pdu_list[eNB->TX_req[CC_id].tx_request_body.number_of_pdus]; + mac->TX_req[CC_id].sfn_sf = (frameP << 4) + subframeP; + TX_req = &mac->TX_req[CC_id].tx_request_body.tx_pdu_list[mac->TX_req[CC_id].tx_request_body.number_of_pdus]; TX_req->pdu_length = get_TBS_DL(UE_template->mcs[harq_pid], 6); - TX_req->pdu_index = eNB->pdu_index[CC_id]++; + TX_req->pdu_index = mac->pdu_index[CC_id]++; TX_req->num_segments = 1; TX_req->segments[0].segment_length = TX_req->pdu_length; - TX_req->segments[0].segment_data = eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char) UE_id].payload[0]; - eNB->TX_req[CC_id].tx_request_body.number_of_pdus++; + TX_req->segments[0].segment_data = mac->UE_list.DLSCH_pdu[CC_id][0][(unsigned char) UE_id].payload[0]; + mac->TX_req[CC_id].tx_request_body.number_of_pdus++; ackNAK_absSF = absSF + 4; - ul_req = &eNB->UL_req_tmp[CC_id][ackNAK_absSF % 10].ul_config_request_body; + ul_req = &mac->UL_req_tmp[CC_id][ackNAK_absSF % 10].ul_config_request_body; ul_config_pdu = &ul_req->ul_config_pdu_list[ul_req->number_of_pdus]; ul_config_pdu->pdu_type = NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE; @@ -3309,10 +3311,10 @@ schedule_ue_spec_br( } ul_req->number_of_pdus++; T (T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT (module_idP), T_INT (CC_id), T_INT (rnti), T_INT (frameP), T_INT (subframeP), - T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&eNB->UE_list.DLSCH_pdu[CC_id][0][UE_id].payload[0], TX_req->pdu_length)); + T_INT (0 /*harq_pid always 0? */ ), T_BUFFER (&mac->UE_list.DLSCH_pdu[CC_id][0][UE_id].payload[0], TX_req->pdu_length)); if (opt_enabled == 1) { - trace_pdu (1, (uint8_t *) eNB->UE_list.DLSCH_pdu[CC_id][0][(unsigned char) UE_id].payload[0], TX_req->pdu_length , UE_id, 3, rnti, frameP, subframeP, 0, 0); + trace_pdu (1, (uint8_t *) mac->UE_list.DLSCH_pdu[CC_id][0][(unsigned char) UE_id].payload[0], TX_req->pdu_length , UE_id, 3, rnti, frameP, subframeP, 0, 0); LOG_D (OPT, "[eNB %d][DLSCH] CC_id %d Frame %d trace pdu for rnti %x with size %d\n", module_idP, CC_id, frameP, rnti, TX_req->pdu_length ); } @@ -3818,6 +3820,7 @@ void schedule_PCH(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ; // Rel10 fields + #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start = 3; #endif diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf index ba2e7f1ada..750936cfea 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf @@ -31,9 +31,9 @@ log_config = { global_log_verbosity ="medium"; hw_log_level ="info"; hw_log_verbosity ="medium"; - phy_log_level ="debug"; + phy_log_level ="info"; phy_log_verbosity ="medium"; - mac_log_level ="debug"; + mac_log_level ="info"; mac_log_verbosity ="high"; rlc_log_level ="info"; rlc_log_verbosity ="medium"; From 246ee327fb6a662a43e7a378bb955e3ea219b99e Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 18 Nov 2018 20:17:18 +0100 Subject: [PATCH 095/109] rework of configuration for eMTC/Sidelink. Removal of warnings introduced by eMTC code. Validation of configuration component for eMTC and regular LTE. Sidelink is still not configured. --- cmake_targets/CMakeLists.txt | 6 +- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 1 - openair1/PHY/LTE_TRANSPORT/dci_tools_common.c | 2 +- openair1/PHY/LTE_TRANSPORT/edci.c | 6 +- openair1/PHY/LTE_TRANSPORT/transport_proto.h | 4 + openair2/COMMON/rrc_messages_types.h | 2 +- openair2/ENB_APP/enb_config.c | 1350 +---------------- openair2/ENB_APP/enb_config.h | 4 + openair2/ENB_APP/enb_paramdef.h | 3 + openair2/ENB_APP/enb_paramdef_emtc.h | 323 ++-- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 2 +- openair2/LAYER2/MAC/mac_proto.h | 10 +- openair2/LAYER2/MAC/rar_tools.c | 3 +- openair2/RRC/LTE/MESSAGES/asn1_msg.c | 622 ++++---- openair2/RRC/LTE/rrc_eNB.c | 159 +- .../CONF/enb.band13.tm1.50PRB.emtc.conf | 66 +- 16 files changed, 678 insertions(+), 1885 deletions(-) diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index 3e00a5db0e..6242e636a3 100755 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -231,8 +231,8 @@ add_definitions("-DPACKAGE_BUGREPORT=\"openair4g-devel@lists.eurecom.fr\"") # Debug related options ######################################### -add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug") -add_boolean_option(EMIT_ASN_DEBUG False "ASN1 coder/decoder Debug") +add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug") +add_boolean_option(ASN_EMIT_DEBUG False "ASN1 coder/decoder Debug") add_boolean_option(MSG_PRINT False "print debug messages") add_boolean_option(DISABLE_XER_PRINT False "print XER Format") add_boolean_option(XER_PRINT False "print XER Format") @@ -1369,6 +1369,8 @@ set (MAC_SRC_UE set (ENB_APP_SRC ${OPENAIR2_DIR}/ENB_APP/enb_app.c ${OPENAIR2_DIR}/ENB_APP/enb_config.c + ${OPENAIR2_DIR}/ENB_APP/enb_config_SL.c + ${OPENAIR2_DIR}/ENB_APP/enb_config_eMTC.c ${OPENAIR2_DIR}/ENB_APP/RRC_config_tools.c ) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index c23f1a2d1d..e221093714 100755 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -2145,7 +2145,6 @@ fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci nfapi_hi_dci0_mpdcch_dci_pdu_rel13_t *rel13 = &pdu->mpdcch_dci_pdu_rel13; uint32_t cqi_req = rel13->csi_request; - uint32_t dai = rel13->dl_assignment_index; uint32_t TPC = rel13->tpc; uint32_t mcs = rel13->mcs; uint32_t hopping = rel13->frequency_hopping_flag; diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c b/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c index 56dc211cc4..dbf5814f30 100644 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools_common.c @@ -296,7 +296,7 @@ void conv_eMTC_rballoc (uint16_t resource_block_coding, uint32_t N_RB_DL, uint32 int ind = first_rb >> 5; int ind_mod = first_rb & 31; - AssertFatal(RIV<32,"RIV is %d > 31\n"); + AssertFatal(RIV<32,"RIV is %d > 31\n",RIV); if (((N_RB_DL & 1) > 0) && (narrowband >= (N_NB_DL >> 1))) first_rb++; diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index 04cfeecf1c..841900e5aa 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -39,6 +39,7 @@ #include "SCHED/sched_eNB.h" #include "SIMULATION/TOOLS/sim.h" // for taus #include "PHY/sse_intrin.h" +#include "PHY/LTE_REFSIG/lte_refsig.h" #include "assertions.h" #include "T.h" @@ -270,7 +271,6 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; int i; int gain_lin_QPSK; - uint8_t bitsperCCE; uint16_t *mpdcchtab; uint32_t x1, x2, s = 0; @@ -278,7 +278,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, uint16_t j0, j, idelta; uint16_t i0; - int off; + int off=0; // Assumption: only handle a single MPDCCH per narrowband @@ -453,11 +453,13 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, (nprb<= last_prb)) { ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; + AssertFatal(mdci->transmission_type==1,"transmission_type %d!=1, handle this ...\n",mdci->transmission_type); if (mdci->transmission_type==1) { // same thing on both 107 and 109 txF[(5*mprime)] = yIQ; txF[1+(5*mprime)] = yIQ; } else { // put on selected antenna port with w sequence + if (((mprime+nprb)&1) == 0) txF[off+(5*mprime)] = yIQ*w[lprime]; else diff --git a/openair1/PHY/LTE_TRANSPORT/transport_proto.h b/openair1/PHY/LTE_TRANSPORT/transport_proto.h index 37ac335d02..65f042f946 100644 --- a/openair1/PHY/LTE_TRANSPORT/transport_proto.h +++ b/openair1/PHY/LTE_TRANSPORT/transport_proto.h @@ -385,6 +385,8 @@ uint8_t generate_dci_top(uint8_t num_pdcch_symbols, uint32_t sub_frame_offset); +void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, int32_t ** txdataF); + void generate_64qam_table(void); void generate_16qam_table(void); @@ -421,6 +423,8 @@ void fill_dci0(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc,DC void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu,int frame,int subframe); +void fill_mpdcch_dci0 (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, mDCI_ALLOC_t * dci_alloc, nfapi_hi_dci0_mpdcch_dci_pdu * pdu); + int generate_eNB_ulsch_params_from_rar(PHY_VARS_eNB *eNB, unsigned char *rar_pdu, uint32_t frame, diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h index d8d5fe5f9d..6ae297ba2b 100755 --- a/openair2/COMMON/rrc_messages_types.h +++ b/openair2/COMMON/rrc_messages_types.h @@ -186,7 +186,7 @@ typedef struct RrcConfigurationReq_s { int16_t Nid_cell[MAX_NUM_CCs];// for testing, change later int16_t N_RB_DL[MAX_NUM_CCs];// for testing, change later int nb_antenna_ports[MAX_NUM_CCs]; - + int eMBMS_configured; int eMTC_configured; int SL_configured; diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 4f65d6098e..2dd978cd9e 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -368,19 +368,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { checkedparam_t config_check_CCparams[] = CCPARAMS_CHECK; paramdef_t CCsParams[] = CCPARAMS_DESC(ccparams_lte); paramlist_def_t CCsParamList = {ENB_CONFIG_STRING_COMPONENT_CARRIERS,NULL,0}; - paramdef_t brParams[] = EMTCPARAMS_DESC(eMTCconfig); - paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC(eMTCconfig); - paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; - paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC(eMTCconfig); - paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; - paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC(eMTCconfig); - paramlist_def_t rsrprangelist = {ENB_CONFIG_STRING_RSRP_RANGE_LIST, NULL, 0}; - paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC(eMTCconfig); - paramlist_def_t prachParamslist = {ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, NULL, 0}; - paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC(eMTCconfig); - paramlist_def_t n1PUCCHInfoList = {ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, NULL, 0}; - paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC(eMTCconfig); - paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC(eMTCconfig); + + paramdef_t eMTCParams[] = EMTCPARAMS_DESC((&eMTCconfig)); + checkedparam_t config_check_eMTCparams[] = EMTCPARAMS_CHECK; srb1_params_t srb1_params; memset((void*)&srb1_params,0,sizeof(srb1_params_t)); @@ -395,6 +385,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { CCsParams[I].chkPptr = &(config_check_CCparams[I]); } + + for (int I = 0; I < (sizeof(CCsParams) / sizeof(paramdef_t)); I++) { + eMTCParams[I].chkPptr = &(config_check_eMTCparams[I]); + } + /* get global parameters, defined outside any section in the config file */ config_get( ENBSParams,sizeof(ENBSParams)/sizeof(paramdef_t),NULL); num_enbs = ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt; @@ -1382,1334 +1377,33 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { break; } + // eMBMS configuration + RRC_CONFIGURATION_REQ(msg_p).eMBMS_configured = 0; + printf("No eMBMS configuration, skipping it\n"); + + // eMTC configuration char brparamspath[MAX_OPTNAME_SIZE*2 + 16]; sprintf(brparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_EMTC_PARAMETERS); - config_get( brParams, sizeof(brParams)/sizeof(paramdef_t), brparamspath); + config_get(eMTCParams, sizeof(eMTCParams)/sizeof(paramdef_t), brparamspath); RRC_CONFIGURATION_REQ(msg_p).eMTC_configured = eMTCconfig.eMTC_configured&1; - if (eMTCconfig.eMTC_configured > 0) { - printf("Found parameters for eMTC\n"); - RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = eMTCconfig.schedulingInfoSIB1_BR_r13; - - - if (!strcmp(eMTCconfig.cellSelectionInfoCE_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[j]= eMTCconfig.q_RxLevMinCE_r13; - // RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= calloc(1, sizeof(long)); - // *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[j]= q_QualMinRSRQ_CE_r13; - } else { - RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[j] = FALSE; - } - - - - if (!strcmp(eMTCconfig.bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE; - - - - if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms20")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms40")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms60")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms80")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms120")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms160")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "ms200")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6; - } else if (!strcmp(eMTCconfig.si_WindowLength_BR_r13, "spare")) { - RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7; - } - - - if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "everyRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0; - } else if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "every2ndRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1; - } else if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "every4thRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2; - } else if (!strcmp(eMTCconfig.si_RepetitionPattern_r13, "every8thRF")) { - RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3; - } - - } else { - RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE; - } - - char schedulingInfoBrPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&schedulingInfoBrParamList, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = schedulingInfoBrParamList.numelt; - int siInfoindex; - for (siInfoindex = 0; siInfoindex < schedulingInfoBrParamList.numelt; siInfoindex++) { - sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_EMTC_PARAMETERS, siInfoindex); - config_get(schedulingInfoBrParams, sizeof(schedulingInfoBrParams) / sizeof(paramdef_t), schedulingInfoBrPath); - RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[j][siInfoindex] = eMTCconfig.si_Narrowband_r13; - RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[j][siInfoindex] = eMTCconfig.si_TBS_r13; - } - - - - // RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].system_info_value_tag_SI_size[j] = 0; - - - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); - if (!strcmp(eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = FALSE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - } else { - *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[j] = eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_val_r13; - } - - RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = eMTCconfig.startSymbolBR_r13; - - - if (!strcmp(eMTCconfig.si_HoppingConfigCommon_r13, "off")) { - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1; - } else if (!strcmp(eMTCconfig.si_HoppingConfigCommon_r13, "on")) { - RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0; - } - - - RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(eMTCconfig.si_ValidityTime_r13, "true")) { - *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", - RC.config_file_name, i); - } - - - if (!strcmp(eMTCconfig.freqHoppingParametersDL_r13, "ENABLE")) - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE; - - if (!strcmp(eMTCconfig.interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[j] = eMTCconfig.interval_DLHoppingConfigCommonModeA_r13_val; - - if (!strcmp(eMTCconfig.interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = FALSE; - else - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[j] = eMTCconfig.interval_DLHoppingConfigCommonModeB_r13_val; - - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long)); - if (!strcmp(eMTCconfig.mpdcch_pdsch_HoppingNB_r13, "nb2")) { - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0; - } else if (!strcmp(eMTCconfig.mpdcch_pdsch_HoppingNB_r13, "nb4")) { - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1; - } else { - AssertFatal(0, - "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", - RC.config_file_name, i); - } - - - RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[j] = eMTCconfig.mpdcch_pdsch_HoppingOffset_r13; - - } - else - { - RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE; - } - - /** ------------------------------SIB2/3 BR------------------------------------------ */ - - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root = eMTCconfig.ccparams.prach_root; - - if ((eMTCconfig.ccparams.prach_root <0) || (eMTCconfig.ccparams.prach_root > 1023)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.prach_root); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = eMTCconfig.ccparams.prach_config_index; - - if ((eMTCconfig.ccparams.prach_config_index <0) || (eMTCconfig.ccparams.prach_config_index > 63)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.prach_config_index); - - if (!eMTCconfig.ccparams.prach_high_speed) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED); - else if (strcmp(eMTCconfig.ccparams.prach_high_speed, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE; - } else if (strcmp(eMTCconfig.ccparams.prach_high_speed, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, eMTCconfig.ccparams.prach_high_speed); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation = eMTCconfig.ccparams.prach_zero_correlation; - - if ((eMTCconfig.ccparams.prach_zero_correlation <0) || (eMTCconfig.ccparams.prach_zero_correlation > 15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", - RC.config_file_name, i, eMTCconfig.ccparams.prach_zero_correlation); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = eMTCconfig.ccparams.prach_freq_offset; - - if ((eMTCconfig.ccparams.prach_freq_offset <0) || (eMTCconfig.ccparams.prach_freq_offset > 94)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", - RC.config_file_name, i, eMTCconfig.ccparams.prach_freq_offset); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = eMTCconfig.ccparams.pucch_delta_shift-1; - - if ((eMTCconfig.ccparams.pucch_delta_shift <1) || (eMTCconfig.ccparams.pucch_delta_shift > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_delta_shift); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = eMTCconfig.ccparams.pucch_nRB_CQI; - - if ((eMTCconfig.ccparams.pucch_nRB_CQI <0) || (eMTCconfig.ccparams.pucch_nRB_CQI > 98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_nRB_CQI); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = eMTCconfig.ccparams.pucch_nCS_AN; - - if ((eMTCconfig.ccparams.pucch_nCS_AN <0) || (eMTCconfig.ccparams.pucch_nCS_AN > 7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_nCS_AN); - - //#if (RRC_VERSION < MAKE_VERSION(10, 0, 0)) - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_n1_AN = eMTCconfig.ccparams.pucch_n1_AN; - - if ((eMTCconfig.ccparams.pucch_n1_AN <0) || (eMTCconfig.ccparams.pucch_n1_AN > 2047)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_n1_AN); - - //#endif - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = eMTCconfig.ccparams.pdsch_referenceSignalPower; - - if ((eMTCconfig.ccparams.pdsch_referenceSignalPower <-60) || (eMTCconfig.ccparams.pdsch_referenceSignalPower > 50)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pdsch_referenceSignalPower); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = eMTCconfig.ccparams.pdsch_p_b; - - if ((eMTCconfig.ccparams.pdsch_p_b <0) || (eMTCconfig.ccparams.pdsch_p_b > 3)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pdsch_p_b); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = eMTCconfig.ccparams.pusch_n_SB; - - if ((eMTCconfig.ccparams.pusch_n_SB <1) || (eMTCconfig.ccparams.pusch_n_SB > 4)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_n_SB); - - if (!eMTCconfig.ccparams.pusch_hoppingMode) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); - else if (strcmp(eMTCconfig.ccparams.pusch_hoppingMode,"interSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; - } else if (strcmp(eMTCconfig.ccparams.pusch_hoppingMode,"intraAndInterSubFrame")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_hoppingMode); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = eMTCconfig.ccparams.pusch_hoppingOffset; - - if ((eMTCconfig.ccparams.pusch_hoppingOffset<0) || (eMTCconfig.ccparams.pusch_hoppingOffset>98)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_hoppingMode); - - if (!eMTCconfig.ccparams.pusch_enable64QAM) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); - else if (strcmp(eMTCconfig.ccparams.pusch_enable64QAM, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE; - } else if (strcmp(eMTCconfig.ccparams.pusch_enable64QAM, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_enable64QAM); - - if (!eMTCconfig.ccparams.pusch_groupHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); - else if (strcmp(eMTCconfig.ccparams.pusch_groupHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE; - } else if (strcmp(eMTCconfig.ccparams.pusch_groupHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled= FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_groupHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = eMTCconfig.ccparams.pusch_groupAssignment; - - if ((eMTCconfig.ccparams.pusch_groupAssignment<0)||(eMTCconfig.ccparams.pusch_groupAssignment>29)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_groupAssignment); - - if (!eMTCconfig.ccparams.pusch_sequenceHoppingEnabled) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", - RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); - else if (strcmp(eMTCconfig.ccparams.pusch_sequenceHoppingEnabled, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE; - } else if (strcmp(eMTCconfig.ccparams.pusch_sequenceHoppingEnabled, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_sequenceHoppingEnabled); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1= eMTCconfig.ccparams.pusch_nDMRS1; //cyclic_shift in RRC! - - if ((eMTCconfig.ccparams.pusch_nDMRS1 <0) || (eMTCconfig.ccparams.pusch_nDMRS1>7)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_nDMRS1); - - if (strcmp(eMTCconfig.ccparams.phich_duration,"NORMAL")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration= PHICH_Config__phich_Duration_normal; - } else if (strcmp(eMTCconfig.ccparams.phich_duration,"EXTENDED")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration= PHICH_Config__phich_Duration_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", - RC.config_file_name, i, eMTCconfig.ccparams.phich_duration); - - if (strcmp(eMTCconfig.ccparams.phich_resource,"ONESIXTH")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_oneSixth ; - } else if (strcmp(eMTCconfig.ccparams.phich_resource,"HALF")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_half; - } else if (strcmp(eMTCconfig.ccparams.phich_resource,"ONE")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_one; - } else if (strcmp(eMTCconfig.ccparams.phich_resource,"TWO")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource= PHICH_Config__phich_Resource_two; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", - RC.config_file_name, i, eMTCconfig.ccparams.phich_resource); - - printf("phich.resource eMTC %ld (%s), phich.duration eMTC %ld (%s)\n", - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_resource,eMTCconfig.ccparams.phich_resource, - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].phich_duration,eMTCconfig.ccparams.phich_duration); - - if (strcmp(eMTCconfig.ccparams.srs_enable, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable= TRUE; - } else if (strcmp(eMTCconfig.ccparams.srs_enable, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable= FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, eMTCconfig.ccparams.srs_enable); - - if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable== TRUE) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig= eMTCconfig.ccparams.srs_BandwidthConfig; - - if ((eMTCconfig.ccparams.srs_BandwidthConfig < 0) || (eMTCconfig.ccparams.srs_BandwidthConfig >7)) - AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", - RC.config_file_name, i, eMTCconfig.ccparams.srs_BandwidthConfig); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig= eMTCconfig.ccparams.srs_SubframeConfig; - - if ((eMTCconfig.ccparams.srs_SubframeConfig<0) || (eMTCconfig.ccparams.srs_SubframeConfig>15)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.srs_SubframeConfig); - - if (strcmp(eMTCconfig.ccparams.srs_ackNackST, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_ackNackST= TRUE; - } else if (strcmp(eMTCconfig.ccparams.srs_ackNackST, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_ackNackST= FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, eMTCconfig.ccparams.srs_ackNackST); - - if (strcmp(eMTCconfig.ccparams.srs_MaxUpPts, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_MaxUpPts= TRUE; - } else if (strcmp(eMTCconfig.ccparams.srs_MaxUpPts, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_MaxUpPts= FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, eMTCconfig.ccparams.srs_MaxUpPts); - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal= eMTCconfig.ccparams.pusch_p0_Nominal; - - if ((eMTCconfig.ccparams.pusch_p0_Nominal<-126) || (eMTCconfig.ccparams.pusch_p0_Nominal>24)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_p0_Nominal); - -#if (RRC_VERSION <= MAKE_VERSION(12, 0, 0)) - - if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al0; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al04; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al05; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al06; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al07; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al08; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al09; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= UplinkPowerControlCommon__alpha_al1; - } - -#endif -#if (RRC_VERSION >= MAKE_VERSION(12, 0, 0)) - - if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al0; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL04")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al04; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL05")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al05; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL06")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al06; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL07")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al07; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL08")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al08; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL09")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al09; - } else if (strcmp(eMTCconfig.ccparams.pusch_alpha,"AL1")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_alpha= Alpha_r12_al1; - } - -#endif - 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", - RC.config_file_name, i, eMTCconfig.ccparams.pusch_alpha); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal= eMTCconfig.ccparams.pucch_p0_Nominal; - - if ((eMTCconfig.ccparams.pucch_p0_Nominal<-127) || (eMTCconfig.ccparams.pucch_p0_Nominal>-96)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_p0_Nominal); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble= eMTCconfig.ccparams.msg3_delta_Preamble; - - if ((eMTCconfig.ccparams.msg3_delta_Preamble<-1) || (eMTCconfig.ccparams.msg3_delta_Preamble>6)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.msg3_delta_Preamble); - - if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format1); - - if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1b,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1b,"deltaF3")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format1b,"deltaF5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format1b); - - if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF1")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format2); - - if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2a,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2a,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2a,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format2a); - - if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2b,"deltaF_2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2b,"deltaF0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; - } else if (strcmp(eMTCconfig.ccparams.pucch_deltaF_Format2b,"deltaF2")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pucch_deltaF_Format2b); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (eMTCconfig.ccparams.rach_numberOfRA_Preambles/4)-1; - - if ((eMTCconfig.ccparams.rach_numberOfRA_Preambles <4) || (eMTCconfig.ccparams.rach_numberOfRA_Preambles >64) || ((eMTCconfig.ccparams.rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_numberOfRA_Preambles); - - if (strcmp(eMTCconfig.ccparams.rach_preamblesGroupAConfig, "ENABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (eMTCconfig.ccparams.rach_sizeOfRA_PreamblesGroupA/4)-1; - - if ((eMTCconfig.ccparams.rach_numberOfRA_Preambles <4) || (eMTCconfig.ccparams.rach_numberOfRA_Preambles>60) || ((eMTCconfig.ccparams.rach_numberOfRA_Preambles&3)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_sizeOfRA_PreamblesGroupA); - - switch (eMTCconfig.ccparams.rach_messageSizeGroupA) { - case 56: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; - break; - - case 144: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; - break; - - case 208: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_messageSizeGroupA); - break; - } - - if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"minusinfinity")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB0")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB5")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB8")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB10")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB12")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB15")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; - } else if (strcmp(eMTCconfig.ccparams.rach_messagePowerOffsetGroupB,"dB18")==0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_messagePowerOffsetGroupB); - } else if (strcmp(eMTCconfig.ccparams.rach_preamblesGroupAConfig, "DISABLE") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_preamblesGroupAConfig); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower+120)/2; - - if ((eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower<-120) || (eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower>-90) || ((eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= eMTCconfig.ccparams.rach_powerRampingStep/2; - - if ((eMTCconfig.ccparams.rach_powerRampingStep<0) || (eMTCconfig.ccparams.rach_powerRampingStep>6) || ((eMTCconfig.ccparams.rach_powerRampingStep&1)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_powerRampingStep); - - switch (eMTCconfig.ccparams.rach_preambleTransMax) { -#if (RRC_VERSION < MAKE_VERSION(14, 0, 0)) - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200; - break; -#else - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n7; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n8; - break; - - case 10: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n10; - break; - - case 20: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n20; - break; - - case 50: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n50; - break; - - case 100: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n100; - break; - - case 200: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax= PreambleTransMax_n200; - break; -#endif - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_preambleTransMax); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize= (eMTCconfig.ccparams.rach_raResponseWindowSize==10)?7:eMTCconfig.ccparams.rach_raResponseWindowSize-2; - - if ((eMTCconfig.ccparams.rach_raResponseWindowSize<0)||(eMTCconfig.ccparams.rach_raResponseWindowSize==9)||(eMTCconfig.ccparams.rach_raResponseWindowSize>10)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_raResponseWindowSize); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (eMTCconfig.ccparams.rach_macContentionResolutionTimer/8)-1; - - if ((eMTCconfig.ccparams.rach_macContentionResolutionTimer<8) || (eMTCconfig.ccparams.rach_macContentionResolutionTimer>64) || ((eMTCconfig.ccparams.rach_macContentionResolutionTimer&7)!=0)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_macContentionResolutionTimer); - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx; - - if ((eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx<0) || (eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx>8)) - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", - RC.config_file_name, i, eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx); - - switch (eMTCconfig.ccparams.pcch_defaultPagingCycle) { - case 32: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32; - break; - - case 64: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64; - break; - - case 128: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128; - break; - - case 256: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", - RC.config_file_name, i, eMTCconfig.ccparams.pcch_defaultPagingCycle); - break; - } - - if (strcmp(eMTCconfig.ccparams.pcch_nB, "fourT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "twoT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "halfT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "quarterT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneEighthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneSixteenthT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT; - } else if (strcmp(eMTCconfig.ccparams.pcch_nB, "oneThirtySecondT") == 0) { - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", - RC.config_file_name, i, eMTCconfig.ccparams.pcch_nB); - - switch (eMTCconfig.ccparams.bcch_modificationPeriodCoeff) { - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n2; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n4; - break; - - case 8: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n8; - break; - - case 16: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff= BCCH_Config__modificationPeriodCoeff_n16; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", - RC.config_file_name, i, eMTCconfig.ccparams.bcch_modificationPeriodCoeff); - break; - } - - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300= eMTCconfig.ccparams.ue_TimersAndConstants_t300; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= eMTCconfig.ccparams.ue_TimersAndConstants_t301; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= eMTCconfig.ccparams.ue_TimersAndConstants_t310; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= eMTCconfig.ccparams.ue_TimersAndConstants_t311; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= eMTCconfig.ccparams.ue_TimersAndConstants_n310; - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= eMTCconfig.ccparams.ue_TimersAndConstants_n311; - - switch (eMTCconfig.ccparams.ue_TransmissionMode) { - case 1: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1; - break; - - case 2: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2; - break; - - case 3: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3; - break; - - case 4: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4; - break; - - case 5: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5; - break; - - case 6: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6; - break; - - case 7: - RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7; - break; - - default: - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", - RC.config_file_name, i, eMTCconfig.ccparams.ue_TransmissionMode); - break; - } - - - - - RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(eMTCconfig.pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { - *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(eMTCconfig.pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { - *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", - RC.config_file_name); - } - - - RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, "r8")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 0; - } else if (!strcmp(eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, "r16")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 1; - } else if (!strcmp(eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, "r32")) { - *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = 2; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", - RC.config_file_name); - } - - char rachCELevelInfoListPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&rachcelevellist, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[j] = rachcelevellist.numelt; - int rachCEInfoIndex; - for (rachCEInfoIndex = 0; rachCEInfoIndex < rachcelevellist.numelt; rachCEInfoIndex++) { - sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); - config_get(rachcelevelParams, sizeof(rachcelevelParams) / sizeof(paramdef_t), rachCELevelInfoListPath); - - RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rachCEInfoIndex] = eMTCconfig.firstPreamble_r13; - RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rachCEInfoIndex] = eMTCconfig.lastPreamble_r13; - - RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rachCEInfoIndex] = eMTCconfig.ra_ResponseWindowSize_r13; - AssertFatal(eMTCconfig.ra_ResponseWindowSize_r13 == 20 || - eMTCconfig.ra_ResponseWindowSize_r13 == 50 || - eMTCconfig.ra_ResponseWindowSize_r13 == 80 || - eMTCconfig.ra_ResponseWindowSize_r13 == 120 || - eMTCconfig.ra_ResponseWindowSize_r13 == 180 || - eMTCconfig.ra_ResponseWindowSize_r13 == 240 || - eMTCconfig.ra_ResponseWindowSize_r13 == 320 || - eMTCconfig.ra_ResponseWindowSize_r13 == 400, - "Illegal ra_ResponseWindowSize_r13 %d\n",eMTCconfig.ra_ResponseWindowSize_r13); - - RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rachCEInfoIndex] = eMTCconfig.mac_ContentionResolutionTimer_r13; - AssertFatal(eMTCconfig.mac_ContentionResolutionTimer_r13 == 80 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 100 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 120 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 80 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 160 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 200 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 240 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 480 || - eMTCconfig.mac_ContentionResolutionTimer_r13 == 960, - "Illegal mac_ContentionResolutionTimer_r13 %d\n", - eMTCconfig.mac_ContentionResolutionTimer_r13); - - RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rachCEInfoIndex] = eMTCconfig.rar_HoppingConfig_r13; - AssertFatal(eMTCconfig.rar_HoppingConfig_r13 == 0 || eMTCconfig.rar_HoppingConfig_r13 == 1, - "illegal rar_HoppingConfig_r13 %d\n",eMTCconfig.rar_HoppingConfig_r13); - } // end for loop (rach ce level info) - - char rsrpRangeListPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&rsrprangelist, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = rsrprangelist.numelt; - - - int rsrprangeindex; - for (rsrprangeindex = 0; rsrprangeindex < rsrprangelist.numelt; rsrprangeindex++) { - sprintf(rsrpRangeListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RSRP_RANGE_LIST, rsrprangeindex); - config_get(rsrprangeParams, sizeof(rsrprangeParams) / sizeof(paramdef_t), rsrpRangeListPath); - RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrprangeindex] = eMTCconfig.rsrp_range_br; - - } - - - char prachparameterscePath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&prachParamslist, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = prachParamslist.numelt; - - int prachparamsindex; - for (prachparamsindex = 0; prachparamsindex < prachParamslist.numelt; prachparamsindex++) { - sprintf(prachparameterscePath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, prachparamsindex); - config_get(prachParams, sizeof(prachParams) / sizeof(paramdef_t), prachparameterscePath); - - RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prachparamsindex] = eMTCconfig.prach_config_index_br; - RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prachparamsindex] = eMTCconfig.prach_freq_offset_br; - - RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prachparamsindex] = eMTCconfig.prach_StartingSubframe_r13; - - RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = calloc(1, sizeof(long)); - *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prachparamsindex] = eMTCconfig.maxNumPreambleAttemptCE_r13-3; - AssertFatal(eMTCconfig.maxNumPreambleAttemptCE_r13 > 2 && eMTCconfig.maxNumPreambleAttemptCE_r13 <11, - "prachparamsindex %d: Illegal maxNumPreambleAttemptCE_r13 %d\n", - prachparamsindex,eMTCconfig.maxNumPreambleAttemptCE_r13); - - RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prachparamsindex] = eMTCconfig.numRepetitionPerPreambleAttempt_r13; - AssertFatal(eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 1 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 2 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 4 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 8 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 16 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 32 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 64 || - eMTCconfig.numRepetitionPerPreambleAttempt_r13 == 128, - "illegal numReptitionPerPreambleAttempt %d\n", - eMTCconfig.numRepetitionPerPreambleAttempt_r13); - - RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prachparamsindex] = eMTCconfig.mpdcch_NumRepetition_RA_r13; - AssertFatal (eMTCconfig.mpdcch_NumRepetition_RA_r13 == 1 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 2 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 4 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 8 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 16 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 32 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 64 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 128 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 256 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 512 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 1024 || - eMTCconfig.mpdcch_NumRepetition_RA_r13 == 2048, - "illegal mpdcch_NumRepeition_RA_r13 %d\n", - eMTCconfig.mpdcch_NumRepetition_RA_r13); - - - RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prachparamsindex] = eMTCconfig.prach_HoppingConfig_r13; - - AssertFatal (eMTCconfig.prach_HoppingConfig_r13 >=0 && eMTCconfig.prach_HoppingConfig_r13 < 2, - "Illegal prach_HoppingConfig_r13 %d\n",eMTCconfig.prach_HoppingConfig_r13); - - - int maxavailablenarrowband_count = prachParams[7].numelt; - - RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prachparamsindex] = maxavailablenarrowband_count; - int narrow_band_index; - for (narrow_band_index = 0; narrow_band_index < maxavailablenarrowband_count; narrow_band_index++) { - RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prachparamsindex][narrow_band_index] = prachParams[7].iptr[narrow_band_index]; - } - } - - char n1PUCCHInfoParamsPath[MAX_OPTNAME_SIZE * 2]; - config_getlist(&n1PUCCHInfoList, NULL, 0, brparamspath); - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[j] = n1PUCCHInfoList.numelt; - - int n1PUCCHinfolistindex; - for (n1PUCCHinfolistindex = 0; n1PUCCHinfolistindex < n1PUCCHInfoList.numelt; n1PUCCHinfolistindex++) { - sprintf(n1PUCCHInfoParamsPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, n1PUCCHinfolistindex); - config_get(n1PUCCH_ANR13Params, sizeof(n1PUCCH_ANR13Params) / sizeof(paramdef_t), n1PUCCHInfoParamsPath); - RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][n1PUCCHinfolistindex] = eMTCconfig.pucch_info_value; - } - - char PCCHConfigv1310Path[MAX_OPTNAME_SIZE*2 + 16]; - sprintf(PCCHConfigv1310Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); - config_get(pcchv1310Params, sizeof(pcchv1310Params)/sizeof(paramdef_t), PCCHConfigv1310Path); - - - - /** PCCH CONFIG V1310 */ - - RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE; - RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = eMTCconfig.paging_narrowbands_r13; - RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = eMTCconfig.mpdcch_numrepetition_paging_r13; - AssertFatal (eMTCconfig.mpdcch_numrepetition_paging_r13 == 1 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 2 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 4 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 8 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 16 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 32 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 64 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 128 || - eMTCconfig.mpdcch_numrepetition_paging_r13 == 256, - "illegal mpdcch_numrepetition_paging_r13 %d\n", - eMTCconfig.mpdcch_numrepetition_paging_r13); - - - // RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long)); - // if (!strcmp(nb_v1310, "one64thT")) { - // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0; - // } else if (!strcmp(nb_v1310, "one128thT")) { - // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1; - // } else if (!strcmp(nb_v1310, "one256thT")) { - // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2; - // } else { - // AssertFatal(0, - // "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", - // RC.config_file_name); - // } - - - - RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long)); - // ++cnt; // check this ,, the conter is up above - if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0; - } else if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1; - } else if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2; - } else if (!strcmp(eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { - *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3; - } else { - AssertFatal (0, - "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", - RC.config_file_name); - } - - - - /** SIB2 FREQ HOPPING PARAMETERS R13 */ - RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE; - - char sib2FreqHoppingParametersR13Path[MAX_OPTNAME_SIZE*2 + 16]; - sprintf(sib2FreqHoppingParametersR13Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13); - config_get(sib2freqhoppingParams, sizeof(sib2freqhoppingParams)/sizeof(paramdef_t), sib2FreqHoppingParametersR13Path); - - - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long)); - if (!strcmp(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0; - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val; - AssertFatal(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==2 || - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==4 || - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==8, - "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val); - } else if (!strcmp(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { - *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1; - RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val; - AssertFatal(eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==1 || - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==5 || - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==10 || - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val==20, - "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", - eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val); - } else { - AssertFatal (1==0, - "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", - RC.config_file_name); - } - RRC_CONFIGURATION_REQ (msg_p).eMTC_configured=1; - } // BR parameters > 0 - else { - printf("No eMTC configuration, skipping it\n"); - RRC_CONFIGURATION_REQ (msg_p).eMTC_configured=0; - } + if (eMTCconfig.eMTC_configured > 0) fill_eMTC_configuration(msg_p,&eMTCconfig, i,j,RC.config_file_name,brparamspath); + else printf("No eMTC configuration, skipping it\n"); + + // Sidelink configuration char SLparamspath[MAX_OPTNAME_SIZE*2 + 16]; sprintf(SLparamspath,"%s.%s", ccspath, ENB_CONFIG_STRING_SL_PARAMETERS); config_get( SLParams, sizeof(SLParams)/sizeof(paramdef_t), SLparamspath); // Sidelink Resource pool information RRC_CONFIGURATION_REQ (msg_p).SL_configured=SLconfig.sidelink_configured&1; - if (SLconfig.sidelink_configured==1) { - - //SIB18 - if (strcmp(SLconfig.rxPool_sc_CP_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(SLconfig.rxPool_sc_CP_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_CP_Len choice: normal,extended!\n", - RC.config_file_name, i, SLconfig.rxPool_sc_CP_Len); - - if (strcmp(SLconfig.rxPool_sc_Period,"sf40")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf40; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf60")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf60; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf70")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf70; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf80")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf80; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf120")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf120; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf140")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf140; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf160")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf160; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf240")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf240; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf280")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf280; - } else if (strcmp(SLconfig.rxPool_sc_Period,"sf320")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf320; - } else if (strcmp(SLconfig.rxPool_sc_Period,"spare6")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare6; - } else if (strcmp(SLconfig.rxPool_sc_Period,"spare5")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare5; - } else if (strcmp(SLconfig.rxPool_sc_Period,"spare4")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare4; - } else if (strcmp(SLconfig.rxPool_sc_Period,"spare3")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare3; - } else if (strcmp(SLconfig.rxPool_sc_Period,"spare2")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare2; - } else if (strcmp(SLconfig.rxPool_sc_Period,"spare")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_Period choice: sf40,sf60,sf70,sf80,sf120,sf140,sf160,sf240,sf280,sf320,spare6,spare5,spare4,spare3,spare2,spare!\n", - RC.config_file_name, i, SLconfig.rxPool_sc_Period); - - if (strcmp(SLconfig.rxPool_data_CP_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(SLconfig.rxPool_data_CP_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_data_CP_Len choice: normal,extended!\n", - RC.config_file_name, i, SLconfig.rxPool_data_CP_Len); - - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Num[j] = SLconfig.rxPool_ResourceConfig_prb_Num; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Start[j] = SLconfig.rxPool_ResourceConfig_prb_Start; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_End[j] = SLconfig.rxPool_ResourceConfig_prb_End; - - if (strcmp(SLconfig.rxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", - RC.config_file_name, i, SLconfig.rxPool_ResourceConfig_offsetIndicator_present); - - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_choice[j] = SLconfig.rxPool_ResourceConfig_offsetIndicator_choice; - - if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; - } else if (strcmp(SLconfig.rxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", - RC.config_file_name, i, SLconfig.rxPool_ResourceConfig_subframeBitmap_present); - - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[j] = SLconfig.rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_size[j] = SLconfig.rxPool_ResourceConfig_subframeBitmap_choice_bs_size; - RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = SLconfig.rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - - //SIB19 - for discRxPool - if (strcmp(SLconfig.discRxPool_cp_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(SLconfig.discRxPool_cp_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_cp_Len choice: normal,extended!\n", - RC.config_file_name, i, SLconfig.discRxPool_cp_Len); - - if (strcmp(SLconfig.discRxPool_discPeriod,"rf32")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf64")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf128")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf256")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf512")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf1024")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"rf16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; - } else if (strcmp(SLconfig.discRxPool_discPeriod,"spare")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", - RC.config_file_name, i, SLconfig.discRxPool_discPeriod); - - RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRetx[j] = SLconfig.discRxPool_numRetx; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRepetition[j] = SLconfig.discRxPool_numRepetition; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Num[j] = SLconfig.discRxPool_ResourceConfig_prb_Num; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Start[j] = SLconfig.discRxPool_ResourceConfig_prb_Start; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_End[j] = SLconfig.discRxPool_ResourceConfig_prb_End; - - if (strcmp(SLconfig.discRxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", - RC.config_file_name, i, SLconfig.discRxPool_ResourceConfig_offsetIndicator_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_choice[j] = SLconfig.discRxPool_ResourceConfig_offsetIndicator_choice; - - if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; - } else if (strcmp(SLconfig.discRxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", - RC.config_file_name, i, SLconfig.discRxPool_ResourceConfig_subframeBitmap_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[j] = SLconfig.discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[j] = SLconfig.discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; - RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = SLconfig.discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - - //SIB19 - For discRxPoolPS - if (strcmp(SLconfig.discRxPoolPS_cp_Len,"normal")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_normal; - } else if (strcmp(SLconfig.discRxPoolPS_cp_Len,"extended")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_extended; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_cp_Len choice: normal,extended!\n", - RC.config_file_name, i, SLconfig.discRxPoolPS_cp_Len); - - if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf32")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf64")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf128")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf256")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf512")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf1024")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"rf16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; - } else if (strcmp(SLconfig.discRxPoolPS_discPeriod,"spare")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", - RC.config_file_name, i, SLconfig.discRxPoolPS_discPeriod); - - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRetx[j] = SLconfig.discRxPoolPS_numRetx; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRepetition[j] = SLconfig.discRxPoolPS_numRepetition; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Num[j] = SLconfig.discRxPoolPS_ResourceConfig_prb_Num; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Start[j] = SLconfig.discRxPoolPS_ResourceConfig_prb_Start; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_End[j] = SLconfig.discRxPoolPS_ResourceConfig_prb_End; - - if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present,"prSmall")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present,"prLarge")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", - RC.config_file_name, i, SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_choice[j] = SLconfig.discRxPoolPS_ResourceConfig_offsetIndicator_choice; - - if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prNothing")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs4")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs8")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs12")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs16")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs30")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs40")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12; - } else if (strcmp(SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs42")==0) { - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12; - } else - AssertFatal (0, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", - RC.config_file_name, i, SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_present); - - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[j] = SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[j] = SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; - RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = SLconfig.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; - } + if (SLconfig.sidelink_configured==1) fill_SL_configuration(msg_p,&SLconfig,i,j,RC.config_file_name); + else printf("No SL configuration skipping it\n"); } } + + char srb1path[MAX_OPTNAME_SIZE*2 + 8]; sprintf(srb1path,"%s.%s",enbpath,ENB_CONFIG_STRING_SRB1); config_get( SRB1Params,sizeof(SRB1Params)/sizeof(paramdef_t), srb1path); diff --git a/openair2/ENB_APP/enb_config.h b/openair2/ENB_APP/enb_config.h index ed1b4aeaa2..2e224850eb 100755 --- a/openair2/ENB_APP/enb_config.h +++ b/openair2/ENB_APP/enb_config.h @@ -48,6 +48,7 @@ #endif #include "RRC/LTE/rrc_defs.h" #include +#include "enb_paramdef.h" #define IPV4_STR_ADDR_TO_INT_NWBO(AdDr_StR,NwBo,MeSsAgE ) do {\ struct in_addr inp;\ @@ -108,5 +109,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc); int RCconfig_S1(MessageDef *msg_p, uint32_t i); int RCconfig_X2(MessageDef *msg_p, uint32_t i); +void fill_SL_configuration(MessageDef *msg_p, ccparams_sidelink_t *SLconfig,int cell_idx,int cc_idx,char *config_fname); +void fill_eMTC_configuration(MessageDef *msg_p, ccparams_eMTC_t *eMTCconfig, int cell_idx,int cc_idx,char *config_fname,char *brparamspath); + #endif /* ENB_CONFIG_H_ */ /** @} */ diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h index eae4e32482..0ed2d1bdf9 100755 --- a/openair2/ENB_APP/enb_paramdef.h +++ b/openair2/ENB_APP/enb_paramdef.h @@ -30,6 +30,8 @@ * \warning */ +#ifndef ENB_PARAMDEF_H_ +#define ENB_PARAMDEF_H_ #include "common/config/config_paramdesc.h" #include "RRC_paramsvalues.h" @@ -1031,3 +1033,4 @@ typedef struct srb1_params_s { #include "enb_paramdef_emtc.h" #include "enb_paramdef_sidelink.h" +#endif diff --git a/openair2/ENB_APP/enb_paramdef_emtc.h b/openair2/ENB_APP/enb_paramdef_emtc.h index 41205ab63d..ba8483ef9f 100644 --- a/openair2/ENB_APP/enb_paramdef_emtc.h +++ b/openair2/ENB_APP/enb_paramdef_emtc.h @@ -159,151 +159,240 @@ typedef struct ccparams_eMTC_s { #define EMTCPARAMS_DESC(eMTCconfig) { \ - {"eMTC_configured", NULL, 0, iptr:&eMTCconfig.eMTC_configured, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&eMTCconfig.ccparams.prach_root, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&eMTCconfig.ccparams.prach_config_index, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&eMTCconfig.ccparams.prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&eMTCconfig.ccparams.prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&eMTCconfig.ccparams.prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&eMTCconfig.ccparams.pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&eMTCconfig.ccparams.pdsch_p_b, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_n_SB, defintval:1, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&eMTCconfig.ccparams.phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&eMTCconfig.ccparams.phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&eMTCconfig.ccparams.srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&eMTCconfig.ccparams.srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&eMTCconfig.ccparams.srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&eMTCconfig.ccparams.srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&eMTCconfig.ccparams.srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&eMTCconfig.ccparams.pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&eMTCconfig.ccparams.pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&eMTCconfig.ccparams.pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&eMTCconfig.ccparams.msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&eMTCconfig.ccparams.pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&eMTCconfig.ccparams.rach_numberOfRA_Preambles, defstrval:"n4", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&eMTCconfig.ccparams.rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&eMTCconfig.ccparams.rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&eMTCconfig.ccparams.rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&eMTCconfig.ccparams.rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&eMTCconfig.ccparams.rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&eMTCconfig.ccparams.rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&eMTCconfig.ccparams.rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&eMTCconfig.ccparams.rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&eMTCconfig.ccparams.rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&eMTCconfig.ccparams.rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&eMTCconfig.ccparams.pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&eMTCconfig.ccparams.pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&eMTCconfig.ccparams.bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&eMTCconfig.ccparams.rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&eMTCconfig.ccparams.ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ - {ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&eMTCconfig.schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ - {ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&eMTCconfig.prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ - {ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&eMTCconfig.mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ - {ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&eMTCconfig.mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ - {ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&eMTCconfig.prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ - {ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&eMTCconfig.pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ - {ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&eMTCconfig.pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&eMTCconfig.cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&eMTCconfig.q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ -{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&eMTCconfig.bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&eMTCconfig.si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&eMTCconfig.si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&eMTCconfig.fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ -{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&eMTCconfig.startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&eMTCconfig.si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&eMTCconfig.si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&eMTCconfig.freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&eMTCconfig.mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&eMTCconfig.interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&eMTCconfig.interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&eMTCconfig.interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&eMTCconfig.interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&eMTCconfig.mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, strptr:&eMTCconfig.preambleTransMax_CE_r13, defstrval:"n10", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ -{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ - {ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&eMTCconfig.pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0} \ + {"eMTC_configured", NULL, 0, iptr:&eMTCconfig->eMTC_configured, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, iptr:&eMTCconfig->ccparams.prach_root, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, iptr:&eMTCconfig->ccparams.prach_config_index, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, strptr:&eMTCconfig->ccparams.prach_high_speed, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, iptr:&eMTCconfig->ccparams.prach_zero_correlation, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, iptr:&eMTCconfig->ccparams.prach_freq_offset, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, iptr:&eMTCconfig->ccparams.pucch_delta_shift, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, iptr:&eMTCconfig->ccparams.pucch_nRB_CQI, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, iptr:&eMTCconfig->ccparams.pucch_nCS_AN, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, iptr:&eMTCconfig->ccparams.pucch_n1_AN, defintval:32, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, iptr:&eMTCconfig->ccparams.pdsch_referenceSignalPower, defintval:-29, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, iptr:&eMTCconfig->ccparams.pdsch_p_b, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, iptr:&eMTCconfig->ccparams.pusch_n_SB, defintval:1, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, strptr:&eMTCconfig->ccparams.pusch_hoppingMode, defstrval:"interSubFrame", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, iptr:&eMTCconfig->ccparams.pusch_hoppingOffset, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, strptr:&eMTCconfig->ccparams.pusch_enable64QAM, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, strptr:&eMTCconfig->ccparams.pusch_groupHoppingEnabled, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, iptr:&eMTCconfig->ccparams.pusch_groupAssignment, defintval:0, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, strptr:&eMTCconfig->ccparams.pusch_sequenceHoppingEnabled, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, iptr:&eMTCconfig->ccparams.pusch_nDMRS1, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, strptr:&eMTCconfig->ccparams.phich_duration, defstrval:"NORMAL", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, strptr:&eMTCconfig->ccparams.phich_resource, defstrval:"ONESIXTH", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, strptr:&eMTCconfig->ccparams.srs_enable, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, iptr:&eMTCconfig->ccparams.srs_BandwidthConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, iptr:&eMTCconfig->ccparams.srs_SubframeConfig, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, strptr:&eMTCconfig->ccparams.srs_ackNackST, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, strptr:&eMTCconfig->ccparams.srs_MaxUpPts, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, iptr:&eMTCconfig->ccparams.pusch_p0_Nominal, defintval:-90, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, strptr:&eMTCconfig->ccparams.pusch_alpha, defstrval:"AL1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, iptr:&eMTCconfig->ccparams.pucch_p0_Nominal, defintval:-96, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, iptr:&eMTCconfig->ccparams.msg3_delta_Preamble, defintval:6, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, strptr:&eMTCconfig->ccparams.pucch_deltaF_Format1, defstrval:"DELTAF2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, strptr:&eMTCconfig->ccparams.pucch_deltaF_Format1b, defstrval:"deltaF3", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, strptr:&eMTCconfig->ccparams.pucch_deltaF_Format2, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, strptr:&eMTCconfig->ccparams.pucch_deltaF_Format2a, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, strptr:&eMTCconfig->ccparams.pucch_deltaF_Format2b, defstrval:"deltaF0", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, iptr:&eMTCconfig->ccparams.rach_numberOfRA_Preambles, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&eMTCconfig->ccparams.rach_preamblesGroupAConfig, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, iptr:&eMTCconfig->ccparams.rach_sizeOfRA_PreamblesGroupA, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, iptr:&eMTCconfig->ccparams.rach_messageSizeGroupA, defintval:56, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, strptr:&eMTCconfig->ccparams.rach_messagePowerOffsetGroupB, defstrval:"minusinfinity", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, iptr:&eMTCconfig->ccparams.rach_powerRampingStep, defintval:4, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, iptr:&eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower, defintval:-100, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, iptr:&eMTCconfig->ccparams.rach_preambleTransMax, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, iptr:&eMTCconfig->ccparams.rach_raResponseWindowSize, defintval:10, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, iptr:&eMTCconfig->ccparams.rach_macContentionResolutionTimer, defintval:48, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, iptr:&eMTCconfig->ccparams.rach_maxHARQ_Msg3Tx, defintval:4, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, iptr:&eMTCconfig->ccparams.pcch_defaultPagingCycle, defintval:128, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, strptr:&eMTCconfig->ccparams.pcch_nB, defstrval:"oneT", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, iptr:&eMTCconfig->ccparams.bcch_modificationPeriodCoeff, defintval:2, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, strptr:&eMTCconfig->ccparams.rach_preamblesGroupAConfig, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TimersAndConstants_t300, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TimersAndConstants_t301, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TimersAndConstants_t310, defintval:1000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TimersAndConstants_t311, defintval:10000, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TimersAndConstants_n310, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TimersAndConstants_n311, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, iptr:&eMTCconfig->ccparams.ue_TransmissionMode, defintval:1, TYPE_UINT, 0}, \ + {ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, iptr:&eMTCconfig->schedulingInfoSIB1_BR_r13, defintval:4, TYPE_UINT, 0}, \ + {ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, strptr:&eMTCconfig->prach_ConfigCommon_v1310, defstrval:"ENABLE", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, strptr:&eMTCconfig->mpdcch_startSF_CSS_RA_r13, defstrval:"fdd-r13", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, strptr:&eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, defstrval:"v1", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, iptr:&eMTCconfig->prach_HoppingOffset_r13, defintval:0, TYPE_INT, 0}, \ + {ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&eMTCconfig->pdsch_maxNumRepetitionCEmodeA_r13, defstrval:"r16", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, strptr:&eMTCconfig->pusch_maxNumRepetitionCEmodeA_r13, defstrval:"r8", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, strptr:&eMTCconfig->cellSelectionInfoCE_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, iptr:&eMTCconfig->q_RxLevMinCE_r13, defintval:-70, TYPE_INT, 0}, \ +{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, strptr:&eMTCconfig->bandwidthReducedAccessRelatedInfo_r13, defstrval:"ENABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, strptr:&eMTCconfig->si_WindowLength_BR_r13, defstrval:"ms20", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, strptr:&eMTCconfig->si_RepetitionPattern_r13, defstrval:"everyRF", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, strptr:&eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_r13, defstrval:"subframePattern40-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, i64ptr:&eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_val_r13, defint64val:0xFFFFFFFFFF, TYPE_UINT64, 0}, \ +{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, iptr:&eMTCconfig->startSymbolBR_r13, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, strptr:&eMTCconfig->si_HoppingConfigCommon_r13 , defstrval:"off", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, strptr:&eMTCconfig->si_ValidityTime_r13, defstrval:"true", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, strptr:&eMTCconfig->freqHoppingParametersDL_r13, defstrval:"DISABLE", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, strptr:&eMTCconfig->mpdcch_pdsch_HoppingNB_r13, defstrval:"nb2", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, strptr:&eMTCconfig->interval_DLHoppingConfigCommonModeA_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, iptr:&eMTCconfig->interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, strptr:&eMTCconfig->interval_DLHoppingConfigCommonModeB_r13, defstrval:"interval-FDD-r13", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, iptr:&eMTCconfig->interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, iptr:&eMTCconfig->mpdcch_pdsch_HoppingOffset_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, strptr:&eMTCconfig->preambleTransMax_CE_r13, defstrval:"n10", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, strptr:&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level0_r13, defstrval:"n1", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, strptr:&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level1_r13, defstrval:"", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, strptr:&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level2_r13, defstrval:"", TYPE_STRING, 0}, \ + {ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, strptr:&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level3_r13, defstrval:"", TYPE_STRING, 0} \ } +#define EMTCPARAMS_CHECK { \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s1a= { config_check_modify_integer, UETIMER_T300_OKVALUES, UETIMER_T300_MODVALUES,8}} , \ + { .s1a= { config_check_modify_integer, UETIMER_T301_OKVALUES, UETIMER_T301_MODVALUES,8}} , \ + { .s1a= { config_check_modify_integer, UETIMER_T310_OKVALUES, UETIMER_T310_MODVALUES,7}} , \ + { .s1a= { config_check_modify_integer, UETIMER_T311_OKVALUES, UETIMER_T311_MODVALUES,7}} , \ + { .s1a= { config_check_modify_integer, UETIMER_N310_OKVALUES, UETIMER_N310_MODVALUES,8}} , \ + { .s1a= { config_check_modify_integer, UETIMER_N311_OKVALUES, UETIMER_N311_MODVALUES,8}} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ + { .s5= {NULL }} , \ +} #define SYSTEM_INFO_VALUE_TAG_SI_DESC(eMTCconfig) { \ -{"systemInfoValueTagSi_r13", NULL, 0, iptr:&eMTCconfig.systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ +{"systemInfoValueTagSi_r13", NULL, 0, iptr:&eMTCconfig->systemInfoValueTagSi_r13, defintval:0, TYPE_UINT, 0} \ } #define SI_INFO_BR_DESC(eMTCconfig) { \ -{"si_Narrowband_r13", NULL, 0, iptr:&eMTCconfig.si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ -{"si_TBS_r13", NULL, 0, iptr:&eMTCconfig.si_TBS_r13, defintval:5, TYPE_UINT, 0} \ +{"si_Narrowband_r13", NULL, 0, iptr:&eMTCconfig->si_Narrowband_r13, defintval:5, TYPE_UINT, 0}, \ +{"si_TBS_r13", NULL, 0, iptr:&eMTCconfig->si_TBS_r13, defintval:5, TYPE_UINT, 0} \ } #define RSRP_RANGE_LIST_DESC(eMTCconfig) { \ -{"rsrp_range_br", NULL, 0, iptr:&eMTCconfig.rsrp_range_br, defintval:0, TYPE_UINT, 0} \ +{"rsrp_range_br", NULL, 0, iptr:&eMTCconfig->rsrp_range_br, defintval:0, TYPE_UINT, 0} \ } #define RACH_CE_LEVELINFOLIST_R13_DESC(eMTCconfig) { \ -{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, iptr:&eMTCconfig.firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, iptr:&eMTCconfig.lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, iptr:&eMTCconfig.ra_ResponseWindowSize_r13, defintval:20, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, iptr:&eMTCconfig.mac_ContentionResolutionTimer_r13, defintval:80, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, iptr:&eMTCconfig.rar_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}\ +{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, iptr:&eMTCconfig->firstPreamble_r13, defintval:60, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, iptr:&eMTCconfig->lastPreamble_r13, defintval:63, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, iptr:&eMTCconfig->ra_ResponseWindowSize_r13, defintval:20, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, iptr:&eMTCconfig->mac_ContentionResolutionTimer_r13, defintval:80, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, iptr:&eMTCconfig->rar_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}\ } #define PRACH_PARAMS_CE_R13_DESC(eMTCconfig) { \ -{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&eMTCconfig.prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&eMTCconfig.prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&eMTCconfig.prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, iptr:&eMTCconfig.maxNumPreambleAttemptCE_r13, defintval:10, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, iptr:&eMTCconfig.numRepetitionPerPreambleAttempt_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, iptr:&eMTCconfig.mpdcch_NumRepetition_RA_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, iptr:&eMTCconfig.prach_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, iptr:&eMTCconfig->prach_config_index_br, defintval:3, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, iptr:&eMTCconfig->prach_freq_offset_br, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, iptr:&eMTCconfig->prach_StartingSubframe_r13, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, iptr:&eMTCconfig->maxNumPreambleAttemptCE_r13, defintval:10, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, iptr:&eMTCconfig->numRepetitionPerPreambleAttempt_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, iptr:&eMTCconfig->mpdcch_NumRepetition_RA_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, iptr:&eMTCconfig->prach_HoppingConfig_r13, defintval:0, TYPE_UINT, 0}, \ {ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, uptr:NULL, defintarrayval:NULL, TYPE_INTARRAY, 0} \ } #define N1PUCCH_AN_INFOLIST_R13_DESC(eMTCconfig) { \ -{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&eMTCconfig.pucch_info_value, defintval:0, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, iptr:&eMTCconfig->pucch_info_value, defintval:0, TYPE_UINT, 0} \ } #define PCCH_CONFIG_V1310_DESC(eMTCconfig) { \ -{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&eMTCconfig.paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&eMTCconfig.mpdcch_numrepetition_paging_r13, defintval:1, TYPE_UINT, 0}, \ -{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&eMTCconfig.nb_v1310, defintval:256, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, iptr:&eMTCconfig->paging_narrowbands_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, iptr:&eMTCconfig->mpdcch_numrepetition_paging_r13, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_NB_V1310, NULL, 0, iptr:&eMTCconfig->nb_v1310, defintval:256, TYPE_UINT, 0} \ } #define SIB2_FREQ_HOPPING_R13_DESC(eMTCconfig) { \ -{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, iptr:&eMTCconfig.sib2_mpdcch_pdsch_hoppingNB_r13, defintval:0, TYPE_UINT, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:4, TYPE_UINT, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, strptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ -{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&eMTCconfig.sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ -{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&eMTCconfig.sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ +{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, iptr:&eMTCconfig->sib2_mpdcch_pdsch_hoppingNB_r13, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, strptr:&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeA_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, strptr:&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, strptr:&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, iptr:&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13_val, defintval:4, TYPE_UINT, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, strptr:&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeB_r13, defstrval:"FDD", TYPE_STRING, 0}, \ +{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, iptr:&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeB_r13_val, defintval:0, TYPE_UINT, 0}, \ +{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, iptr:&eMTCconfig->sib2_mpdcch_pdsch_hoppingOffset_r13, defintval:1, TYPE_UINT, 0} \ } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 00a13cc924..97fcffd4f6 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -1619,7 +1619,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP, unsigned char sched_subframeP, - uint16_t *emtc_active) + int *emtc_active) { int UE_id; rnti_t rnti = -1; diff --git a/openair2/LAYER2/MAC/mac_proto.h b/openair2/LAYER2/MAC/mac_proto.h index e0fdade419..bfdb26ee24 100755 --- a/openair2/LAYER2/MAC/mac_proto.h +++ b/openair2/LAYER2/MAC/mac_proto.h @@ -113,6 +113,12 @@ void schedule_ulsch_rnti(module_id_t module_idP, int slice_idx, frame_t frameP, unsigned char sched_subframe, uint16_t * first_rb); +void schedule_ulsch_rnti_emtc(module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP, + unsigned char sched_subframeP, + int *emtc_active); + /** \brief Second stage of DLSCH scheduling, after schedule_SI, schedule_RA and schedule_dlsch have been called. This routine first allocates random frequency assignments for SI and RA SDUs using distributed VRB allocations and adds the corresponding DCI SDU to the DCI buffer for PHY. It then loops over the UE specific DCIs previously allocated and fills in the remaining DCI fields related to frequency allocation. It assumes localized allocation of type 0 (DCI.rah=0). The allocation is done for tranmission modes 1,2,4. @param Mod_id Instance of eNB @param frame Frame index @@ -133,7 +139,9 @@ void schedule_dlsch(module_id_t module_idP, frame_t frameP, void schedule_ue_spec(module_id_t module_idP, int slice_idxP, frame_t frameP,sub_frame_t subframe, int *mbsfn_flag); - +void schedule_ue_spec_br(module_id_t module_idP, + frame_t frameP, + sub_frame_t subframeP); void schedule_ue_spec_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t subframe,int *mbsfn_flag); void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t subframeP); diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c index 22c20da021..0e6e403301 100755 --- a/openair2/LAYER2/MAC/rar_tools.c +++ b/openair2/LAYER2/MAC/rar_tools.c @@ -126,9 +126,8 @@ unsigned short fill_rar_br(eNB_MAC_INST *eNB, COMMON_channels_t *cc = &eNB->common_channels[CC_id]; uint8_t *rar = (uint8_t *)(dlsch_buffer+1); - int i; uint32_t rballoc,reps; - uint32_t mcs,TPC,ULdelay,cqireq,mpdcch_nb_index; + uint32_t TPC,ULdelay,cqireq,mpdcch_nb_index; int input_buffer_length; diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c index 62db7df304..1514a9f9bd 100755 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c @@ -1018,7 +1018,6 @@ uint8_t do_SIB23(uint8_t Mod_id, SystemInformationBlockType3_t **sib3 = &RC.rrc[Mod_id]->carrier[CC_id].sib3; #if defined(Rel10) || defined(Rel14) SystemInformationBlockType13_r9_t **sib13 = &RC.rrc[Mod_id]->carrier[CC_id].sib13; - uint8_t MBMS_flag = RC.rrc[Mod_id]->carrier[CC_id].MBMS_flag; #endif #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) @@ -1046,7 +1045,7 @@ uint8_t do_SIB23(uint8_t Mod_id, } #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag); + LOG_I(RRC,"[eNB %d] Configuration SIB2/3, eMBMS = %d\n", Mod_id, configuration->eMBMS_configured); #else LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id); #endif @@ -1063,7 +1062,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - if ((MBMS_flag > 0) && (brOption==FALSE)) { + if ((configuration->eMBMS_configured > 0) && (brOption==FALSE)) { sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); sib13_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920; @@ -1073,22 +1072,23 @@ uint8_t do_SIB23(uint8_t Mod_id, #endif #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) + if (configuration->SL_configured > 0) { //TTN - for D2D - sib18_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); - sib19_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); - sib21_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); - memset(sib18_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); - memset(sib19_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); - memset(sib21_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); - - sib18_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250; - sib19_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250; - sib21_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430; - - *sib18 = &sib18_part->choice.sib18_v1250; - *sib19 = &sib19_part->choice.sib19_v1250; - *sib21 = &sib21_part->choice.sib21_v1430; - + sib18_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); + sib19_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); + sib21_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); + memset(sib18_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); + memset(sib19_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); + memset(sib21_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member)); + + sib18_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250; + sib19_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250; + sib21_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430; + + *sib18 = &sib18_part->choice.sib18_v1250; + *sib19 = &sib19_part->choice.sib19_v1250; + *sib21 = &sib21_part->choice.sib21_v1430; + } #endif @@ -1701,7 +1701,7 @@ uint8_t do_SIB23(uint8_t Mod_id, #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - if (MBMS_flag > 0) { + if (configuration->eMBMS_configured > 0) { LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n"); MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig1; (*sib2)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct MBSFN_SubframeConfigList)); @@ -1721,7 +1721,7 @@ uint8_t do_SIB23(uint8_t Mod_id, ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list, sib2_mbsfn_SubframeConfig1); - if (MBMS_flag == 4 ) { + if (configuration->eMBMS_configured == 4 ) { LOG_I(RRC,"Adding MBSFN subframe Configuration 2 to SIB2\n"); MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig2; sib2_mbsfn_SubframeConfig2= CALLOC(1,sizeof(*sib2_mbsfn_SubframeConfig2)); @@ -1791,7 +1791,7 @@ uint8_t do_SIB23(uint8_t Mod_id, // fill in all elements of SIB13 if present #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0)) - if (MBMS_flag > 0 ) { + if (configuration->eMBMS_configured > 0 ) { // Notification for mcch change (*sib13)->notificationConfig_r9.notificationRepetitionCoeff_r9= MBMS_NotificationConfig_r9__notificationRepetitionCoeff_r9_n2; (*sib13)->notificationConfig_r9.notificationOffset_r9= 0; @@ -1822,7 +1822,7 @@ uint8_t do_SIB23(uint8_t Mod_id, ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area1); //MBSFN Area 2: currently only activated for eMBMS relaying - if (MBMS_flag == 4 ) { + if (configuration->eMBMS_configured == 4 ) { MBSFN_Area2= CALLOC(1, sizeof(*MBSFN_Area2)); MBSFN_Area2->mbsfn_AreaId_r9= 2; MBSFN_Area2->non_MBSFNregionLength= MBSFN_AreaInfo_r9__non_MBSFNregionLength_s2; @@ -1850,295 +1850,297 @@ uint8_t do_SIB23(uint8_t Mod_id, #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - //TTN - for D2D - // SIB18 - //commRxPool_r12 - (*sib18)->commConfig_r12 = CALLOC (1, sizeof(*(*sib18)->commConfig_r12)); - SL_CommRxPoolList= &(*sib18)->commConfig_r12->commRxPool_r12; - memset(SL_CommRxPoolList,0,sizeof(*SL_CommRxPoolList)); - - SL_CommResourcePool = CALLOC(1, sizeof(*SL_CommResourcePool)); - memset(SL_CommResourcePool,0,sizeof(*SL_CommResourcePool)); - - SL_CommResourcePool->sc_CP_Len_r12 = configuration->rxPool_sc_CP_Len[CC_id]; - SL_CommResourcePool->sc_Period_r12 = configuration->rxPool_sc_Period[CC_id]; - SL_CommResourcePool->data_CP_Len_r12 = configuration->rxPool_data_CP_Len[CC_id]; - //sc_TF_ResourceConfig_r12 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_Num_r12 = configuration->rxPool_ResourceConfig_prb_Num[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_Start_r12 = configuration->rxPool_ResourceConfig_prb_Start[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_End_r12 = configuration->rxPool_ResourceConfig_prb_End[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present = configuration->rxPool_ResourceConfig_offsetIndicator_present[CC_id]; - - if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) { - SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->rxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; - } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){ - SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->rxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; + if (configuration->SL_configured>0) { + //TTN - for D2D + // SIB18 + //commRxPool_r12 + (*sib18)->commConfig_r12 = CALLOC (1, sizeof(*(*sib18)->commConfig_r12)); + SL_CommRxPoolList= &(*sib18)->commConfig_r12->commRxPool_r12; + memset(SL_CommRxPoolList,0,sizeof(*SL_CommRxPoolList)); + + SL_CommResourcePool = CALLOC(1, sizeof(*SL_CommResourcePool)); + memset(SL_CommResourcePool,0,sizeof(*SL_CommResourcePool)); + + SL_CommResourcePool->sc_CP_Len_r12 = configuration->rxPool_sc_CP_Len[CC_id]; + SL_CommResourcePool->sc_Period_r12 = configuration->rxPool_sc_Period[CC_id]; + SL_CommResourcePool->data_CP_Len_r12 = configuration->rxPool_data_CP_Len[CC_id]; + //sc_TF_ResourceConfig_r12 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_Num_r12 = configuration->rxPool_ResourceConfig_prb_Num[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_Start_r12 = configuration->rxPool_ResourceConfig_prb_Start[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_End_r12 = configuration->rxPool_ResourceConfig_prb_End[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present = configuration->rxPool_ResourceConfig_offsetIndicator_present[CC_id]; + + if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) { + SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->rxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; + } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){ + SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->rxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; + } + + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present = configuration->rxPool_ResourceConfig_subframeBitmap_present[CC_id]; + if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){ + //for BS4 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){ + //for BS8 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){ + //for BS12 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){ + //for BS16 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){ + //for BS30 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){ + //for BS40 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){ + //for BS42 + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } + + //dataHoppingConfig_r12 + SL_CommResourcePool->dataHoppingConfig_r12.hoppingParameter_r12 = 0; + SL_CommResourcePool->dataHoppingConfig_r12.numSubbands_r12 = SL_HoppingConfigComm_r12__numSubbands_r12_ns1; + SL_CommResourcePool->dataHoppingConfig_r12.rb_Offset_r12 = 0; + + //ue_SelectedResourceConfig_r12 + SL_CommResourcePool->ue_SelectedResourceConfig_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->ue_SelectedResourceConfig_r12)); + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Num_r12 = 20; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Start_r12 = 5; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_End_r12 = 44; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.present = SL_OffsetIndicator_r12_PR_small_r12; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = 0 ; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.present = SubframeBitmapSL_r12_PR_bs40_r12; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = 5; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = CALLOC(1,5); + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = 0; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[0] = 0xF0; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[1] = 0xFF; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[2] = 0xFF; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[3] = 0xFF; + SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[4] = 0xFF; + //SL_CommResourcePool->ue_SelectedResourceConfig_r12->trpt_Subset_r12 = CALLOC (1, sizeof(*SL_CommResourcePool->ue_SelectedResourceConfig_r12->trpt_Subset_r12)); + //rxParametersNCell_r12 + SL_CommResourcePool->rxParametersNCell_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->rxParametersNCell_r12)); + SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12)); + SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12->subframeAssignment = 0 ; + SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12->specialSubframePatterns = 0; + SL_CommResourcePool->rxParametersNCell_r12->syncConfigIndex_r12 = 0; + //txParameters_r12 + SL_CommResourcePool->txParameters_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->txParameters_r12)); + SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.alpha_r12 = Alpha_r12_al0; + SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.p0_r12 = 0; + + SL_CommResourcePool->ext1 = NULL ; + //end SL_CommResourcePool + //add SL_CommResourcePool to SL_CommRxPoolList + ASN_SEQUENCE_ADD(&SL_CommRxPoolList->list,SL_CommResourcePool); + //end commRxPool_r12 + + //TODO: commTxPoolNormalCommon_r12, similar to commRxPool_r12 + //TODO: commTxPoolExceptional_r12 + //TODO: commSyncConfig_r12 + // may add commTxResourceUC-ReqAllowed with Ext1 + (*sib18)->ext1 = NULL; + (*sib18)->lateNonCriticalExtension = NULL; + // end SIB18 + + // SIB19 + // fill in all elements of SIB19 if present + + //discConfig_r12 + (*sib19)->discConfig_r12 = CALLOC (1, sizeof(*(*sib19)->discConfig_r12)); + SL_DiscRxPoolList = &(*sib19)->discConfig_r12->discRxPool_r12; + memset(SL_DiscRxPoolList,0,sizeof(*SL_DiscRxPoolList)); + //fill SL_DiscResourcePool + SL_DiscResourcePool = CALLOC(1, sizeof(*SL_DiscResourcePool)); + + SL_DiscResourcePool->cp_Len_r12 = configuration->discRxPool_cp_Len[CC_id]; + SL_DiscResourcePool->discPeriod_r12 = configuration->discRxPool_discPeriod[CC_id]; + //sc_TF_ResourceConfig_r12 + SL_DiscResourcePool->numRetx_r12 = configuration->discRxPool_numRetx[CC_id]; + SL_DiscResourcePool->numRepetition_r12 = configuration->discRxPool_numRepetition[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.prb_Num_r12 = configuration->discRxPool_ResourceConfig_prb_Num[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.prb_Start_r12 = configuration->discRxPool_ResourceConfig_prb_Start[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.prb_End_r12 = configuration->discRxPool_ResourceConfig_prb_End[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present = configuration->discRxPool_ResourceConfig_offsetIndicator_present[CC_id]; + if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) { + SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->discRxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; + } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){ + SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->discRxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; + } + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present = configuration->discRxPool_ResourceConfig_subframeBitmap_present[CC_id]; + if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){ + //for BS4 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){ + //for BS8 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){ + //for BS12 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){ + //for BS16 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){ + //for BS30 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){ + //for BS40 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){ + //for BS42 + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } + + //add SL_DiscResourcePool to SL_DiscRxPoolList + ASN_SEQUENCE_ADD(&SL_DiscRxPoolList->list,SL_DiscResourcePool); + + /* + //for DiscRxPoolPS + (*sib19)->ext1 = CALLOC (1, sizeof(*(*sib19)->ext1)); + (*sib19)->ext1->discConfigPS_13 = CALLOC (1, sizeof(*((*sib19)->ext1->discConfigPS_13))); + + SL_DiscRxPoolPSList = &(*sib19)->ext1->discConfigPS_13->discRxPoolPS_r13; + memset(SL_DiscRxPoolPSList,0,sizeof(*SL_DiscRxPoolPSList)); + //fill SL_DiscResourcePool + SL_DiscResourcePoolPS = CALLOC(1, sizeof(*SL_DiscResourcePoolPS)); + + SL_DiscResourcePoolPS->cp_Len_r12 = configuration->discRxPoolPS_cp_Len[CC_id]; + SL_DiscResourcePoolPS->discPeriod_r12 = configuration->discRxPoolPS_discPeriod[CC_id]; + //sc_TF_ResourceConfig_r12 + SL_DiscResourcePoolPS->numRetx_r12 = configuration->discRxPoolPS_numRetx[CC_id]; + SL_DiscResourcePoolPS->numRepetition_r12 = configuration->discRxPoolPS_numRepetition[CC_id]; + + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.prb_Num_r12 = configuration->discRxPoolPS_ResourceConfig_prb_Num[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.prb_Start_r12 = configuration->discRxPoolPS_ResourceConfig_prb_Start[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.prb_End_r12 = configuration->discRxPoolPS_ResourceConfig_prb_End[CC_id]; + + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.present = configuration->discRxPoolPS_ResourceConfig_offsetIndicator_present[CC_id]; + if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) { + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->discRxPoolPS_ResourceConfig_offsetIndicator_choice[CC_id] ; + } else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){ + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->discRxPoolPS_ResourceConfig_offsetIndicator_choice[CC_id] ; + } + + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_present[CC_id]; + if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){ + //for BS4 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){ + //for BS8 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){ + //for BS12 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){ + //for BS16 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){ + //for BS30 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){ + //for BS40 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){ + //for BS42 + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; + SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; + } + + //add SL_DiscResourcePool to SL_DiscRxPoolList + ASN_SEQUENCE_ADD(&SL_DiscRxPoolPSList->list,SL_DiscResourcePoolPS); + */ + + (*sib19)->lateNonCriticalExtension = NULL; + //end SIB19 + + //SIB21 + (*sib21)->sl_V2X_ConfigCommon_r14 = CALLOC (1, sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14)); + //SL_V2X_ConfigCommon= (*sib21)->sl_V2X_ConfigCommon_r14; + memset((*sib21)->sl_V2X_ConfigCommon_r14,0,sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14)); + + struct SL_CommRxPoolListV2X_r14 *SL_CommRxPoolListV2X; + struct SL_CommResourcePoolV2X_r14 *SL_CommResourcePoolV2X; + (*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14 = CALLOC(1, sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14)); + SL_CommRxPoolListV2X = (*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14; + + SL_CommResourcePoolV2X = CALLOC(1, sizeof(*SL_CommResourcePoolV2X)); + memset(SL_CommResourcePoolV2X,0,sizeof(*SL_CommResourcePoolV2X)); + + SL_CommResourcePoolV2X->sl_OffsetIndicator_r14 = CALLOC(1, sizeof(*SL_CommResourcePoolV2X->sl_OffsetIndicator_r14)); + SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->present = SL_OffsetIndicator_r12_PR_small_r12; + SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->choice.small_r12 = 0; + SL_CommResourcePoolV2X->sl_Subframe_r14.present = SubframeBitmapSL_r14_PR_bs40_r14; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.size = 5; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf = CALLOC(1,5); + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.bits_unused = 0; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[0] = 0xF0; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[1] = 0xFF; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[2] = 0xFF; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[3] = 0xFF; + SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[4] = 0xFF; + + SL_CommResourcePoolV2X->adjacencyPSCCH_PSSCH_r14 = 1; + SL_CommResourcePoolV2X->sizeSubchannel_r14 = 10; + SL_CommResourcePoolV2X->numSubchannel_r14 = 5; + SL_CommResourcePoolV2X->startRB_Subchannel_r14 = 10; + + //rxParametersNCell_r12 + SL_CommResourcePoolV2X->rxParametersNCell_r14 = CALLOC (1, sizeof (*SL_CommResourcePoolV2X->rxParametersNCell_r14)); + SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14 = CALLOC (1, sizeof (*SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14)); + SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14->subframeAssignment = 0 ; + SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14->specialSubframePatterns = 0; + SL_CommResourcePoolV2X->rxParametersNCell_r14->syncConfigIndex_r14 = 0; + + ASN_SEQUENCE_ADD(&SL_CommRxPoolListV2X->list,SL_CommResourcePoolV2X); + //end SIB21 } - - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present = configuration->rxPool_ResourceConfig_subframeBitmap_present[CC_id]; - if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){ - //for BS4 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){ - //for BS8 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){ - //for BS12 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){ - //for BS16 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){ - //for BS30 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){ - //for BS40 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){ - //for BS42 - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } - - //dataHoppingConfig_r12 - SL_CommResourcePool->dataHoppingConfig_r12.hoppingParameter_r12 = 0; - SL_CommResourcePool->dataHoppingConfig_r12.numSubbands_r12 = SL_HoppingConfigComm_r12__numSubbands_r12_ns1; - SL_CommResourcePool->dataHoppingConfig_r12.rb_Offset_r12 = 0; - - //ue_SelectedResourceConfig_r12 - SL_CommResourcePool->ue_SelectedResourceConfig_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->ue_SelectedResourceConfig_r12)); - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Num_r12 = 20; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Start_r12 = 5; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_End_r12 = 44; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.present = SL_OffsetIndicator_r12_PR_small_r12; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = 0 ; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.present = SubframeBitmapSL_r12_PR_bs40_r12; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = 5; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = CALLOC(1,5); - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = 0; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[0] = 0xF0; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[1] = 0xFF; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[2] = 0xFF; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[3] = 0xFF; - SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf[4] = 0xFF; - //SL_CommResourcePool->ue_SelectedResourceConfig_r12->trpt_Subset_r12 = CALLOC (1, sizeof(*SL_CommResourcePool->ue_SelectedResourceConfig_r12->trpt_Subset_r12)); - //rxParametersNCell_r12 - SL_CommResourcePool->rxParametersNCell_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->rxParametersNCell_r12)); - SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12)); - SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12->subframeAssignment = 0 ; - SL_CommResourcePool->rxParametersNCell_r12->tdd_Config_r12->specialSubframePatterns = 0; - SL_CommResourcePool->rxParametersNCell_r12->syncConfigIndex_r12 = 0; - //txParameters_r12 - SL_CommResourcePool->txParameters_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->txParameters_r12)); - SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.alpha_r12 = Alpha_r12_al0; - SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.p0_r12 = 0; - - SL_CommResourcePool->ext1 = NULL ; - //end SL_CommResourcePool - //add SL_CommResourcePool to SL_CommRxPoolList - ASN_SEQUENCE_ADD(&SL_CommRxPoolList->list,SL_CommResourcePool); - //end commRxPool_r12 - - //TODO: commTxPoolNormalCommon_r12, similar to commRxPool_r12 - //TODO: commTxPoolExceptional_r12 - //TODO: commSyncConfig_r12 - // may add commTxResourceUC-ReqAllowed with Ext1 - (*sib18)->ext1 = NULL; - (*sib18)->lateNonCriticalExtension = NULL; - // end SIB18 - - // SIB19 - // fill in all elements of SIB19 if present - - //discConfig_r12 - (*sib19)->discConfig_r12 = CALLOC (1, sizeof(*(*sib19)->discConfig_r12)); - SL_DiscRxPoolList = &(*sib19)->discConfig_r12->discRxPool_r12; - memset(SL_DiscRxPoolList,0,sizeof(*SL_DiscRxPoolList)); - //fill SL_DiscResourcePool - SL_DiscResourcePool = CALLOC(1, sizeof(*SL_DiscResourcePool)); - - SL_DiscResourcePool->cp_Len_r12 = configuration->discRxPool_cp_Len[CC_id]; - SL_DiscResourcePool->discPeriod_r12 = configuration->discRxPool_discPeriod[CC_id]; - //sc_TF_ResourceConfig_r12 - SL_DiscResourcePool->numRetx_r12 = configuration->discRxPool_numRetx[CC_id]; - SL_DiscResourcePool->numRepetition_r12 = configuration->discRxPool_numRepetition[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.prb_Num_r12 = configuration->discRxPool_ResourceConfig_prb_Num[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.prb_Start_r12 = configuration->discRxPool_ResourceConfig_prb_Start[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.prb_End_r12 = configuration->discRxPool_ResourceConfig_prb_End[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present = configuration->discRxPool_ResourceConfig_offsetIndicator_present[CC_id]; - if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) { - SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->discRxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; - } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){ - SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->discRxPool_ResourceConfig_offsetIndicator_choice[CC_id] ; - } - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present = configuration->discRxPool_ResourceConfig_subframeBitmap_present[CC_id]; - if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){ - //for BS4 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){ - //for BS8 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){ - //for BS12 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){ - //for BS16 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){ - //for BS30 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){ - //for BS40 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){ - //for BS42 - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } - - //add SL_DiscResourcePool to SL_DiscRxPoolList - ASN_SEQUENCE_ADD(&SL_DiscRxPoolList->list,SL_DiscResourcePool); - -/* - //for DiscRxPoolPS - (*sib19)->ext1 = CALLOC (1, sizeof(*(*sib19)->ext1)); - (*sib19)->ext1->discConfigPS_13 = CALLOC (1, sizeof(*((*sib19)->ext1->discConfigPS_13))); - - SL_DiscRxPoolPSList = &(*sib19)->ext1->discConfigPS_13->discRxPoolPS_r13; - memset(SL_DiscRxPoolPSList,0,sizeof(*SL_DiscRxPoolPSList)); - //fill SL_DiscResourcePool - SL_DiscResourcePoolPS = CALLOC(1, sizeof(*SL_DiscResourcePoolPS)); - - SL_DiscResourcePoolPS->cp_Len_r12 = configuration->discRxPoolPS_cp_Len[CC_id]; - SL_DiscResourcePoolPS->discPeriod_r12 = configuration->discRxPoolPS_discPeriod[CC_id]; - //sc_TF_ResourceConfig_r12 - SL_DiscResourcePoolPS->numRetx_r12 = configuration->discRxPoolPS_numRetx[CC_id]; - SL_DiscResourcePoolPS->numRepetition_r12 = configuration->discRxPoolPS_numRepetition[CC_id]; - - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.prb_Num_r12 = configuration->discRxPoolPS_ResourceConfig_prb_Num[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.prb_Start_r12 = configuration->discRxPoolPS_ResourceConfig_prb_Start[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.prb_End_r12 = configuration->discRxPoolPS_ResourceConfig_prb_End[CC_id]; - - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.present = configuration->discRxPoolPS_ResourceConfig_offsetIndicator_present[CC_id]; - if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) { - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->discRxPoolPS_ResourceConfig_offsetIndicator_choice[CC_id] ; - } else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){ - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->discRxPoolPS_ResourceConfig_offsetIndicator_choice[CC_id] ; - } - - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_present[CC_id]; - if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){ - //for BS4 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){ - //for BS8 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){ - //for BS12 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){ - //for BS16 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){ - //for BS30 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){ - //for BS40 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - }else if (SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){ - //for BS42 - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[CC_id]; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];; - SL_DiscResourcePoolPS->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.bits_unused = configuration->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id]; - } - - //add SL_DiscResourcePool to SL_DiscRxPoolList - ASN_SEQUENCE_ADD(&SL_DiscRxPoolPSList->list,SL_DiscResourcePoolPS); -*/ - - (*sib19)->lateNonCriticalExtension = NULL; - //end SIB19 - - //SIB21 - (*sib21)->sl_V2X_ConfigCommon_r14 = CALLOC (1, sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14)); - //SL_V2X_ConfigCommon= (*sib21)->sl_V2X_ConfigCommon_r14; - memset((*sib21)->sl_V2X_ConfigCommon_r14,0,sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14)); - - struct SL_CommRxPoolListV2X_r14 *SL_CommRxPoolListV2X; - struct SL_CommResourcePoolV2X_r14 *SL_CommResourcePoolV2X; - (*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14 = CALLOC(1, sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14)); - SL_CommRxPoolListV2X = (*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14; - - SL_CommResourcePoolV2X = CALLOC(1, sizeof(*SL_CommResourcePoolV2X)); - memset(SL_CommResourcePoolV2X,0,sizeof(*SL_CommResourcePoolV2X)); - - SL_CommResourcePoolV2X->sl_OffsetIndicator_r14 = CALLOC(1, sizeof(*SL_CommResourcePoolV2X->sl_OffsetIndicator_r14)); - SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->present = SL_OffsetIndicator_r12_PR_small_r12; - SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->choice.small_r12 = 0; - SL_CommResourcePoolV2X->sl_Subframe_r14.present = SubframeBitmapSL_r14_PR_bs40_r14; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.size = 5; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf = CALLOC(1,5); - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.bits_unused = 0; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[0] = 0xF0; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[1] = 0xFF; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[2] = 0xFF; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[3] = 0xFF; - SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf[4] = 0xFF; - - SL_CommResourcePoolV2X->adjacencyPSCCH_PSSCH_r14 = 1; - SL_CommResourcePoolV2X->sizeSubchannel_r14 = 10; - SL_CommResourcePoolV2X->numSubchannel_r14 = 5; - SL_CommResourcePoolV2X->startRB_Subchannel_r14 = 10; - - //rxParametersNCell_r12 - SL_CommResourcePoolV2X->rxParametersNCell_r14 = CALLOC (1, sizeof (*SL_CommResourcePoolV2X->rxParametersNCell_r14)); - SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14 = CALLOC (1, sizeof (*SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14)); - SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14->subframeAssignment = 0 ; - SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14->specialSubframePatterns = 0; - SL_CommResourcePoolV2X->rxParametersNCell_r14->syncConfigIndex_r14 = 0; - - ASN_SEQUENCE_ADD(&SL_CommRxPoolListV2X->list,SL_CommResourcePoolV2X); - //end SIB21 #endif - + bcch_message->message.present = BCCH_DL_SCH_MessageType_PR_c1; bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType__c1_PR_systemInformation; @@ -2158,7 +2160,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib3_part); #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - if (MBMS_flag > 0) { + if (configuration->eMBMS_configured > 0) { ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); } #endif diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index 0faffc3983..d29a26a427 100755 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -140,11 +140,8 @@ openair_rrc_on( static void init_SI( const protocol_ctxt_t* const ctxt_pP, - const int CC_id -#if defined(ENABLE_ITTI) - , + const int CC_id, RrcConfigurationReq * configuration -#endif ) //----------------------------------------------------------------------------- { @@ -176,20 +173,12 @@ init_SI( LOG_I(RRC, "configuration->schedulingInfoSIB1_BR_r13[CC_id] %d\n",(int)configuration->schedulingInfoSIB1_BR_r13[CC_id]); #endif do_MIB(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id], -#ifdef ENABLE_ITTI configuration->N_RB_DL[CC_id], (int)configuration->radioresourceconfig[CC_id].phich_resource, (int)configuration->radioresourceconfig[CC_id].phich_duration, 0 -#else - 50, 0, 0, 0 -#endif #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) -#ifdef ENABLE_ITTI ,configuration->schedulingInfoSIB1_BR_r13[CC_id] -#else - ,0 -#endif #endif ); @@ -205,9 +194,7 @@ init_SI( #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,FALSE #endif -#if defined(ENABLE_ITTI) , configuration -#endif ); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 != 255,"FATAL, RC.rrc[enb_mod_idP].carrier[CC_id].sizeof_SIB1 == 255"); @@ -219,9 +206,7 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].SIB1_BR = (uint8_t*) malloc16(32); RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1_BR = do_SIB1(&RC.rrc[ctxt_pP->module_id]->carrier[CC_id],ctxt_pP->module_id,CC_id ,TRUE -#if defined(ENABLE_ITTI) , configuration -#endif ); } #endif @@ -234,9 +219,7 @@ init_SI( #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,FALSE #endif -#if defined(ENABLE_ITTI) , configuration -#endif ); AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB23 != 255,"FATAL, RC.rrc[mod].carrier[CC_id].sizeof_SIB23 == 255"); @@ -252,10 +235,8 @@ init_SI( #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) ,TRUE #endif -#if defined(ENABLE_ITTI) ,configuration ); -#endif } #endif @@ -315,7 +296,6 @@ init_SI( RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset); } -#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0)) // SIB13 for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.count; i++) { LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN sync area %d/%d (partial)\n", @@ -329,80 +309,83 @@ init_SI( PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_Offset_r9); } -#endif } else memset((void*)&RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13,0,sizeof(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13)); //TTN - SIB 18 - for (int j = 0; j < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.count; j++) { - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Contents of SIB18 %d/%d \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - j+1, - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.count); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 rxPool_sc_CP_Len: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_CP_Len_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 sc_Period_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_Period_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 data_CP_Len_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->data_CP_Len_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 prb_Num_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.prb_Num_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 prb_Start_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.prb_Start_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 prb_End_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.prb_End_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 offsetIndicator: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 subframeBitmap_choice_bs_buf: %s \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf); + if (configuration->SL_configured>0) { + for (int j = 0; j < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.count; j++) { + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Contents of SIB18 %d/%d \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + j+1, + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.count); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 rxPool_sc_CP_Len: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_CP_Len_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 sc_Period_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_Period_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 data_CP_Len_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->data_CP_Len_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 prb_Num_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.prb_Num_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 prb_Start_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.prb_Start_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 prb_End_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.prb_End_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 offsetIndicator: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB18 subframeBitmap_choice_bs_buf: %s \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib18->commConfig_r12->commRxPool_r12.list.array[j]->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf); + + } + + + + for (int j = 0; j < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.count; j++) { + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Contents of SIB19 %d/%d \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + j+1, + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.count); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 cp_Len_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->cp_Len_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 discPeriod_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->discPeriod_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 numRetx_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->numRetx_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 numRepetition_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->numRepetition_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 prb_Num_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.prb_Num_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 prb_Start_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.prb_Start_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 prb_End_r12: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.prb_End_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 offsetIndicator: %ld \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12); + LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 subframeBitmap_choice_bs_buf: %s \n", + PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), + RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf); + + } } - //TTN - SIB 19 - for (int j = 0; j < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.count; j++) { - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Contents of SIB19 %d/%d \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - j+1, - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.count); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 cp_Len_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->cp_Len_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 discPeriod_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->discPeriod_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 numRetx_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->numRetx_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 numRepetition_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->numRepetition_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 prb_Num_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.prb_Num_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 prb_Start_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.prb_Start_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 prb_End_r12: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.prb_End_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 offsetIndicator: %ld \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12); - LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB19 tf_ResourceConfig_r12 subframeBitmap_choice_bs_buf: %s \n", - PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), - RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib19->discConfig_r12->discRxPool_r12.list.array[j]->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf); - - } - -#endif +#endif // (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n", diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf index 382cc9d2fc..d33a9dc41f 100755 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf @@ -15,9 +15,7 @@ eNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = "1"; - mobile_country_code = "208"; - - mobile_network_code = "92"; + plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2;} ); tr_s_preference = "local_mac" @@ -106,10 +104,10 @@ eNBs = ue_TimersAndConstants_n311 = "n1"; ue_TransmissionMode = "tm1"; - # BR Parameters - br_parameters : + # eMTC Parameters + emtc_parameters : { - + eMTC_configured = 1; #hyperSFN_r13 = 0; #eDRX_Allowed_r13 = 0; #q_QualMinRSRQ_CE_r13 = ; @@ -155,9 +153,9 @@ eNBs = # SIB23 frame_type = "FDD"; - preambleTransMax_CE_r13 = "n10"; #6 + preambleTransMax_CE_r13 = 10; #6 - rach_numberOfRA_Preambles = "n60"; #14 + rach_numberOfRA_Preambles = 60; #14 rach_powerRampingStep = 4; rach_preambleInitialReceivedTargetPower = -110; rach_preambleTransMax = 10; @@ -171,8 +169,8 @@ eNBs = { firstPreamble_r13 = 60; lastPreamble_r13 = 63; - ra_ResponseWindowSize_r13 = "sf20"; #0 - mac_ContentionResolutionTimer_r13 = "sf80"; #0 + ra_ResponseWindowSize_r13 = 20; #0 + mac_ContentionResolutionTimer_r13 = 80; #0 rar_HoppingConfig_r13 = "off"; #1; } ); @@ -252,11 +250,11 @@ eNBs = { prach_config_index_br = 3; prach_freq_offset_br = 2; - prach_StartingSubframe_r13 = 0; - maxNumPreambleAttemptCE_r13 = "n10"; #6 - numRepetitionPerPreambleAttempt_r13 = "n1"; #0 - mpdcch_NumRepetition_RA_r13 = "r1"; #0 - prach_HoppingConfig_r13 = "off"; #1 + prach_StartingSubframe_r13 = 2; + maxNumPreambleAttemptCE_r13 = 10; #6 + numRepetitionPerPreambleAttempt_r13 = 1; #0 + mpdcch_NumRepetition_RA_r13 = 1; #0 + prach_HoppingConfig_r13 = 0; #1 max_available_narrow_band = [3]; } ); @@ -370,6 +368,9 @@ eNBs = ENB_INTERFACE_NAME_FOR_S1U = "lo"; ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.4/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 + + ENB_IPV4_ADDRESS_FOR_X2C = "127.0.0.2/24"; + ENB_PORT_FOR_X2C = 36422; # Spec 36422 }; log_config : @@ -393,31 +394,34 @@ eNBs = ); MACRLCs = ( - { - num_cc = 1; - tr_s_preference = "local_L1"; - tr_n_preference = "local_RRC"; + { + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; + phy_test_mode = 0; + puSch10xSnr = 200; + puCch10xSnr = 200; } ); L1s = ( { - num_cc = 1; - tr_n_preference = "local_mac"; - } + num_cc = 1; + tr_n_preference = "local_mac"; + } ); RUs = ( { - local_rf = "yes" - nb_tx = 1 - nb_rx = 1 - att_tx = 0 - att_rx = 0; - bands = [13]; - max_pdschReferenceSignalPower = -27; - max_rxgain = 125; - eNB_instances = [0]; + local_rf = "yes" + nb_tx = 1 + nb_rx = 1 + att_tx = 0 + att_rx = 0; + bands = [13]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 125; + eNB_instances = [0]; } ); From 7474b69c2960b201dc2fabe5ea08fa3051dde12b Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 19 Nov 2018 09:26:03 +0100 Subject: [PATCH 096/109] added missing files. updates for testing in eMTC configuration after merge. --- openair1/SCHED/fapi_l1.c | 4 +- openair2/ENB_APP/enb_config_SL.c | 293 ++++ openair2/ENB_APP/enb_config_eMTC.c | 1210 +++++++++++++++++ openair2/ENB_APP/enb_paramdef_sidelink.h | 183 +++ openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 5 - .../LAYER2/MAC/eNB_scheduler_primitives.c | 3 +- 6 files changed, 1689 insertions(+), 9 deletions(-) create mode 100644 openair2/ENB_APP/enb_config_SL.c create mode 100644 openair2/ENB_APP/enb_config_eMTC.c create mode 100644 openair2/ENB_APP/enb_paramdef_sidelink.h diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 05ec1a7ce4..3c3f3b5136 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -98,9 +98,9 @@ void handle_nfapi_hi_dci0_mpdcch_dci_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc nfapi_hi_dci0_request_pdu_t *hi_dci0_config_pdu) { int idx = proc->subframe_tx&1; - LTE_eNB_PDCCH *pdcch_vars = &eNB->mpdcch_vars[idx]; + LTE_eNB_MPDCCH *pdcch_vars = &eNB->mpdcch_vars[idx]; // copy dci configuration in to eNB structure - fill_mpdcch_dci0(eNB,proc,&pdcch_vars->dci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->dci_pdu); + fill_mpdcch_dci0(eNB,proc,&pdcch_vars->mdci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->dci_pdu); } void handle_nfapi_hi_dci0_hi_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc, diff --git a/openair2/ENB_APP/enb_config_SL.c b/openair2/ENB_APP/enb_config_SL.c new file mode 100644 index 0000000000..7e3b4c09aa --- /dev/null +++ b/openair2/ENB_APP/enb_config_SL.c @@ -0,0 +1,293 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +/* + enb_config_SL.c + ------------------- + AUTHOR : T.T.Nguyen / R. Knopp + COMPANY : EURECOM + EMAIL : raymond.knopp@eurecom.fr +*/ + +#include +#include + +#include "common/utils/LOG/log.h" +#include "assertions.h" +#include "enb_config.h" +#include "intertask_interface.h" +#include "SystemInformationBlockType2.h" +#include "common/config/config_userapi.h" +#include "RRC_config_tools.h" +#include "enb_paramdef.h" +#include "enb_paramdef_sidelink.h" + +void fill_SL_configuration(MessageDef *msg_p, ccparams_sidelink_t *SLconfig,int cell_idx,int cc_idx,char *config_fname) { + + printf("Configuring SL\n"); + //SIB18 + if (strcmp(SLconfig->rxPool_sc_CP_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[cc_idx] = LTE_SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig->rxPool_sc_CP_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[cc_idx] = LTE_SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_CP_Len choice: normal,extended!\n", + config_fname, cell_idx, SLconfig->rxPool_sc_CP_Len); + + if (strcmp(SLconfig->rxPool_sc_Period,"sf40")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf40; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf60")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf60; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf70")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf70; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf80")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf80; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf120")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf120; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf140")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf140; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf160")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf160; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf240")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf240; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf280")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf280; + } else if (strcmp(SLconfig->rxPool_sc_Period,"sf320")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_sf320; + } else if (strcmp(SLconfig->rxPool_sc_Period,"spare6")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_spare6; + } else if (strcmp(SLconfig->rxPool_sc_Period,"spare5")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_spare5; + } else if (strcmp(SLconfig->rxPool_sc_Period,"spare4")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_spare4; + } else if (strcmp(SLconfig->rxPool_sc_Period,"spare3")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_spare3; + } else if (strcmp(SLconfig->rxPool_sc_Period,"spare2")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_spare2; + } else if (strcmp(SLconfig->rxPool_sc_Period,"spare")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[cc_idx] = LTE_SL_PeriodComm_r12_spare; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_Period choice: sf40,sf60,sf70,sf80,sf120,sf140,sf160,sf240,sf280,sf320,spare6,spare5,spare4,spare3,spare2,spare!\n", + config_fname, cell_idx, SLconfig->rxPool_sc_Period); + + if (strcmp(SLconfig->rxPool_data_CP_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[cc_idx] = LTE_SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig->rxPool_data_CP_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[cc_idx] = LTE_SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_data_CP_Len choice: normal,extended!\n", + config_fname, cell_idx, SLconfig->rxPool_data_CP_Len); + + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Num[cc_idx] = SLconfig->rxPool_ResourceConfig_prb_Num; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_Start[cc_idx] = SLconfig->rxPool_ResourceConfig_prb_Start; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_End[cc_idx] = SLconfig->rxPool_ResourceConfig_prb_End; + + if (strcmp(SLconfig->rxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_NOTHING; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_small_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_large_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", + config_fname, cell_idx, SLconfig->rxPool_ResourceConfig_offsetIndicator_present); + + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_choice[cc_idx] = SLconfig->rxPool_ResourceConfig_offsetIndicator_choice; + + if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_NOTHING; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs4_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs8_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs12_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs16_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs30_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs40_r12; + } else if (strcmp(SLconfig->rxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs42_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", + config_fname, cell_idx, SLconfig->rxPool_ResourceConfig_subframeBitmap_present); + + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[cc_idx] = SLconfig->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_size[cc_idx] = SLconfig->rxPool_ResourceConfig_subframeBitmap_choice_bs_size; + RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[cc_idx] = SLconfig->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + + //SIB19 - for discRxPool + if (strcmp(SLconfig->discRxPool_cp_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[cc_idx] = LTE_SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig->discRxPool_cp_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[cc_idx] = LTE_SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_cp_Len choice: normal,extended!\n", + config_fname, cell_idx, SLconfig->discRxPool_cp_Len); + + if (strcmp(SLconfig->discRxPool_discPeriod,"rf32")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf32; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"rf64")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf64; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"rf128")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf128; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"rf256")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf256; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"rf512")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf512; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"rf1024")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf1024; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"rf16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; + } else if (strcmp(SLconfig->discRxPool_discPeriod,"spare")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_spare; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", + config_fname, cell_idx, SLconfig->discRxPool_discPeriod); + + RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRetx[cc_idx] = SLconfig->discRxPool_numRetx; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_numRepetition[cc_idx] = SLconfig->discRxPool_numRepetition; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Num[cc_idx] = SLconfig->discRxPool_ResourceConfig_prb_Num; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_Start[cc_idx] = SLconfig->discRxPool_ResourceConfig_prb_Start; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_End[cc_idx] = SLconfig->discRxPool_ResourceConfig_prb_End; + + if (strcmp(SLconfig->discRxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_NOTHING; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_small_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_large_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", + config_fname, cell_idx, SLconfig->discRxPool_ResourceConfig_offsetIndicator_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_choice[cc_idx] = SLconfig->discRxPool_ResourceConfig_offsetIndicator_choice; + + if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_NOTHING; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs4_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs8_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs12_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs16_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs30_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs40_r12; + } else if (strcmp(SLconfig->discRxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs42_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", + config_fname, cell_idx, SLconfig->discRxPool_ResourceConfig_subframeBitmap_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[cc_idx] = SLconfig->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[cc_idx] = SLconfig->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; + RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[cc_idx] = SLconfig->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + + //SIB19 - For discRxPoolPS + if (strcmp(SLconfig->discRxPoolPS_cp_Len,"normal")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[cc_idx] = LTE_SL_CP_Len_r12_normal; + } else if (strcmp(SLconfig->discRxPoolPS_cp_Len,"extended")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[cc_idx] = LTE_SL_CP_Len_r12_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_cp_Len choice: normal,extended!\n", + config_fname, cell_idx, SLconfig->discRxPoolPS_cp_Len); + + if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf32")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf32; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf64")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf64; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf128")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf128; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf256")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf256; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf512")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf512; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf1024")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf1024; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"rf16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310; + } else if (strcmp(SLconfig->discRxPoolPS_discPeriod,"spare")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[cc_idx] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_spare; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n", + config_fname, cell_idx, SLconfig->discRxPoolPS_discPeriod); + + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRetx[cc_idx] = SLconfig->discRxPoolPS_numRetx; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_numRepetition[cc_idx] = SLconfig->discRxPoolPS_numRepetition; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Num[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_prb_Num; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_Start[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_prb_Start; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_End[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_prb_End; + + if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_offsetIndicator_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_NOTHING; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_offsetIndicator_present,"prSmall")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_small_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_offsetIndicator_present,"prLarge")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[cc_idx] = LTE_SL_OffsetIndicator_r12_PR_large_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n", + config_fname, cell_idx, SLconfig->discRxPoolPS_ResourceConfig_offsetIndicator_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_choice[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_offsetIndicator_choice; + + if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prNothing")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_NOTHING; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs4")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs4_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs8")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs8_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs12")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs12_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs16")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs16_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs30")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs30_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs40")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs40_r12; + } else if (strcmp(SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs42")==0) { + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[cc_idx] = LTE_SubframeBitmapSL_r12_PR_bs42_r12; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n", + config_fname, cell_idx, SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_present); + + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; + RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[cc_idx] = SLconfig->discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; +} // sidelink_configured==1 diff --git a/openair2/ENB_APP/enb_config_eMTC.c b/openair2/ENB_APP/enb_config_eMTC.c new file mode 100644 index 0000000000..d43e639f1f --- /dev/null +++ b/openair2/ENB_APP/enb_config_eMTC.c @@ -0,0 +1,1210 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +/* + enb_config_SL.c + ------------------- + AUTHOR : R. Knopp + COMPANY : EURECOM + EMAIL : raymond.knopp@eurecom.fr +*/ + +#include +#include + +#include "common/utils/LOG/log.h" +#include "assertions.h" +#include "enb_config.h" +#include "intertask_interface.h" +#include "SystemInformationBlockType2.h" +#include "common/config/config_userapi.h" +#include "RRC_config_tools.h" +#include "enb_paramdef.h" + +void fill_eMTC_configuration(MessageDef *msg_p, ccparams_eMTC_t *eMTCconfig, int cell_idx,int cc_idx,char *config_fname,char *brparamspath) { + + paramdef_t schedulingInfoBrParams[] = SI_INFO_BR_DESC(eMTCconfig); + paramlist_def_t schedulingInfoBrParamList = {ENB_CONFIG_STRING_SCHEDULING_INFO_BR, NULL, 0}; + paramdef_t rachcelevelParams[] = RACH_CE_LEVELINFOLIST_R13_DESC(eMTCconfig); + paramlist_def_t rachcelevellist = {ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, NULL, 0}; + paramdef_t rsrprangeParams[] = RSRP_RANGE_LIST_DESC(eMTCconfig); + paramlist_def_t rsrprangelist = {ENB_CONFIG_STRING_RSRP_RANGE_LIST, NULL, 0}; + paramdef_t prachParams[] = PRACH_PARAMS_CE_R13_DESC(eMTCconfig); + paramlist_def_t prachParamslist = {ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, NULL, 0}; + paramdef_t n1PUCCH_ANR13Params[] = N1PUCCH_AN_INFOLIST_R13_DESC(eMTCconfig); + paramlist_def_t n1PUCCHInfoList = {ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, NULL, 0}; + paramdef_t pcchv1310Params[] = PCCH_CONFIG_V1310_DESC(eMTCconfig); + paramdef_t sib2freqhoppingParams[] = SIB2_FREQ_HOPPING_R13_DESC(eMTCconfig); + + + + printf("Found parameters for eMTC from %s : %s\n",config_fname,brparamspath); + RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[cc_idx] = eMTCconfig->schedulingInfoSIB1_BR_r13; + + + if (!strcmp(eMTCconfig->cellSelectionInfoCE_r13, "ENABLE")) { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[cc_idx] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).q_RxLevMinCE_r13[cc_idx]= eMTCconfig->q_RxLevMinCE_r13; + // RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[cc_idx]= calloc(1, sizeof(long)); + // *RRC_CONFIGURATION_REQ(msg_p).q_QualMinRSRQ_CE_r13[cc_idx]= q_QualMinRSRQ_CE_r13; + } else { + RRC_CONFIGURATION_REQ(msg_p).cellSelectionInfoCE_r13[cc_idx] = FALSE; + } + + + + if (!strcmp(eMTCconfig->bandwidthReducedAccessRelatedInfo_r13, "ENABLE")) { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[cc_idx] = TRUE; + + + + if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms20")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 0; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms40")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 1; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms60")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 2; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms80")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 3; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms120")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 4; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms160")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 5; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "ms200")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 6; + } else if (!strcmp(eMTCconfig->si_WindowLength_BR_r13, "spare")) { + RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[cc_idx] = 7; + } + + + if (!strcmp(eMTCconfig->si_RepetitionPattern_r13, "everyRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[cc_idx] = 0; + } else if (!strcmp(eMTCconfig->si_RepetitionPattern_r13, "every2ndRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[cc_idx] = 1; + } else if (!strcmp(eMTCconfig->si_RepetitionPattern_r13, "every4thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[cc_idx] = 2; + } else if (!strcmp(eMTCconfig->si_RepetitionPattern_r13, "every8thRF")) { + RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[cc_idx] = 3; + } + + } else { + RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[cc_idx] = FALSE; + } + + char schedulingInfoBrPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&schedulingInfoBrParamList, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[cc_idx] = schedulingInfoBrParamList.numelt; + int siInfoindex; + for (siInfoindex = 0; siInfoindex < schedulingInfoBrParamList.numelt; siInfoindex++) { + sprintf(schedulingInfoBrPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_EMTC_PARAMETERS, siInfoindex); + config_get(schedulingInfoBrParams, sizeof(schedulingInfoBrParams) / sizeof(paramdef_t), schedulingInfoBrPath); + RRC_CONFIGURATION_REQ (msg_p).si_Narrowband_r13[cc_idx][siInfoindex] = eMTCconfig->si_Narrowband_r13; + RRC_CONFIGURATION_REQ (msg_p).si_TBS_r13[cc_idx][siInfoindex] = eMTCconfig->si_TBS_r13; + } + + + + // RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[cc_idx].system_info_value_tag_SI_size[cc_idx] = 0; + + + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[cc_idx] = CALLOC(1, sizeof(BOOLEAN_t)); + if (!strcmp(eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_r13, "subframePattern40-r13")) { + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[cc_idx] = FALSE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[cc_idx] = eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + } else { + *RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[cc_idx] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_val_r13[cc_idx] = eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_val_r13; + } + + RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[cc_idx] = eMTCconfig->startSymbolBR_r13; + + + if (!strcmp(eMTCconfig->si_HoppingConfigCommon_r13, "off")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[cc_idx] = 1; + } else if (!strcmp(eMTCconfig->si_HoppingConfigCommon_r13, "on")) { + RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[cc_idx] = 0; + } + + + RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[cc_idx] = calloc(1, sizeof(long)); + if (!strcmp(eMTCconfig->si_ValidityTime_r13, "true")) { + *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[cc_idx] = 0; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d si_ValidityTime_r13 unknown value!\n", + config_fname, cell_idx); + } + + + if (!strcmp(eMTCconfig->freqHoppingParametersDL_r13, "ENABLE")) + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[cc_idx] = TRUE; + + if (!strcmp(eMTCconfig->interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[cc_idx] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[cc_idx] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13_val[cc_idx] = eMTCconfig->interval_DLHoppingConfigCommonModeA_r13_val; + + if (!strcmp(eMTCconfig->interval_DLHoppingConfigCommonModeB_r13, "interval-TDD-r13")) + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[cc_idx] = FALSE; + else + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13[cc_idx] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeB_r13_val[cc_idx] = eMTCconfig->interval_DLHoppingConfigCommonModeB_r13_val; + + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[cc_idx] = calloc(1, sizeof(long)); + if (!strcmp(eMTCconfig->mpdcch_pdsch_HoppingNB_r13, "nb2")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[cc_idx] = 0; + } else if (!strcmp(eMTCconfig->mpdcch_pdsch_HoppingNB_r13, "nb4")) { + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[cc_idx] = 1; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_pdsch_HoppingNB_r13 unknown value!\n", + config_fname, cell_idx); + } + + + RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[cc_idx] = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingOffset_r13[cc_idx] = eMTCconfig->mpdcch_pdsch_HoppingOffset_r13; + + } + else + { + RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[cc_idx] = FALSE; + } + + /** ------------------------------SIB2/3 BR------------------------------------------ */ + + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].prach_root = eMTCconfig->ccparams.prach_root; + + if ((eMTCconfig->ccparams.prach_root <0) || (eMTCconfig->ccparams.prach_root > 1023)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.prach_root); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].prach_config_index = eMTCconfig->ccparams.prach_config_index; + + if ((eMTCconfig->ccparams.prach_config_index <0) || (eMTCconfig->ccparams.prach_config_index > 63)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.prach_config_index); + + if (!eMTCconfig->ccparams.prach_high_speed) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + config_fname, cell_idx,ENB_CONFIG_STRING_PRACH_HIGH_SPEED); + else if (strcmp(eMTCconfig->ccparams.prach_high_speed, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].prach_high_speed = TRUE; + } else if (strcmp(eMTCconfig->ccparams.prach_high_speed, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].prach_high_speed = FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n", + config_fname, cell_idx,eMTCconfig->ccparams.prach_high_speed); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].prach_zero_correlation = eMTCconfig->ccparams.prach_zero_correlation; + + if ((eMTCconfig->ccparams.prach_zero_correlation <0) || (eMTCconfig->ccparams.prach_zero_correlation > 15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n", + config_fname, cell_idx,eMTCconfig->ccparams.prach_zero_correlation); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].prach_freq_offset = eMTCconfig->ccparams.prach_freq_offset; + + if ((eMTCconfig->ccparams.prach_freq_offset <0) || (eMTCconfig->ccparams.prach_freq_offset > 94)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n", + config_fname, cell_idx,eMTCconfig->ccparams.prach_freq_offset); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_delta_shift = eMTCconfig->ccparams.pucch_delta_shift-1; + + if ((eMTCconfig->ccparams.pucch_delta_shift <1) || (eMTCconfig->ccparams.pucch_delta_shift > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_delta_shift); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_nRB_CQI = eMTCconfig->ccparams.pucch_nRB_CQI; + + if ((eMTCconfig->ccparams.pucch_nRB_CQI <0) || (eMTCconfig->ccparams.pucch_nRB_CQI > 98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_nRB_CQI); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_nCS_AN = eMTCconfig->ccparams.pucch_nCS_AN; + + if ((eMTCconfig->ccparams.pucch_nCS_AN <0) || (eMTCconfig->ccparams.pucch_nCS_AN > 7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_nCS_AN); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_n1_AN = eMTCconfig->ccparams.pucch_n1_AN; + + if ((eMTCconfig->ccparams.pucch_n1_AN <0) || (eMTCconfig->ccparams.pucch_n1_AN > 2047)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_n1_AN choice: 0..2047!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_n1_AN); + + //#endif + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pdsch_referenceSignalPower = eMTCconfig->ccparams.pdsch_referenceSignalPower; + + if ((eMTCconfig->ccparams.pdsch_referenceSignalPower <-60) || (eMTCconfig->ccparams.pdsch_referenceSignalPower > 50)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pdsch_referenceSignalPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pdsch_p_b = eMTCconfig->ccparams.pdsch_p_b; + + if ((eMTCconfig->ccparams.pdsch_p_b <0) || (eMTCconfig->ccparams.pdsch_p_b > 3)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pdsch_p_b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_n_SB = eMTCconfig->ccparams.pusch_n_SB; + + if ((eMTCconfig->ccparams.pusch_n_SB <1) || (eMTCconfig->ccparams.pusch_n_SB > 4)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_n_SB); + + if (!eMTCconfig->ccparams.pusch_hoppingMode) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n", + config_fname, cell_idx,ENB_CONFIG_STRING_PUSCH_HOPPINGMODE); + else if (strcmp(eMTCconfig->ccparams.pusch_hoppingMode,"interSubFrame")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_hoppingMode = LTE_PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame; + } else if (strcmp(eMTCconfig->ccparams.pusch_hoppingMode,"intraAndInterSubFrame")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_hoppingMode = LTE_PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_hoppingMode); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_hoppingOffset = eMTCconfig->ccparams.pusch_hoppingOffset; + + if ((eMTCconfig->ccparams.pusch_hoppingOffset<0) || (eMTCconfig->ccparams.pusch_hoppingOffset>98)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_hoppingMode); + + if (!eMTCconfig->ccparams.pusch_enable64QAM) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + config_fname, cell_idx,ENB_CONFIG_STRING_PUSCH_ENABLE64QAM); + else if (strcmp(eMTCconfig->ccparams.pusch_enable64QAM, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_enable64QAM = TRUE; + } else if (strcmp(eMTCconfig->ccparams.pusch_enable64QAM, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_enable64QAM = FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_enable64QAM); + + if (!eMTCconfig->ccparams.pusch_groupHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + config_fname, cell_idx,ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN); + else if (strcmp(eMTCconfig->ccparams.pusch_groupHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_groupHoppingEnabled = TRUE; + } else if (strcmp(eMTCconfig->ccparams.pusch_groupHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_groupHoppingEnabled= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_groupHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_groupAssignment = eMTCconfig->ccparams.pusch_groupAssignment; + + if ((eMTCconfig->ccparams.pusch_groupAssignment<0)||(eMTCconfig->ccparams.pusch_groupAssignment>29)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_groupAssignment); + + if (!eMTCconfig->ccparams.pusch_sequenceHoppingEnabled) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n", + config_fname, cell_idx,ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN); + else if (strcmp(eMTCconfig->ccparams.pusch_sequenceHoppingEnabled, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_sequenceHoppingEnabled = TRUE; + } else if (strcmp(eMTCconfig->ccparams.pusch_sequenceHoppingEnabled, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_sequenceHoppingEnabled = FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_sequenceHoppingEnabled); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_nDMRS1= eMTCconfig->ccparams.pusch_nDMRS1; //cyclic_shift in RRC! + + if ((eMTCconfig->ccparams.pusch_nDMRS1 <0) || (eMTCconfig->ccparams.pusch_nDMRS1>7)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_nDMRS1); + + if (strcmp(eMTCconfig->ccparams.phich_duration,"NORMAL")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_duration= LTE_PHICH_Config__phich_Duration_normal; + } else if (strcmp(eMTCconfig->ccparams.phich_duration,"EXTENDED")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_duration= LTE_PHICH_Config__phich_Duration_extended; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n", + config_fname, cell_idx,eMTCconfig->ccparams.phich_duration); + + if (strcmp(eMTCconfig->ccparams.phich_resource,"ONESIXTH")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_resource= LTE_PHICH_Config__phich_Resource_oneSixth ; + } else if (strcmp(eMTCconfig->ccparams.phich_resource,"HALF")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_resource= LTE_PHICH_Config__phich_Resource_half; + } else if (strcmp(eMTCconfig->ccparams.phich_resource,"ONE")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_resource= LTE_PHICH_Config__phich_Resource_one; + } else if (strcmp(eMTCconfig->ccparams.phich_resource,"TWO")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_resource= LTE_PHICH_Config__phich_Resource_two; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n", + config_fname, cell_idx,eMTCconfig->ccparams.phich_resource); + + printf("phich.resource eMTC %ld (%s), phich.duration eMTC %ld (%s)\n", + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_resource,eMTCconfig->ccparams.phich_resource, + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].phich_duration,eMTCconfig->ccparams.phich_duration); + + if (strcmp(eMTCconfig->ccparams.srs_enable, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_enable= TRUE; + } else if (strcmp(eMTCconfig->ccparams.srs_enable, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_enable= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + config_fname, cell_idx,eMTCconfig->ccparams.srs_enable); + + if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_enable== TRUE) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_BandwidthConfig= eMTCconfig->ccparams.srs_BandwidthConfig; + + if ((eMTCconfig->ccparams.srs_BandwidthConfig < 0) || (eMTCconfig->ccparams.srs_BandwidthConfig >7)) + AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n", + config_fname, cell_idx,eMTCconfig->ccparams.srs_BandwidthConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_SubframeConfig= eMTCconfig->ccparams.srs_SubframeConfig; + + if ((eMTCconfig->ccparams.srs_SubframeConfig<0) || (eMTCconfig->ccparams.srs_SubframeConfig>15)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.srs_SubframeConfig); + + if (strcmp(eMTCconfig->ccparams.srs_ackNackST, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_ackNackST= TRUE; + } else if (strcmp(eMTCconfig->ccparams.srs_ackNackST, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_ackNackST= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n", + config_fname, cell_idx,eMTCconfig->ccparams.srs_ackNackST); + + if (strcmp(eMTCconfig->ccparams.srs_MaxUpPts, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_MaxUpPts= TRUE; + } else if (strcmp(eMTCconfig->ccparams.srs_MaxUpPts, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].srs_MaxUpPts= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n", + config_fname, cell_idx,eMTCconfig->ccparams.srs_MaxUpPts); + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_p0_Nominal= eMTCconfig->ccparams.pusch_p0_Nominal; + + if ((eMTCconfig->ccparams.pusch_p0_Nominal<-126) || (eMTCconfig->ccparams.pusch_p0_Nominal>24)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_p0_Nominal); + + if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al0; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL04")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al04; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL05")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al05; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL06")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al06; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL07")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al07; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL08")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al08; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL09")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_Alpha_r12_al09; + } else if (strcmp(eMTCconfig->ccparams.pusch_alpha,"AL1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pusch_alpha= LTE_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", + config_fname, cell_idx,eMTCconfig->ccparams.pusch_alpha); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_p0_Nominal= eMTCconfig->ccparams.pucch_p0_Nominal; + + if ((eMTCconfig->ccparams.pucch_p0_Nominal<-127) || (eMTCconfig->ccparams.pucch_p0_Nominal>-96)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_p0_Nominal); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].msg3_delta_Preamble= eMTCconfig->ccparams.msg3_delta_Preamble; + + if ((eMTCconfig->ccparams.msg3_delta_Preamble<-1) || (eMTCconfig->ccparams.msg3_delta_Preamble>6)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.msg3_delta_Preamble); + + if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format1,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format1= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format1,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format1= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format1,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format1= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_deltaF_Format1); + + if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format1b,"deltaF1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format1b= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format1b,"deltaF3")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format1b= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format1b,"deltaF5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format1b= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_deltaF_Format1b); + + if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2,"deltaF1")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_deltaF_Format2); + + if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2a,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2a= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2a,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2a= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2a,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2a= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_deltaF_Format2a); + + if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2b,"deltaF_2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2b= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2b,"deltaF0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2b= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0; + } else if (strcmp(eMTCconfig->ccparams.pucch_deltaF_Format2b,"deltaF2")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pucch_deltaF_Format2b= LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pucch_deltaF_Format2b); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_numberOfRA_Preambles= (eMTCconfig->ccparams.rach_numberOfRA_Preambles/4)-1; + + if ((eMTCconfig->ccparams.rach_numberOfRA_Preambles <4) || (eMTCconfig->ccparams.rach_numberOfRA_Preambles >64) || ((eMTCconfig->ccparams.rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_numberOfRA_Preambles); + + if (strcmp(eMTCconfig->ccparams.rach_preamblesGroupAConfig, "ENABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preamblesGroupAConfig= TRUE; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_sizeOfRA_PreamblesGroupA= (eMTCconfig->ccparams.rach_sizeOfRA_PreamblesGroupA/4)-1; + + if ((eMTCconfig->ccparams.rach_numberOfRA_Preambles <4) || (eMTCconfig->ccparams.rach_numberOfRA_Preambles>60) || ((eMTCconfig->ccparams.rach_numberOfRA_Preambles&3)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_sizeOfRA_PreamblesGroupA); + + switch (eMTCconfig->ccparams.rach_messageSizeGroupA) { + case 56: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messageSizeGroupA= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56; + break; + + case 144: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messageSizeGroupA= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144; + break; + + case 208: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messageSizeGroupA= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messageSizeGroupA= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_messageSizeGroupA); + break; + } + + if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"minusinfinity")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB0")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB5")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB8")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB10")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB12")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB15")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15; + } else if (strcmp(eMTCconfig->ccparams.rach_messagePowerOffsetGroupB,"dB18")==0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_messagePowerOffsetGroupB= LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_messagePowerOffsetGroupB); + } else if (strcmp(eMTCconfig->ccparams.rach_preamblesGroupAConfig, "DISABLE") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preamblesGroupAConfig= FALSE; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_preamblesGroupAConfig); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleInitialReceivedTargetPower= (eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower+120)/2; + + if ((eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower<-120) || (eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower>-90) || ((eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_powerRampingStep= eMTCconfig->ccparams.rach_powerRampingStep/2; + + if ((eMTCconfig->ccparams.rach_powerRampingStep<0) || (eMTCconfig->ccparams.rach_powerRampingStep>6) || ((eMTCconfig->ccparams.rach_powerRampingStep&1)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_powerRampingStep); + + switch (eMTCconfig->ccparams.rach_preambleTransMax) { + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n7; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n8; + break; + + case 10: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n10; + break; + + case 20: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n20; + break; + + case 50: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n50; + break; + + case 100: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n100; + break; + + case 200: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_preambleTransMax= LTE_PreambleTransMax_n200; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_preambleTransMax); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_raResponseWindowSize= (eMTCconfig->ccparams.rach_raResponseWindowSize==10)?7:eMTCconfig->ccparams.rach_raResponseWindowSize-2; + + if ((eMTCconfig->ccparams.rach_raResponseWindowSize<0)||(eMTCconfig->ccparams.rach_raResponseWindowSize==9)||(eMTCconfig->ccparams.rach_raResponseWindowSize>10)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_raResponseWindowSize); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_macContentionResolutionTimer= (eMTCconfig->ccparams.rach_macContentionResolutionTimer/8)-1; + + if ((eMTCconfig->ccparams.rach_macContentionResolutionTimer<8) || (eMTCconfig->ccparams.rach_macContentionResolutionTimer>64) || ((eMTCconfig->ccparams.rach_macContentionResolutionTimer&7)!=0)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_macContentionResolutionTimer); + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].rach_maxHARQ_Msg3Tx= eMTCconfig->ccparams.rach_maxHARQ_Msg3Tx; + + if ((eMTCconfig->ccparams.rach_maxHARQ_Msg3Tx<0) || (eMTCconfig->ccparams.rach_maxHARQ_Msg3Tx>8)) + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n", + config_fname, cell_idx,eMTCconfig->ccparams.rach_maxHARQ_Msg3Tx); + + switch (eMTCconfig->ccparams.pcch_defaultPagingCycle) { + case 32: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_defaultPagingCycle= LTE_PCCH_Config__defaultPagingCycle_rf32; + break; + + case 64: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_defaultPagingCycle= LTE_PCCH_Config__defaultPagingCycle_rf64; + break; + + case 128: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_defaultPagingCycle= LTE_PCCH_Config__defaultPagingCycle_rf128; + break; + + case 256: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_defaultPagingCycle= LTE_PCCH_Config__defaultPagingCycle_rf256; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n", + config_fname, cell_idx,eMTCconfig->ccparams.pcch_defaultPagingCycle); + break; + } + + if (strcmp(eMTCconfig->ccparams.pcch_nB, "fourT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_fourT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "twoT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_twoT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "oneT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_oneT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "halfT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_halfT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "quarterT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_quarterT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "oneEighthT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_oneEighthT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "oneSixteenthT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_oneSixteenthT; + } else if (strcmp(eMTCconfig->ccparams.pcch_nB, "oneThirtySecondT") == 0) { + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].pcch_nB= LTE_PCCH_Config__nB_oneThirtySecondT; + } else + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n", + config_fname, cell_idx,eMTCconfig->ccparams.pcch_nB); + + switch (eMTCconfig->ccparams.bcch_modificationPeriodCoeff) { + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].bcch_modificationPeriodCoeff= LTE_BCCH_Config__modificationPeriodCoeff_n2; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].bcch_modificationPeriodCoeff= LTE_BCCH_Config__modificationPeriodCoeff_n4; + break; + + case 8: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].bcch_modificationPeriodCoeff= LTE_BCCH_Config__modificationPeriodCoeff_n8; + break; + + case 16: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].bcch_modificationPeriodCoeff= LTE_BCCH_Config__modificationPeriodCoeff_n16; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16", + config_fname, cell_idx,eMTCconfig->ccparams.bcch_modificationPeriodCoeff); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TimersAndConstants_t300= eMTCconfig->ccparams.ue_TimersAndConstants_t300; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TimersAndConstants_t301= eMTCconfig->ccparams.ue_TimersAndConstants_t301; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TimersAndConstants_t310= eMTCconfig->ccparams.ue_TimersAndConstants_t310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TimersAndConstants_t311= eMTCconfig->ccparams.ue_TimersAndConstants_t311; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TimersAndConstants_n310= eMTCconfig->ccparams.ue_TimersAndConstants_n310; + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TimersAndConstants_n311= eMTCconfig->ccparams.ue_TimersAndConstants_n311; + + switch (eMTCconfig->ccparams.ue_TransmissionMode) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm1; + break; + + case 2: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm2; + break; + + case 3: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm3; + break; + + case 4: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm4; + break; + + case 5: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm5; + break; + + case 6: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm6; + break; + + case 7: + RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[cc_idx].ue_TransmissionMode= LTE_AntennaInfoDedicated__transmissionMode_tm7; + break; + + default: + AssertFatal (0, + "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7", + config_fname, cell_idx, eMTCconfig->ccparams.ue_TransmissionMode); + break; + } + + + if (!strcmp(eMTCconfig->prach_ConfigCommon_v1310, "ENABLE")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].prach_ConfigCommon_v1310 = TRUE; + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t)); + + if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13, "tdd-r13")) { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13 = FALSE; + } else { + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13 = TRUE; + } + + if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v1")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 0; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 1; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v2")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 2; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 3; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v4")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 4; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v5")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 5; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "v8")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 6; + } else if (!strcmp(eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, "10")) { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].mpdcch_startSF_CSS_RA_r13_val = 7; + } else { + AssertFatal(0, + "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n", + config_fname, cell_idx); + } + + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].prach_HoppingOffset_r13 = calloc(1, sizeof(long)); + *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].prach_HoppingOffset_r13 = eMTCconfig->prach_HoppingOffset_r13; + } else { + RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[cc_idx].prach_ConfigCommon_v1310 = FALSE; + } + + + RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[cc_idx] = CALLOC(1, sizeof(long)); + if (!strcmp(eMTCconfig->pdsch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[cc_idx] = 0; + } else if (!strcmp(eMTCconfig->pdsch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[cc_idx] = 1; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + config_fname); + } + + + RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[cc_idx] = CALLOC(1, sizeof(long)); + if (!strcmp(eMTCconfig->pusch_maxNumRepetitionCEmodeA_r13, "r8")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[cc_idx] = 0; + } else if (!strcmp(eMTCconfig->pusch_maxNumRepetitionCEmodeA_r13, "r16")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[cc_idx] = 1; + } else if (!strcmp(eMTCconfig->pusch_maxNumRepetitionCEmodeA_r13, "r32")) { + *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[cc_idx] = 2; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n", + config_fname); + } + + char rachCELevelInfoListPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&rachcelevellist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).rach_CE_LevelInfoList_r13_size[cc_idx] = rachcelevellist.numelt; + int rachCEInfoIndex; + for (rachCEInfoIndex = 0; rachCEInfoIndex < rachcelevellist.numelt; rachCEInfoIndex++) { + sprintf(rachCELevelInfoListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13, rachCEInfoIndex); + config_get(rachcelevelParams, sizeof(rachcelevelParams) / sizeof(paramdef_t), rachCELevelInfoListPath); + + RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[cc_idx][rachCEInfoIndex] = eMTCconfig->firstPreamble_r13; + RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[cc_idx][rachCEInfoIndex] = eMTCconfig->lastPreamble_r13; + + switch (eMTCconfig->ra_ResponseWindowSize_r13) { + case 20: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf20; + break; + case 50: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf50; + break; + case 80: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf80; + break; + case 120: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf120; + break; + case 180: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf180; + break; + case 240: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf240; + break; + case 320: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf320; + break; + case 400: + RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__ra_ResponseWindowSize_r13_sf400; + break; + default: + AssertFatal(1==0, + "Illegal ra_ResponseWindowSize_r13 %d\n",eMTCconfig->ra_ResponseWindowSize_r13); + } + + + switch(eMTCconfig->mac_ContentionResolutionTimer_r13) { + case 80: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf80; + break; + case 100: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf100; + break; + case 120: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf120; + break; + case 160: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf160; + break; + case 200: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf200; + break; + case 240: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf240; + break; + case 480: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf480; + break; + case 960: + RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[cc_idx][rachCEInfoIndex] = LTE_RACH_CE_LevelInfo_r13__mac_ContentionResolutionTimer_r13_sf960; + break; + default: + AssertFatal(1==0,"Illegal mac_ContentionResolutionTimer_r13 %d\n", + eMTCconfig->mac_ContentionResolutionTimer_r13); + break; + } + RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[cc_idx][rachCEInfoIndex] = eMTCconfig->rar_HoppingConfig_r13; + AssertFatal(eMTCconfig->rar_HoppingConfig_r13 == 0 || eMTCconfig->rar_HoppingConfig_r13 == 1, + "illegal rar_HoppingConfig_r13 %d\n",eMTCconfig->rar_HoppingConfig_r13); + } // end for loop (rach ce level info) + + char rsrpRangeListPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&rsrprangelist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[cc_idx] = rsrprangelist.numelt; + + + int rsrprangeindex; + for (rsrprangeindex = 0; rsrprangeindex < rsrprangelist.numelt; rsrprangeindex++) { + sprintf(rsrpRangeListPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_RSRP_RANGE_LIST, rsrprangeindex); + config_get(rsrprangeParams, sizeof(rsrprangeParams) / sizeof(paramdef_t), rsrpRangeListPath); + RRC_CONFIGURATION_REQ (msg_p).rsrp_range[cc_idx][rsrprangeindex] = eMTCconfig->rsrp_range_br; + + } + + + char prachparameterscePath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&prachParamslist, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[cc_idx] = prachParamslist.numelt; + + int prachparamsindex; + for (prachparamsindex = 0; prachparamsindex < prachParamslist.numelt; prachparamsindex++) { + sprintf(prachparameterscePath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13, prachparamsindex); + config_get(prachParams, sizeof(prachParams) / sizeof(paramdef_t), prachparameterscePath); + + RRC_CONFIGURATION_REQ (msg_p).prach_config_index[cc_idx][prachparamsindex] = eMTCconfig->prach_config_index_br; + RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[cc_idx][prachparamsindex] = eMTCconfig->prach_freq_offset_br; + + RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = calloc(1, sizeof(long)); + switch(eMTCconfig->prach_StartingSubframe_r13) { + case 2: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf2; + break; + case 4: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf4; + break; + case 8: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf8; + break; + case 16: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf16; + break; + case 32: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf32; + break; + case 64: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf64; + break; + case 128: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf128; + break; + case 256: + *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__prach_StartingSubframe_r13_sf256; + break; + default: + AssertFatal(1==0,"prach_StartingSubframe_r13 %d is illegal\n", + eMTCconfig->prach_StartingSubframe_r13); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[cc_idx][prachparamsindex] = calloc(1, sizeof(long)); + if (eMTCconfig->maxNumPreambleAttemptCE_r13==10) *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[cc_idx][prachparamsindex] = 6; + else *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[cc_idx][prachparamsindex] = eMTCconfig->maxNumPreambleAttemptCE_r13-3; + AssertFatal(eMTCconfig->maxNumPreambleAttemptCE_r13 > 2 && eMTCconfig->maxNumPreambleAttemptCE_r13 <11, + "prachparamsindex %d: Illegal maxNumPreambleAttemptCE_r13 %d\n", + prachparamsindex,eMTCconfig->maxNumPreambleAttemptCE_r13); + + + switch(eMTCconfig->numRepetitionPerPreambleAttempt_r13) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n2; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n4; + break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n8; + break; + case 16: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n16; + break; + case 32: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n32; + break; + case 64: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n64; + break; + case 128: + RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__numRepetitionPerPreambleAttempt_r13_n128; + break; + default: + AssertFatal(1==0, + "illegal numReptitionPerPreambleAttempt %d\n", + eMTCconfig->numRepetitionPerPreambleAttempt_r13); + break; + } + switch (eMTCconfig->mpdcch_NumRepetition_RA_r13) { + case 1: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; + break; + case 2: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r2; + break; + case 4: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r4; + break; + case 8: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r8; + break; + case 16: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r16; + break; + case 32: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r32; + break; + case 64: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r64; + break; + case 128: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r128; + break; + case 256: + RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[cc_idx][prachparamsindex] = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r256; + break; + default: + AssertFatal (1==0, + "illegal mpdcch_NumRepeition_RA_r13 %d\n", + eMTCconfig->mpdcch_NumRepetition_RA_r13); + break; + } + + RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[cc_idx][prachparamsindex] = eMTCconfig->prach_HoppingConfig_r13; + + AssertFatal (eMTCconfig->prach_HoppingConfig_r13 >=0 && eMTCconfig->prach_HoppingConfig_r13 < 2, + "Illegal prach_HoppingConfig_r13 %d\n",eMTCconfig->prach_HoppingConfig_r13); + + + int maxavailablenarrowband_count = prachParams[7].numelt; + + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[cc_idx][prachparamsindex] = maxavailablenarrowband_count; + int narrow_band_index; + for (narrow_band_index = 0; narrow_band_index < maxavailablenarrowband_count; narrow_band_index++) { + RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[cc_idx][prachparamsindex][narrow_band_index] = prachParams[7].iptr[narrow_band_index]; + } + } + + char n1PUCCHInfoParamsPath[MAX_OPTNAME_SIZE * 2]; + config_getlist(&n1PUCCHInfoList, NULL, 0, brparamspath); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value_size[cc_idx] = n1PUCCHInfoList.numelt; + + int n1PUCCHinfolistindex; + for (n1PUCCHinfolistindex = 0; n1PUCCHinfolistindex < n1PUCCHInfoList.numelt; n1PUCCHinfolistindex++) { + sprintf(n1PUCCHInfoParamsPath, "%s.%s.[%i]", brparamspath, ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13, n1PUCCHinfolistindex); + config_get(n1PUCCH_ANR13Params, sizeof(n1PUCCH_ANR13Params) / sizeof(paramdef_t), n1PUCCHInfoParamsPath); + RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[cc_idx][n1PUCCHinfolistindex] = eMTCconfig->pucch_info_value; + } + + char PCCHConfigv1310Path[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(PCCHConfigv1310Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_PCCH_CONFIG_V1310); + config_get(pcchv1310Params, sizeof(pcchv1310Params)/sizeof(paramdef_t), PCCHConfigv1310Path); + + + + /** PCCH CONFIG V1310 */ + + RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[cc_idx] = TRUE; + RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[cc_idx] = eMTCconfig->paging_narrowbands_r13; + RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[cc_idx] = eMTCconfig->mpdcch_numrepetition_paging_r13; + AssertFatal (eMTCconfig->mpdcch_numrepetition_paging_r13 == 1 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 2 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 4 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 8 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 16 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 32 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 64 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 128 || + eMTCconfig->mpdcch_numrepetition_paging_r13 == 256, + "illegal mpdcch_numrepetition_paging_r13 %d\n", + eMTCconfig->mpdcch_numrepetition_paging_r13); + + + // RRC_CONFIGURATION_REQ(msg_p).nb_v1310[cc_idx] = CALLOC(1, sizeof(long)); + // if (!strcmp(nb_v1310, "one64thT")) { + // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[cc_idx] = 0; + // } else if (!strcmp(nb_v1310, "one128thT")) { + // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[cc_idx] = 1; + // } else if (!strcmp(nb_v1310, "one256thT")) { + // *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[cc_idx] = 2; + // } else { + // AssertFatal(0, + // "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n", + // config_fname); + // } + + + + RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[cc_idx] = CALLOC(1, sizeof(long)); + // ++cnt; // check this ,, the conter is up above + if (!strcmp(eMTCconfig->pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[cc_idx] = 0; + } else if (!strcmp(eMTCconfig->pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[cc_idx] = 1; + } else if (!strcmp(eMTCconfig->pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[cc_idx] = 2; + } else if (!strcmp(eMTCconfig->pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) { + *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[cc_idx] = 3; + } else { + AssertFatal (0, + "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n", + config_fname); + } + + + + /** SIB2 FREQ HOPPING PARAMETERS R13 */ + RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[cc_idx] = TRUE; + + char sib2FreqHoppingParametersR13Path[MAX_OPTNAME_SIZE*2 + 16]; + sprintf(sib2FreqHoppingParametersR13Path, "%s.%s", brparamspath, ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13); + config_get(sib2freqhoppingParams, sizeof(sib2freqhoppingParams)/sizeof(paramdef_t), sib2FreqHoppingParametersR13Path); + + + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[cc_idx] = CALLOC(1, sizeof(long)); + if (!strcmp(eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[cc_idx] = 0; + + switch(eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13_val) { + case 1: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 0; + break; + case 2: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 1; + break; + case 4: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 2; + break; + case 8: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 3; + break; + default: + AssertFatal(1==0, + "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", + eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13_val); + } + } else if (!strcmp(eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) { + *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[cc_idx] = 1; + switch(eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13_val) { + case 1: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 0; + break; + case 5: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 1; + break; + case 10: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 2; + break; + case 20: + RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[cc_idx] = 3; + break; + default: + AssertFatal(1==0, + "illegal sib2_interval_ULHoppingConfigCommonModeA_r13_val %d\n", + eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13_val); + break; + } + } else { + AssertFatal (1==0, + "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n", + config_fname); + } +} diff --git a/openair2/ENB_APP/enb_paramdef_sidelink.h b/openair2/ENB_APP/enb_paramdef_sidelink.h new file mode 100644 index 0000000000..3e73ba43b7 --- /dev/null +++ b/openair2/ENB_APP/enb_paramdef_sidelink.h @@ -0,0 +1,183 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +/*! \file openair2/ENB_APP/enb_paramdef_sidelink.h + * \brief definition of configuration parameters for sidelink eNodeB modules + * \author Raymond KNOPP + * \date 2018 + * \version 0.1 + * \company EURECOM France + * \email: raymond.knopp@eurecom.fr + * \note + * \warning + */ + +#ifndef ENB_PARAMDEF_SIDELINK_H_ +#define ENB_PARAMDEF_SIDELINK_H_ +#include "common/config/config_paramdesc.h" +#include "RRC_paramsvalues.h" +#include + +#define ENB_CONFIG_STRING_SL_PARAMETERS "SLparameters" +//SIB18 +#define ENB_CONFIG_STRING_RXPOOL_SC_CP_LEN "rxPool_sc_CP_Len" +#define ENB_CONFIG_STRING_RXPOOL_SC_PRIOD "rxPool_sc_Period" +#define ENB_CONFIG_STRING_RXPOOL_DATA_CP_LEN "rxPool_data_CP_Len" +#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_NUM "rxPool_ResourceConfig_prb_Num" +#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_START "rxPool_ResourceConfig_prb_Start" +#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_END "rxPool_ResourceConfig_prb_End" +#define ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_PRESENT "rxPool_ResourceConfig_offsetIndicator_present" +#define ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE "rxPool_ResourceConfig_offsetIndicator_choice" +#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT "rxPool_ResourceConfig_subframeBitmap_present" +#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF "rxPool_ResourceConfig_subframeBitmap_choice_bs_buf" +#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE "rxPool_ResourceConfig_subframeBitmap_choice_bs_size" +#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused" +//SIB19 for DiscRxPool +#define ENB_CONFIG_STRING_DISCRXPOOL_CP_LEN "discRxPool_cp_Len" +#define ENB_CONFIG_STRING_DISCRXPOOL_DISCPERIOD "discRxPool_discPeriod" +#define ENB_CONFIG_STRING_DISCRXPOOL_NUMRETX "discRxPool_numRetx" +#define ENB_CONFIG_STRING_DISCRXPOOL_NUMREPETITION "discRxPool_numRepetition" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_NUM "discRxPool_ResourceConfig_prb_Num" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_START "discRxPool_ResourceConfig_prb_Start" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_END "discRxPool_ResourceConfig_prb_End" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_PRESENT "discRxPool_ResourceConfig_offsetIndicator_present" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_CHOICE "discRxPool_ResourceConfig_offsetIndicator_choice" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_PRESENT "discRxPool_ResourceConfig_subframeBitmap_present" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_BUF "discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE "discRxPool_ResourceConfig_subframeBitmap_choice_bs_size" +#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused" + +//SIB19 for DiscRxPoolPS +#define ENB_CONFIG_STRING_DISCRXPOOLPS_CP_LEN "DISCRXPOOLPS_cp_Len" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_DISCPERIOD "DISCRXPOOLPS_discPeriod" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_NUMRETX "DISCRXPOOLPS_numRetx" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_NUMREPETITION "DISCRXPOOLPS_numRepetition" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_NUM "DISCRXPOOLPS_ResourceConfig_prb_Num" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_START "DISCRXPOOLPS_ResourceConfig_prb_Start" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_END "DISCRXPOOLPS_ResourceConfig_prb_End" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_OFFSETIND_PRESENT "DISCRXPOOLPS_ResourceConfig_offsetIndicator_present" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_OFFSETIND_CHOICE "DISCRXPOOLPS_ResourceConfig_offsetIndicator_choice" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_PRESENT "DISCRXPOOLPS_ResourceConfig_subframeBitmap_present" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_BUF "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_buf" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_SIZE "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_size" +#define ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "DISCRXPOOLPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused" + + +/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ +/* component carriers configuration parameters */ +/* optname helpstr paramflags XXXptr defXXXval type numelt */ +/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ +/* init for checkedparam_t structure */ + +typedef struct ccparams_sidelink_s { + int sidelink_configured; + //SIB18 + char *rxPool_sc_CP_Len; + char *rxPool_sc_Period; + char *rxPool_data_CP_Len; + libconfig_int rxPool_ResourceConfig_prb_Num; + libconfig_int rxPool_ResourceConfig_prb_Start; + libconfig_int rxPool_ResourceConfig_prb_End; + char *rxPool_ResourceConfig_offsetIndicator_present; + libconfig_int rxPool_ResourceConfig_offsetIndicator_choice; + char *rxPool_ResourceConfig_subframeBitmap_present; + char *rxPool_ResourceConfig_subframeBitmap_choice_bs_buf; + libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_size; + libconfig_int rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + //SIB19 + //For discRxPool + char *discRxPool_cp_Len; + char *discRxPool_discPeriod; + libconfig_int discRxPool_numRetx; + libconfig_int discRxPool_numRepetition; + libconfig_int discRxPool_ResourceConfig_prb_Num; + libconfig_int discRxPool_ResourceConfig_prb_Start; + libconfig_int discRxPool_ResourceConfig_prb_End; + char *discRxPool_ResourceConfig_offsetIndicator_present; + libconfig_int discRxPool_ResourceConfig_offsetIndicator_choice; + char *discRxPool_ResourceConfig_subframeBitmap_present; + char *discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf; + libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_size; + libconfig_int discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused; + //For discRxPoolPS + char *discRxPoolPS_cp_Len; + const char *discRxPoolPS_discPeriod; + libconfig_int discRxPoolPS_numRetx; + libconfig_int discRxPoolPS_numRepetition; + libconfig_int discRxPoolPS_ResourceConfig_prb_Num; + libconfig_int discRxPoolPS_ResourceConfig_prb_Start; + libconfig_int discRxPoolPS_ResourceConfig_prb_End; + const char *discRxPoolPS_ResourceConfig_offsetIndicator_present; + libconfig_int discRxPoolPS_ResourceConfig_offsetIndicator_choice; + const char *discRxPoolPS_ResourceConfig_subframeBitmap_present; + char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf; + libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size; + libconfig_int discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused; +} ccparams_sidelink_t; + +/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ +/* component carriers configuration parameters */ +/* optname helpstr paramflags XXXptr defXXXval type numelt checked_param */ +/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ + +#define CCPARAMS_SIDELINK_DESC(SLparams) { \ +{"sidelink_configured", NULL, 0, iptr:(int*)&SLparams.sidelink_configured, defintval:0, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_SC_CP_LEN, NULL, 0, strptr:(char **)&SLparams.rxPool_sc_CP_Len, defstrval:"normal", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_SC_PRIOD, NULL, 0, strptr:(char **)&SLparams.rxPool_sc_Period, defstrval:"sf40", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_DATA_CP_LEN, NULL, 0, strptr:(char **)&SLparams.rxPool_data_CP_Len, defstrval:"normal", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_PRB_NUM, NULL, 0, iptr:(int32_t *)&SLparams.rxPool_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_PRB_START, NULL, 0, iptr:(int32_t *)&SLparams.rxPool_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_PRB_END, NULL, 0, iptr:(int32_t *)&SLparams.rxPool_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_PRESENT, NULL, 0, strptr:(char **)&SLparams.rxPool_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:(int32_t *)&SLparams.rxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&SLparams.rxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&SLparams.rxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&SLparams.rxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED, NULL, 0, iptr:(int32_t *)&SLparams.rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_CP_LEN, NULL, 0, strptr:(char **)&SLparams.discRxPool_cp_Len, defstrval:"normal", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_DISCPERIOD, NULL, 0, strptr:(char **)&SLparams.discRxPool_discPeriod, defstrval:"rf32", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_NUMRETX, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_numRetx, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_NUMREPETITION, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_numRepetition, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_NUM, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_START, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_END, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_PRESENT, NULL, 0, strptr:(char **)&SLparams.discRxPool_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&SLparams.discRxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&SLparams.discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:(int32_t *)&SLparams.discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_CP_LEN, NULL, 0, strptr:(char **)&SLparams.discRxPoolPS_cp_Len, defstrval:"normal", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_DISCPERIOD, NULL, 0, strptr:(char **)&SLparams.discRxPoolPS_discPeriod, defstrval:"rf32", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_NUMRETX, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_numRetx, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_NUMREPETITION, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_numRepetition, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_NUM, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_START, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_PRB_END, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_OFFSETIND_PRESENT, NULL, 0, strptr:(char **)&SLparams.discRxPoolPS_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_OFFSETIND_CHOICE, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_PRESENT, NULL, 0, strptr:(char **)&SLparams.discRxPoolPS_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:(char **)&SLparams.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \ +{ENB_CONFIG_STRING_DISCRXPOOLPS_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:(int32_t *)&SLparams.discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0} \ +} +#endif + diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index 06eaeb3b89..eec5a52b81 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -2743,7 +2743,6 @@ schedule_ue_spec_br( struct LTE_PUCCH_ConfigCommon_v1310 *ext4_pucch; LTE_PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13; struct LTE_N1PUCCH_AN_InfoList_r13 *pucch_N1PUCCH_AN_InfoList_r13; - LTE_PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL }; int pucchreps[4] = { 1, 1, 1, 1 }; int n1pucchan[4] = { 0, 0, 0, 0 }; uint32_t ackNAK_absSF; @@ -2769,23 +2768,19 @@ schedule_ue_spec_br( switch (prach_ParametersListCE_r13->list.count) { case 4: - p[3] = prach_ParametersListCE_r13->list.array[3]; n1pucchan[3] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[3]; AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level3 shouldn't be NULL\n"); pucchreps[3] = (int) (4 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level3_r13); case 3: - p[2] = prach_ParametersListCE_r13->list.array[2]; n1pucchan[2] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[2]; AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level2 shouldn't be NULL\n"); pucchreps[2] = (int) (4 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level2_r13); case 2: - p[1] = prach_ParametersListCE_r13->list.array[1]; n1pucchan[1] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[1]; AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level1 shouldn't be NULL\n"); pucchreps[1] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level1_r13); case 1: - p[0] = prach_ParametersListCE_r13->list.array[0]; n1pucchan[0] = *pucch_N1PUCCH_AN_InfoList_r13->list.array[0]; AssertFatal (ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13 != NULL, "pucch_NumRepetitionCE_Msg4_Level0 shouldn't be NULL\n"); pucchreps[0] = (int) (1 << *ext4_pucch->pucch_NumRepetitionCE_Msg4_Level0_r13); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 24d2ea6dad..9c6efc60b6 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -2272,8 +2272,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP) eNB_MAC_INST *eNB = RC.mac[module_idP]; COMMON_channels_t *cc = &eNB->common_channels[CC_idP]; - struct LTE_PhysicalConfigDedicated *physicalConfigDedicated = - eNB->UE_list.physicalConfigDedicated[CC_idP][UE_idP]; + struct LTE_PhysicalConfigDedicated *physicalConfigDedicated = &eNB->UE_list.physicalConfigDedicated[CC_idP][UE_idP]; if (physicalConfigDedicated == NULL) { // RRCConnectionSetup not received by UE yet AssertFatal(cc->p_eNB <= 2, "p_eNB is %d, should be <2\n", From 55ed97ebfaf877964e3782c5af2908960d8a4e73 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 19 Nov 2018 12:53:20 +0100 Subject: [PATCH 097/109] correction to include file name. --- openair2/ENB_APP/enb_config_SL.c | 2 +- openair2/ENB_APP/enb_config_eMTC.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openair2/ENB_APP/enb_config_SL.c b/openair2/ENB_APP/enb_config_SL.c index 7e3b4c09aa..e9f2515f81 100644 --- a/openair2/ENB_APP/enb_config_SL.c +++ b/openair2/ENB_APP/enb_config_SL.c @@ -34,7 +34,7 @@ #include "assertions.h" #include "enb_config.h" #include "intertask_interface.h" -#include "SystemInformationBlockType2.h" +#include "LTE_SystemInformationBlockType2.h" #include "common/config/config_userapi.h" #include "RRC_config_tools.h" #include "enb_paramdef.h" diff --git a/openair2/ENB_APP/enb_config_eMTC.c b/openair2/ENB_APP/enb_config_eMTC.c index d43e639f1f..f0a829c424 100644 --- a/openair2/ENB_APP/enb_config_eMTC.c +++ b/openair2/ENB_APP/enb_config_eMTC.c @@ -34,7 +34,7 @@ #include "assertions.h" #include "enb_config.h" #include "intertask_interface.h" -#include "SystemInformationBlockType2.h" +#include "LTE_SystemInformationBlockType2.h" #include "common/config/config_userapi.h" #include "RRC_config_tools.h" #include "enb_paramdef.h" From 7900864fe48275e8f1e07ab3f078f88a592d915a Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 19 Nov 2018 18:01:36 +0100 Subject: [PATCH 098/109] testing after integration of eMTC --- openair2/LAYER2/MAC/config.c | 129 +++++++----------- openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 2 +- .../LAYER2/MAC/eNB_scheduler_primitives.c | 8 +- openair2/LAYER2/MAC/mac.h | 72 +++++----- openair2/RRC/LTE/MESSAGES/asn1_msg.c | 2 + 5 files changed, 92 insertions(+), 121 deletions(-) diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 7ee78d697e..68e9e52eb8 100755 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -727,55 +727,54 @@ config_dedicated_scell(int Mod_idP, } -int -rrc_mac_config_req_eNB(module_id_t Mod_idP, - int CC_idP, - int physCellId, - int p_eNB, - int Ncp, int eutra_band, uint32_t dl_CarrierFreq, +int rrc_mac_config_req_eNB(module_id_t Mod_idP, + int CC_idP, + int physCellId, + int p_eNB, + int Ncp, int eutra_band, uint32_t dl_CarrierFreq, #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - int pbch_repetition, + int pbch_repetition, #endif - rnti_t rntiP, - LTE_BCCH_BCH_Message_t * mib, - LTE_RadioResourceConfigCommonSIB_t * - radioResourceConfigCommon, + rnti_t rntiP, + LTE_BCCH_BCH_Message_t * mib, + LTE_RadioResourceConfigCommonSIB_t * + radioResourceConfigCommon, #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - LTE_RadioResourceConfigCommonSIB_t * - radioResourceConfigCommon_BR, + LTE_RadioResourceConfigCommonSIB_t * + radioResourceConfigCommon_BR, #endif - struct LTE_PhysicalConfigDedicated - *physicalConfigDedicated, + struct LTE_PhysicalConfigDedicated + *physicalConfigDedicated, #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)) - LTE_SCellToAddMod_r10_t * sCellToAddMod_r10, - //struct LTE_PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, + LTE_SCellToAddMod_r10_t * sCellToAddMod_r10, + //struct LTE_PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, #endif - LTE_MeasObjectToAddMod_t ** measObj, - LTE_MAC_MainConfig_t * mac_MainConfig, - long logicalChannelIdentity, - LTE_LogicalChannelConfig_t * logicalChannelConfig, - LTE_MeasGapConfig_t * measGapConfig, - LTE_TDD_Config_t * tdd_Config, - LTE_MobilityControlInfo_t * mobilityControlInfo, - LTE_SchedulingInfoList_t * schedulingInfoList, - uint32_t ul_CarrierFreq, - long *ul_Bandwidth, - LTE_AdditionalSpectrumEmission_t * - additionalSpectrumEmission, - struct LTE_MBSFN_SubframeConfigList - *mbsfn_SubframeConfigList + LTE_MeasObjectToAddMod_t ** measObj, + LTE_MAC_MainConfig_t * mac_MainConfig, + long logicalChannelIdentity, + LTE_LogicalChannelConfig_t * logicalChannelConfig, + LTE_MeasGapConfig_t * measGapConfig, + LTE_TDD_Config_t * tdd_Config, + LTE_MobilityControlInfo_t * mobilityControlInfo, + LTE_SchedulingInfoList_t * schedulingInfoList, + uint32_t ul_CarrierFreq, + long *ul_Bandwidth, + LTE_AdditionalSpectrumEmission_t * + additionalSpectrumEmission, + struct LTE_MBSFN_SubframeConfigList + *mbsfn_SubframeConfigList #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0)) - , uint8_t MBMS_Flag, - LTE_MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList, - LTE_PMCH_InfoList_r9_t * pmch_InfoList + , uint8_t MBMS_Flag, + LTE_MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList, + LTE_PMCH_InfoList_r9_t * pmch_InfoList #endif #if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0)) - , - LTE_SystemInformationBlockType1_v1310_IEs_t * - sib1_v13ext + , + LTE_SystemInformationBlockType1_v1310_IEs_t * + sib1_v13ext #endif - ) { - + ) { + int i; int UE_id = -1; @@ -897,36 +896,18 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP, if (logicalChannelConfig != NULL) { // check for eMTC specific things UE_id = find_UE_id(Mod_idP, rntiP); - if (UE_id == -1) { - LOG_E(MAC, "%s:%d:%s: ERROR, UE_id == -1\n", __FILE__, - __LINE__, __FUNCTION__); - } else { - if (logicalChannelConfig) { - UE_list-> - UE_template[CC_idP][UE_id].lcgidmap - [logicalChannelIdentity] = - *logicalChannelConfig-> - ul_SpecificParameters->logicalChannelGroup; - UE_list-> - UE_template[CC_idP][UE_id].lcgidpriority - [logicalChannelIdentity]= - logicalChannelConfig->ul_SpecificParameters->priority; - - } else - UE_list-> - UE_template[CC_idP][UE_id].lcgidmap - [logicalChannelIdentity] = 0; - } + AssertFatal(UE_id>=0,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + if (logicalChannelConfig) { + UE_list->UE_template[CC_idP][UE_id].lcgidmap[logicalChannelIdentity] = *logicalChannelConfig->ul_SpecificParameters->logicalChannelGroup; + UE_list->UE_template[CC_idP][UE_id].lcgidpriority[logicalChannelIdentity] = logicalChannelConfig->ul_SpecificParameters->priority; + } else UE_list->UE_template[CC_idP][UE_id].lcgidmap[logicalChannelIdentity] = 0; } - - + if (physicalConfigDedicated != NULL) { UE_id = find_UE_id(Mod_idP, rntiP); - - if (UE_id == -1) - LOG_E(MAC, "%s:%d:%s: ERROR, UE_id == -1\n", __FILE__, __LINE__, __FUNCTION__); - else - UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; + AssertFatal(UE_id>=0,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; + LOG_I(MAC,"Added physicalConfigDedicated %p for %d.%d\n",physicalConfigDedicated,CC_idP,UE_id); } @@ -934,27 +915,19 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP, if (sCellToAddMod_r10 != NULL) { UE_id = find_UE_id(Mod_idP, rntiP); - if (UE_id == -1) - LOG_E(MAC, "%s:%d:%s: ERROR, UE_id == -1\n", __FILE__, - __LINE__, __FUNCTION__); - else - config_dedicated_scell(Mod_idP, rntiP, sCellToAddMod_r10); + AssertFatal(UE_id>=0,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + config_dedicated_scell(Mod_idP, rntiP, sCellToAddMod_r10); } #endif - - - if (mbsfn_SubframeConfigList != NULL) { LOG_I(MAC, "[eNB %d][CONFIG] Received %d subframe allocation pattern for MBSFN\n", Mod_idP, mbsfn_SubframeConfigList->list.count); - RC.mac[Mod_idP]->common_channels[0].num_sf_allocation_pattern = - mbsfn_SubframeConfigList->list.count; + RC.mac[Mod_idP]->common_channels[0].num_sf_allocation_pattern = mbsfn_SubframeConfigList->list.count; for (i = 0; i < mbsfn_SubframeConfigList->list.count; i++) { - RC.mac[Mod_idP]->common_channels[0].mbsfn_SubframeConfig[i] = - mbsfn_SubframeConfigList->list.array[i]; + RC.mac[Mod_idP]->common_channels[0].mbsfn_SubframeConfig[i] = mbsfn_SubframeConfigList->list.array[i]; LOG_I(MAC, "[eNB %d][CONFIG] MBSFN_SubframeConfig[%d] pattern is %x\n", Mod_idP, i, diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c index eec5a52b81..18c49c92b7 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c @@ -1704,7 +1704,7 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP, format2A); break; default: - LOG_W(MAC, "Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); + AssertFatal(1==0,"Unsupported transmission mode %d\n", get_tmode(module_idP, CC_id, UE_id)); aggregation = 2; } } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 9c6efc60b6..a26f658dd8 100755 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -2272,7 +2272,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP) eNB_MAC_INST *eNB = RC.mac[module_idP]; COMMON_channels_t *cc = &eNB->common_channels[CC_idP]; - struct LTE_PhysicalConfigDedicated *physicalConfigDedicated = &eNB->UE_list.physicalConfigDedicated[CC_idP][UE_idP]; + struct LTE_PhysicalConfigDedicated *physicalConfigDedicated = eNB->UE_list.UE_template[CC_idP][UE_idP].physicalConfigDedicated; if (physicalConfigDedicated == NULL) { // RRCConnectionSetup not received by UE yet AssertFatal(cc->p_eNB <= 2, "p_eNB is %d, should be <2\n", @@ -2280,8 +2280,8 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP) return (cc->p_eNB); } else { AssertFatal(physicalConfigDedicated->antennaInfo != NULL, - "antennaInfo is null for CCId %d, UEid %d\n", CC_idP, - UE_idP); + "antennaInfo (mod_id %d) is null for CCId %d, UEid %d, physicalConfigDedicated %p\n", module_idP,CC_idP, + UE_idP,physicalConfigDedicated); AssertFatal(physicalConfigDedicated->antennaInfo->present != LTE_PhysicalConfigDedicated__antennaInfo_PR_NOTHING, @@ -2290,7 +2290,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP) if (physicalConfigDedicated->antennaInfo->present == LTE_PhysicalConfigDedicated__antennaInfo_PR_explicitValue) { - return (physicalConfigDedicated->antennaInfo-> + return (1+physicalConfigDedicated->antennaInfo-> choice.explicitValue.transmissionMode); } else if (physicalConfigDedicated->antennaInfo->present == LTE_PhysicalConfigDedicated__antennaInfo_PR_defaultValue) { diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h index 27b0485c46..c8497a123c 100644 --- a/openair2/LAYER2/MAC/mac.h +++ b/openair2/LAYER2/MAC/mac.h @@ -1070,44 +1070,40 @@ typedef struct { } SBMAP_CONF; /*! \brief UE list used by eNB to order UEs/CC for scheduling*/ typedef struct { - /// Dedicated information for UEs - struct PhysicalConfigDedicated - *physicalConfigDedicated[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; - /// DLSCH pdu - DLSCH_PDU DLSCH_pdu[NFAPI_CC_MAX][2][MAX_MOBILES_PER_ENB]; - /// DCI template and MAC connection parameters for UEs - UE_TEMPLATE UE_template[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; - /// DCI template and MAC connection for RA processes - int pCC_id[MAX_MOBILES_PER_ENB]; - /// sorted downlink component carrier for the scheduler - int ordered_CCids[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; - /// number of downlink active component carrier - int numactiveCCs[MAX_MOBILES_PER_ENB]; - /// sorted uplink component carrier for the scheduler - int ordered_ULCCids[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; - /// number of uplink active component carrier - int numactiveULCCs[MAX_MOBILES_PER_ENB]; - /// number of downlink active component carrier - uint8_t dl_CC_bitmap[MAX_MOBILES_PER_ENB]; - /// eNB to UE statistics - eNB_UE_STATS eNB_UE_stats[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; - /// scheduling control info - UE_sched_ctrl UE_sched_ctrl[MAX_MOBILES_PER_ENB]; - int next[MAX_MOBILES_PER_ENB]; - int head; - int next_ul[MAX_MOBILES_PER_ENB]; - int head_ul; - int avail; - int num_UEs; - boolean_t active[MAX_MOBILES_PER_ENB]; - - /// Sorting criteria for the UE list in the MAC preprocessor - uint16_t sorting_criteria[MAX_NUM_SLICES][CR_NUM]; - uint16_t first_rb_offset[NFAPI_CC_MAX][MAX_NUM_SLICES]; - - int assoc_dl_slice_idx[MAX_MOBILES_PER_ENB]; - int assoc_ul_slice_idx[MAX_MOBILES_PER_ENB]; - + DLSCH_PDU DLSCH_pdu[NFAPI_CC_MAX][2][MAX_MOBILES_PER_ENB]; + /// DCI template and MAC connection parameters for UEs + UE_TEMPLATE UE_template[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; + /// DCI template and MAC connection for RA processes + int pCC_id[MAX_MOBILES_PER_ENB]; + /// sorted downlink component carrier for the scheduler + int ordered_CCids[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; + /// number of downlink active component carrier + int numactiveCCs[MAX_MOBILES_PER_ENB]; + /// sorted uplink component carrier for the scheduler + int ordered_ULCCids[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; + /// number of uplink active component carrier + int numactiveULCCs[MAX_MOBILES_PER_ENB]; + /// number of downlink active component carrier + uint8_t dl_CC_bitmap[MAX_MOBILES_PER_ENB]; + /// eNB to UE statistics + eNB_UE_STATS eNB_UE_stats[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB]; + /// scheduling control info + UE_sched_ctrl UE_sched_ctrl[MAX_MOBILES_PER_ENB]; + int next[MAX_MOBILES_PER_ENB]; + int head; + int next_ul[MAX_MOBILES_PER_ENB]; + int head_ul; + int avail; + int num_UEs; + boolean_t active[MAX_MOBILES_PER_ENB]; + + /// Sorting criteria for the UE list in the MAC preprocessor + uint16_t sorting_criteria[MAX_NUM_SLICES][CR_NUM]; + uint16_t first_rb_offset[NFAPI_CC_MAX][MAX_NUM_SLICES]; + + int assoc_dl_slice_idx[MAX_MOBILES_PER_ENB]; + int assoc_ul_slice_idx[MAX_MOBILES_PER_ENB]; + } UE_list_t; /*! \brief deleting control information*/ diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c index ab80705edc..693c6be0e8 100755 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c @@ -2855,6 +2855,8 @@ do_RRCConnectionSetup( //assign_enum(&physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode, // AntennaInfoDedicated__transmissionMode_tm2); + LOG_D(RRC,"physicalConfigDedicated2 %p, physicalConfigDedicated2->antennaInfo %p => %d\n",physicalConfigDedicated2,physicalConfigDedicated2->antennaInfo,transmission_mode); + switch (transmission_mode) { default: LOG_W(RRC,"At RRCConnectionSetup Transmission mode can only take values 1 or 2! Defaulting to 1!\n"); From c88d3e062c92809790a395f3fbd47d13451a9397 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 19 Nov 2018 20:56:49 +0100 Subject: [PATCH 099/109] fixed call to check_band_frequencies in enb_config.c (order was was wrong). --- openair2/ENB_APP/enb_config.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index c8917cb421..be62effdeb 100755 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -528,15 +528,6 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j] = (uint32_t) ccparams_lte.downlink_frequency; RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j] = (unsigned int) ccparams_lte.uplink_frequency_offset; - if (config_check_band_frequencies(j, - RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], - RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], - RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], - RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { - AssertFatal(0, "error calling enb_check_band_frequencies\n"); - } - - RRC_CONFIGURATION_REQ (msg_p).Nid_cell[j]= ccparams_lte.Nid_cell; @@ -569,6 +560,14 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) { RC.config_file_name, i, ccparams_lte.frame_type); } + if (config_check_band_frequencies(j, + RRC_CONFIGURATION_REQ (msg_p).eutra_band[j], + RRC_CONFIGURATION_REQ (msg_p).downlink_frequency[j], + RRC_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[j], + RRC_CONFIGURATION_REQ (msg_p).frame_type[j])) { + AssertFatal(0, "error calling enb_check_band_frequencies\n"); + } + if ((ccparams_lte.nb_antenna_ports <1) || (ccparams_lte.nb_antenna_ports > 2)) AssertFatal (0, From 5962870800674f71ad4f4de4cbf6cb04076ecf78 Mon Sep 17 00:00:00 2001 From: Raphael Defosseux Date: Thu, 22 Nov 2018 15:39:54 +0100 Subject: [PATCH 100/109] CI: adding a LTE-M conf file Signed-off-by: Raphael Defosseux --- .../conf_files/enb.band13.tm1.50PRB.emtc.conf | 443 ++++++++++++++++++ 1 file changed, 443 insertions(+) create mode 100755 ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf diff --git a/ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf b/ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf new file mode 100755 index 0000000000..e3d3402c1c --- /dev/null +++ b/ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf @@ -0,0 +1,443 @@ +Active_eNBs = ( "eNB_Eurecom_LTEBox"); +# Asn1_verbosity, choice in: none, info, annoying +Asn1_verbosity = "none"; + +eNBs = +( + { + ////////// Identification parameters: + eNB_ID = 0xe00; + + cell_type = "CELL_MACRO_ENB"; + + eNB_name = "eNB_Eurecom_LTEBox"; + + // Tracking area code, 0x0000 and 0xfffe are reserved values + tracking_area_code = "1"; + + plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2;} ); + + tr_s_preference = "local_mac" + + ////////// Physical parameters: + + component_carriers = ( + { + node_function = "3GPP_eNodeB"; + node_timing = "synch_to_ext_device"; + node_synch_ref = 0; + frame_type = "FDD"; + tdd_config = 3; + tdd_config_s = 0; + prefix_type = "NORMAL"; + eutra_band = 13; + downlink_frequency = 751000000L; + uplink_frequency_offset = 31000000; + Nid_cell = 0; + N_RB_DL = 50; + Nid_cell_mbsfn = 0; + nb_antenna_ports = 1; + nb_antennas_tx = 1; + nb_antennas_rx = 1; + tx_gain = 90; + rx_gain = 110; + pbch_repetition = "FALSE"; + prach_root = 0; + prach_config_index = 0; + prach_high_speed = "DISABLE"; + prach_zero_correlation = 1; + prach_freq_offset = 1; + pucch_delta_shift = 1; + pucch_nRB_CQI = 1; + pucch_nCS_AN = 0; + pucch_n1_AN = 32; + pdsch_referenceSignalPower = -27; + pdsch_p_b = 0; + pusch_n_SB = 1; + pusch_enable64QAM = "DISABLE"; + pusch_hoppingMode = "interSubFrame"; + pusch_hoppingOffset = 0; + pusch_groupHoppingEnabled = "ENABLE"; + pusch_groupAssignment = 0; + pusch_sequenceHoppingEnabled = "DISABLE"; + pusch_nDMRS1 = 1; + phich_duration = "NORMAL"; + phich_resource = "ONESIXTH"; + srs_enable = "DISABLE"; + /* srs_BandwidthConfig =; + srs_SubframeConfig =; + srs_ackNackST =; + srs_MaxUpPts =;*/ + + pusch_p0_Nominal = -96; + pusch_alpha = "AL1"; + pucch_p0_Nominal = -104; + msg3_delta_Preamble = 6; + pucch_deltaF_Format1 = "deltaF2"; + pucch_deltaF_Format1b = "deltaF3"; + pucch_deltaF_Format2 = "deltaF0"; + pucch_deltaF_Format2a = "deltaF0"; + pucch_deltaF_Format2b = "deltaF0"; + + rach_numberOfRA_Preambles = "n64"; #64 + rach_preamblesGroupAConfig = "DISABLE"; + /* + rach_sizeOfRA_PreamblesGroupA = ; + rach_messageSizeGroupA = ; + rach_messagePowerOffsetGroupB = ; + */ + rach_powerRampingStep = 4; + rach_preambleInitialReceivedTargetPower = -108; + rach_preambleTransMax = 10; + rach_raResponseWindowSize = 10; + rach_macContentionResolutionTimer = 48; + rach_maxHARQ_Msg3Tx = 4; + + pcch_default_PagingCycle = "rf128"; #128 + pcch_nB = "oneT"; + bcch_modificationPeriodCoeff = 2; + ue_TimersAndConstants_t300 = "ms1000"; + ue_TimersAndConstants_t301 = "ms1000"; + ue_TimersAndConstants_t310 = "ms1000"; + ue_TimersAndConstants_t311 = "ms10000"; + ue_TimersAndConstants_n310 = "n20"; + ue_TimersAndConstants_n311 = "n1"; + ue_TransmissionMode = "tm1"; + + # eMTC Parameters + emtc_parameters : + { + eMTC_configured = 1; + #hyperSFN_r13 = 0; + #eDRX_Allowed_r13 = 0; + #q_QualMinRSRQ_CE_r13 = ; + + #SIB1 + schedulingInfoSIB1_BR_r13 = 4; + + #system_info_value_tag_SI = + #( + # { + # systemInfoValueTagSi_r13 = 0; + # } + #); + + cellSelectionInfoCE_r13 = "ENABLE"; + q_RxLevMinCE_r13 = -70; + bandwidthReducedAccessRelatedInfo_r13 = "ENABLE" + si_WindowLength_BR_r13 = "ms20"; #0 + si_RepetitionPattern_r13 = "everyRF"; #0 + + scheduling_info_br = + ( + { + si_Narrowband_r13 = 8; + si_TBS_r13 = 5; + } + ); + + fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13"; + fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF; + startSymbolBR_r13 = 2; + si_HoppingConfigCommon_r13 = "off"; #1; # Note: 1==OFF ! + si_ValidityTime_r13 = "true"; #0 + + freqHoppingParametersDL_r13 = "DISABLE" + mpdcch_pdsch_HoppingNB_r13 = "nb2"; #0 + interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13" + interval_DLHoppingConfigCommonModeA_r13_val = 0; + interval_DLHoppingConfigCommonModeB_r13 = "interval-FDD-r13" + interval_DLHoppingConfigCommonModeB_r13_val = 0; + mpdcch_pdsch_HoppingOffset_r13 = 1; + + + # SIB23 + frame_type = "FDD"; + preambleTransMax_CE_r13 = 10; #6 + + rach_numberOfRA_Preambles = 60; #14 + rach_powerRampingStep = 4; + rach_preambleInitialReceivedTargetPower = -110; + rach_preambleTransMax = 10; + rach_raResponseWindowSize = 10; + rach_macContentionResolutionTimer = 64; + rach_maxHARQ_Msg3Tx = 4; + + # max size for this array is 4 + rach_CE_LevelInfoList_r13 = + ( + { + firstPreamble_r13 = 60; + lastPreamble_r13 = 63; + ra_ResponseWindowSize_r13 = 20; #0 + mac_ContentionResolutionTimer_r13 = 80; #0 + rar_HoppingConfig_r13 = "off"; #1; + } + ); + + # BCCH CONFIG + bcch_modificationPeriodCoeff = 2; + + #PCCH Config + pcch_default_PagingCycle = "rf128"; #128 + pcch_nB = "oneT"; + + #PRACH Config + prach_root = 89; + prach_config_index = 0; + prach_high_speed = "DISABLE"; + prach_zero_correlation = 1; + prach_freq_offset = 1; + + #PDSCH Config Common + pdsch_referenceSignalPower = -27 + pdsch_p_b = 0; + + + # PUSCH Config Common + pusch_n_SB = 1; + pusch_hoppingMode = "interSubFrame"; + pusch_hoppingOffset = 0; + pusch_enable64QAM = "DISABLE"; + pusch_groupHoppingEnabled = "ENABLE"; + pusch_groupAssignment = 0; + pusch_sequenceHoppingEnabled = "DISABLE"; + pusch_nDMRS1 = 1; + + # PUCCH Config Common + pucch_delta_shift = 1; + pucch_nRB_CQI = 0; + pucch_nCS_AN = 0; + pucch_n1_AN = 32; + + pusch_p0_Nominal = -96; + pusch_alpha = "AL1"; + pucch_p0_Nominal = -104; + pucch_deltaF_Format1 = "deltaF0"; + pucch_deltaF_Format1b = "deltaF3"; + pucch_deltaF_Format2 = "deltaF0"; + pucch_deltaF_Format2a = "deltaF0"; + pucch_deltaF_Format2b = "deltaF0"; + + msg3_delta_Preamble = 6; + + + prach_ConfigCommon_v1310 = "ENABLE"; + + mpdcch_startSF_CSS_RA_r13 = "fdd-r13"; + mpdcch_startSF_CSS_RA_r13_val = "v1"; #0 + prach_HoppingOffset_r13 = 0; + + + pdsch_maxNumRepetitionCEmodeA_r13 = "r16"; #0 + #pdsch_maxNumRepetitionCEmodeB_r13 = "r384"; # NULL - 2 + + pusch_maxNumRepetitionCEmodeA_r13 = "r8"; #0 + #pusch_maxNumRepetitionCEmodeB_r13 = "r768"; #4 #NULL + #pusch_HoppingOffset_v1310 = 5; #NULL + + # max size for this array is 3 + rsrp_range_list = + ( + { + rsrp_range_br = 0; + } + ); + + # max size for this array is 4 + prach_parameters_ce_r13 = + ( + { + prach_config_index_br = 3; + prach_freq_offset_br = 2; + prach_StartingSubframe_r13 = 2; + maxNumPreambleAttemptCE_r13 = 10; #6 + numRepetitionPerPreambleAttempt_r13 = 1; #0 + mpdcch_NumRepetition_RA_r13 = 1; #0 + prach_HoppingConfig_r13 = 0; #1 + max_available_narrow_band = [3]; + } + ); + + n1PUCCH_AN_InfoList_r13 = + ( + { + pucch_info_value = 0; + } + ); + + + ue_TimersAndConstants_t300 = "ms1000"; + ue_TimersAndConstants_t301 = "ms400"; + ue_TimersAndConstants_t310 = "ms50"; + ue_TimersAndConstants_t311 = "ms30000"; + ue_TimersAndConstants_n310 = "n1"; + ue_TimersAndConstants_n311 = "n10"; + ue_TransmissionMode = "tm1"; + + pcch_config_v1310 : + { + paging_narrowbands_r13 = 1; + mpdcch_numrepetition_paging_r13 = "r1"; #0 + #nb_v1310 = "one256thT"; #2 + } + + + pucch_NumRepetitionCE_Msg4_Level0_r13 = "n1"; #0 + #pucch_NumRepetitionCE_Msg4_Level1_r13 = "n2"; #1 + #pucch_NumRepetitionCE_Msg4_Level2_r13 = "n16"; #2 + #pucch_NumRepetitionCE_Msg4_Level3_r13 = "n32"; #3 + + sib2_freq_hoppingParameters_r13 : + { + #sib2_mpdcch_pdsch_hoppingNB_r13 = "nb2"; #0 + #sib2_interval_DLHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) + #sib2_interval_DLHoppingConfigCommonModeA_r13_val = "int1"; + #sib2_interval_DLHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) + #sib2_interval_DLHoppingConfigCommonModeB_r13_val = "int2"; + + sib2_interval_ULHoppingConfigCommonModeA_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) + sib2_interval_ULHoppingConfigCommonModeA_r13_val = "int4"; #2 +# sib2_interval_ULHoppingConfigCommonModeB_r13 = "FDD"; # choice -> (0, FDD) (1, TDD) +# sib2_interval_ULHoppingConfigCommonModeB_r13_val = "int2"; #0 + +# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1; + } + + rach_preamblesGroupAConfig = "DISABLE"; + + phich_duration = "NORMAL"; + phich_resource = "ONESIXTH"; + srs_enable = "DISABLE"; + + } + + + +} + + + + + ); + + + srb1_parameters : + { + # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] + timer_poll_retransmit = 80; + + # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] + timer_reordering = 35; + + # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] + timer_status_prohibit = 0; + + # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] + poll_pdu = 4; + + # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] + poll_byte = 99999; + + # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] + max_retx_threshold = 4; + } + + # ------- SCTP definitions + SCTP : + { + # Number of streams to use in input/output + SCTP_INSTREAMS = 2; + SCTP_OUTSTREAMS = 2; + }; + + + ////////// MME parameters: + mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR"; + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR"; + ENB_PORT_FOR_X2C = 36422; # Spec 36422 + }; + + log_config : + { + global_log_level ="info"; + global_log_verbosity ="medium"; + hw_log_level ="info"; + hw_log_verbosity ="medium"; + phy_log_level ="info"; + phy_log_verbosity ="medium"; + mac_log_level ="info"; + mac_log_verbosity ="high"; + rlc_log_level ="info"; + rlc_log_verbosity ="medium"; + pdcp_log_level ="info"; + pdcp_log_verbosity ="medium"; + rrc_log_level ="info"; + rrc_log_verbosity ="medium"; + }; + } +); + +MACRLCs = ( + { + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; + phy_test_mode = 0; + puSch10xSnr = 200; + puCch10xSnr = 200; + } +); + +L1s = ( + { + num_cc = 1; + tr_n_preference = "local_mac"; + } +); + +RUs = ( + { + local_rf = "yes" + nb_tx = 1 + nb_rx = 1 + att_tx = 0 + att_rx = 0; + bands = [13]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 125; + eNB_instances = [0]; + } +); + +log_config : + { + global_log_level ="info"; + global_log_verbosity ="medium"; + hw_log_level ="info"; + hw_log_verbosity ="medium"; + phy_log_level ="info"; + phy_log_verbosity ="medium"; + mac_log_level ="info"; + mac_log_verbosity ="high"; + rlc_log_level ="info"; + rlc_log_verbosity ="medium"; + pdcp_log_level ="info"; + pdcp_log_verbosity ="medium"; + rrc_log_level ="info"; + rrc_log_verbosity ="medium"; + }; + From ffea699962af7e8e305b59b7867767b1882d4260 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 27 Nov 2018 11:03:00 +0100 Subject: [PATCH 101/109] change of log level on trace in fapi_l1.c --- openair1/SCHED/fapi_l1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 3c3f3b5136..4f2aedee6c 100755 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -706,7 +706,7 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, AssertFatal((UE_id = find_uci(ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti, proc->frame_tx,proc->subframe_tx,eNB,SEARCH_EXIST_OR_FREE))>=0, "No available UE UCI for rnti %x\n",ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti); - LOG_I(PHY,"Applying UL UCI_HARQ config for UE %d, rnti %x for frame %d, subframe %d\n", + LOG_D(PHY,"Applying UL UCI_HARQ config for UE %d, rnti %x for frame %d, subframe %d\n", UE_id,ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti,frame,subframe); handle_uci_harq_pdu(eNB,UE_id,ul_config_pdu,frame,subframe,srs_present); From 27b7431cf487f96eca66bfbaf039e15f90ff43cc Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Fri, 4 Jan 2019 15:41:34 +0100 Subject: [PATCH 102/109] bugfix: fix some merge error --- openair1/SCHED/phy_procedures_lte_eNb.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 519a0ea512..8978f79f37 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1779,12 +1779,13 @@ void fill_ulsch_harq_indication (PHY_VARS_eNB * eNB, LTE_UL_eNB_HARQ_t * ulsch_h release_harq(eNB,UE_id,1,frame,subframe,1<o_ACK[i] == 1); } } - //LOG_E(PHY,"eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs:%d\n", eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs); - eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs++; - - pthread_mutex_unlock(&eNB->UL_INFO_mutex); - } + + //LOG_E(PHY,"eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs:%d\n", eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs); + eNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs++; + + pthread_mutex_unlock(&eNB->UL_INFO_mutex); + } void fill_uci_harq_indication (PHY_VARS_eNB * eNB, LTE_eNB_UCI * uci, int frame, int subframe, uint8_t * harq_ack, uint8_t tdd_mapping_mode, uint16_t tdd_multiplexing_mask) { From aea6b4b5a6fea3ffa886631d09e39546f3f431a9 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Mon, 7 Jan 2019 16:22:28 +0100 Subject: [PATCH 103/109] fix a lot of file mode For whatever reason most of the files had their permission changed from 644 to 755, which is not wanted. --- .gitlab-ci.yml | 0 LICENSE | 0 NOTICE.txt | 0 README.txt | 0 .../conf_files/enb.band13.tm1.50PRB.emtc.conf | 0 cmake_targets/CMakeLists.txt | 0 cmake_targets/at_commands/CMakeLists.txt | 0 cmake_targets/autotests/README.txt | 0 cmake_targets/autotests/core.py | 0 cmake_targets/autotests/log.py | 0 cmake_targets/autotests/openair.py | 0 cmake_targets/autotests/templates/index.html | 0 .../autotests/templates/testcase_report.html | 0 cmake_targets/autotests/test_case_list.xml | 0 cmake_targets/autotests/testsuite_ue_noS1.xml | 0 cmake_targets/autotests/testsuite_ue_noS1_TCL.xml | 0 cmake_targets/autotests/tools/lib_autotest.py | 0 .../autotests/tools/lib_autotest_analyser.py | 0 cmake_targets/autotests/tools/wdial.bandrich.conf | 0 cmake_targets/autotests/v2/actions/alu_epc.bash | 0 .../autotests/v2/actions/alu_epc_stop.bash | 0 cmake_targets/autotests/v2/actions/alu_hss.bash | 0 cmake_targets/autotests/v2/actions/bandrich.txt | 0 cmake_targets/autotests/v2/actions/client_tcp.bash | 0 cmake_targets/autotests/v2/actions/client_udp.bash | 0 .../autotests/v2/actions/clone_repository.bash | 0 cmake_targets/autotests/v2/actions/compilation.bash | 0 cmake_targets/autotests/v2/actions/execution.bash | 0 .../autotests/v2/actions/execution_compile.bash | 0 cmake_targets/autotests/v2/actions/modem.py | 0 cmake_targets/autotests/v2/actions/run_enb.bash | 0 cmake_targets/autotests/v2/actions/server_tcp.bash | 0 cmake_targets/autotests/v2/actions/server_udp.bash | 0 cmake_targets/autotests/v2/actions/start_3276.bash | 0 cmake_targets/autotests/v2/actions/start_3276.py | 0 .../autotests/v2/actions/start_bandrich.bash | 0 .../autotests/v2/actions/start_bandrich.py | 0 cmake_targets/autotests/v2/actions/stop_3276.py | 0 cmake_targets/autotests/v2/actions/stop_bandrich.py | 0 cmake_targets/autotests/v2/actions/wvdial.3276.conf | 0 .../autotests/v2/actions/wvdial.bandrich.conf | 0 cmake_targets/autotests/v2/alu_test.py | 0 .../config/enb.band38.tm1.usrpb210.tdd.10MHz.conf | 0 .../config/enb.band38.tm1.usrpb210.tdd.20MHz.conf | 0 .../v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf | 0 .../v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf | 0 .../v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf | 0 .../v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf | 0 .../v2/config/rcc.band7.tm1.if4p5.10MHz.conf | 0 .../v2/config/rcc.band7.tm1.if4p5.20MHz.conf | 0 .../v2/config/rcc.band7.tm1.if4p5.5MHz.conf | 0 .../rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf | 0 .../rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf | 0 .../rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf | 0 cmake_targets/autotests/v2/connection.py | 0 cmake_targets/autotests/v2/machine_list.py | 0 cmake_targets/autotests/v2/main.py | 0 cmake_targets/autotests/v2/task.py | 0 cmake_targets/autotests/v2/utils.py | 0 cmake_targets/doxygen/CMakeLists.txt | 0 cmake_targets/epc_test/CMakeLists.template | 0 cmake_targets/lte-simulators/CMakeLists.txt | 0 .../lte_noS1_build_oai/CMakeLists.template | 0 cmake_targets/nas_sim_tools/CMakeLists.txt | 0 cmake_targets/oaisim_build_oai/CMakeLists.template | 0 .../oaisim_mme_build_oai/CMakeLists.template | 0 .../oaisim_noS1_build_oai/CMakeLists.template | 0 cmake_targets/s1c_mme_test/CMakeLists.template | 0 cmake_targets/tools/Kbuild.cmake | 0 .../tools/MODULES/CMakeParseArguments.cmake | 0 .../tools/MODULES/CMakeUserFindMySQL.cmake | 0 cmake_targets/tools/MODULES/CMakeUserUseBison.cmake | 0 cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake | 0 cmake_targets/tools/MODULES/FindFreeDiameter.cmake | 0 cmake_targets/tools/MODULES/FindGCCXML.cmake | 0 cmake_targets/tools/MODULES/FindGcrypt.cmake | 0 cmake_targets/tools/MODULES/FindGnuTLS.cmake | 0 cmake_targets/tools/MODULES/FindKbuild.cmake | 0 cmake_targets/tools/MODULES/FindLibXml2.cmake | 0 cmake_targets/tools/MODULES/FindMySQL.cmake | 0 cmake_targets/tools/MODULES/FindNettle.cmake | 0 cmake_targets/tools/MODULES/FindPostgreSQL.cmake | 0 cmake_targets/tools/MODULES/FindSCTP.cmake | 0 cmake_targets/tools/MODULES/Kbuild.cmake | 0 cmake_targets/tools/MODULES/cmake_useful.cmake | 0 cmake_targets/tools/MODULES/kbuild_system.cmake | 0 cmake_targets/tools/MODULES/kmodule.cmake | 0 cmake_targets/tools/MODULES/path_prefixes.cmake | 0 cmake_targets/tools/asn1tostruct.py | 0 cmake_targets/tools/example_enb_exmimo_mme_hss.txt | 0 .../tools/example_oaisim_enb_ue_mme_virtual.txt | 0 cmake_targets/tools/exmimo2_2arxg.lime | 0 cmake_targets/tools/exmimo2_2brxg.lime | 0 cmake_targets/tools/exmimo_stop_octave.m | 0 .../RRC.rel10/SystemInformation-r8-IEs.h.diff | 0 .../RRC.rel14/SystemInformation-r8-IEs.h.diff | 0 .../X2ap-CriticalityDiagnostics-IE-List.h.diff | 0 cmake_targets/tools/test_helper | 0 common/config/config_cmdline.c | 0 common/config/config_load_configmodule.c | 0 common/config/config_load_configmodule.h | 0 common/config/config_paramdesc.h | 0 common/config/config_userapi.c | 0 common/config/config_userapi.h | 0 common/config/libconfig/config_libconfig.c | 0 common/config/libconfig/config_libconfig.h | 0 common/config/libconfig/config_libconfig_private.h | 0 common/ran_context.h | 0 common/utils/LOG/README.txt | 0 common/utils/LOG/log_extern.h | 0 common/utils/LOG/log_if.h | 0 common/utils/LOG/vcd_signal_dumper.c | 0 common/utils/LOG/vcd_signal_dumper.h | 0 common/utils/T/.gitignore | 0 common/utils/T/Makefile | 0 common/utils/T/README | 0 common/utils/T/T.c | 0 common/utils/T/T.h | 0 common/utils/T/T_defs.h | 0 common/utils/T/T_messages.txt | 0 common/utils/T/defs.h | 0 common/utils/T/generate_Txx.c | 0 common/utils/T/genids.c | 0 common/utils/T/local_tracer.c | 0 common/utils/T/plot.c | 0 common/utils/T/tracee/Makefile | 0 common/utils/T/tracee/README | 0 common/utils/T/tracee/tracee.c | 0 common/utils/T/tracer/Makefile | 0 common/utils/T/tracer/config.c | 0 common/utils/T/tracer/config.h | 0 common/utils/T/tracer/database.c | 0 common/utils/T/tracer/database.h | 0 common/utils/T/tracer/defs.h | 0 common/utils/T/tracer/enb.c | 0 common/utils/T/tracer/event.c | 0 common/utils/T/tracer/event.h | 0 common/utils/T/tracer/event_selector.c | 0 common/utils/T/tracer/event_selector.h | 0 common/utils/T/tracer/extract_config.c | 0 common/utils/T/tracer/extract_input_subframe.c | 0 common/utils/T/tracer/filter/Makefile | 0 common/utils/T/tracer/filter/filter.c | 0 common/utils/T/tracer/filter/filter.h | 0 common/utils/T/tracer/gui.c | 0 common/utils/T/tracer/gui/Makefile | 0 common/utils/T/tracer/gui/container.c | 0 common/utils/T/tracer/gui/event.c | 0 common/utils/T/tracer/gui/gui.c | 0 common/utils/T/tracer/gui/gui.h | 0 common/utils/T/tracer/gui/gui_defs.h | 0 common/utils/T/tracer/gui/image.c | 0 common/utils/T/tracer/gui/init.c | 0 common/utils/T/tracer/gui/label.c | 0 common/utils/T/tracer/gui/loop.c | 0 common/utils/T/tracer/gui/notify.c | 0 common/utils/T/tracer/gui/positioner.c | 0 common/utils/T/tracer/gui/space.c | 0 common/utils/T/tracer/gui/test.c | 0 common/utils/T/tracer/gui/textarea.c | 0 common/utils/T/tracer/gui/textlist.c | 0 common/utils/T/tracer/gui/timeline.c | 0 common/utils/T/tracer/gui/toplevel_window.c | 0 common/utils/T/tracer/gui/widget.c | 0 common/utils/T/tracer/gui/x.c | 0 common/utils/T/tracer/gui/x.h | 0 common/utils/T/tracer/gui/x_defs.h | 0 common/utils/T/tracer/gui/xy_plot.c | 0 common/utils/T/tracer/hacks/Makefile | 0 common/utils/T/tracer/hacks/dump_nack_signal.c | 0 common/utils/T/tracer/hacks/time_meas.c | 0 common/utils/T/tracer/hacks/timeplot.c | 0 common/utils/T/tracer/handler.c | 0 common/utils/T/tracer/handler.h | 0 common/utils/T/tracer/logger/Makefile | 0 common/utils/T/tracer/logger/framelog.c | 0 common/utils/T/tracer/logger/iqdotlog.c | 0 common/utils/T/tracer/logger/iqlog.c | 0 common/utils/T/tracer/logger/logger.c | 0 common/utils/T/tracer/logger/logger.h | 0 common/utils/T/tracer/logger/logger_defs.h | 0 common/utils/T/tracer/logger/textlog.c | 0 common/utils/T/tracer/logger/throughputlog.c | 0 common/utils/T/tracer/logger/ticked_ttilog.c | 0 common/utils/T/tracer/logger/ticklog.c | 0 common/utils/T/tracer/logger/timelog.c | 0 common/utils/T/tracer/logger/ttilog.c | 0 common/utils/T/tracer/macpdu2wireshark.c | 0 common/utils/T/tracer/openair_logo.h | 0 common/utils/T/tracer/openair_logo.png | Bin common/utils/T/tracer/packet-mac-lte.h | 0 common/utils/T/tracer/plot.c | 0 common/utils/T/tracer/record.c | 0 common/utils/T/tracer/replay.c | 0 common/utils/T/tracer/textlog.c | 0 common/utils/T/tracer/ue.c | 0 common/utils/T/tracer/utils.c | 0 common/utils/T/tracer/utils.h | 0 common/utils/T/tracer/vcd.c | 0 common/utils/T/tracer/view/Makefile | 0 common/utils/T/tracer/view/scrolltti.c | 0 common/utils/T/tracer/view/stdout.c | 0 common/utils/T/tracer/view/textlist.c | 0 common/utils/T/tracer/view/ticktime.c | 0 common/utils/T/tracer/view/time.c | 0 common/utils/T/tracer/view/tti.c | 0 common/utils/T/tracer/view/view.h | 0 common/utils/T/tracer/view/xy.c | 0 common/utils/asn1_conversions.h | 0 common/utils/assertions.h | 0 common/utils/backtrace.c | 0 common/utils/backtrace.h | 0 common/utils/collection/queue.h | 0 common/utils/collection/tree.h | 0 common/utils/hashtable/hashtable.c | 0 common/utils/hashtable/hashtable.h | 0 common/utils/hashtable/obj_hashtable.c | 0 common/utils/hashtable/obj_hashtable.h | 0 common/utils/itti_analyzer/AUTHORS | 0 common/utils/itti_analyzer/ChangeLog | 0 common/utils/itti_analyzer/INSTALL | 0 common/utils/itti_analyzer/Makefile.am | 0 common/utils/itti_analyzer/NEWS | 0 common/utils/itti_analyzer/README | 0 common/utils/itti_analyzer/common/itti_types.h | 0 common/utils/itti_analyzer/common/logs.h | 0 common/utils/itti_analyzer/common/queue.h | 0 common/utils/itti_analyzer/common/rc.h | 0 common/utils/itti_analyzer/configure.ac | 0 common/utils/itti_analyzer/filters.xml | 0 common/utils/itti_analyzer/filters_mme.xml | 0 common/utils/itti_analyzer/filters_ue_enb.xml | 0 common/utils/itti_analyzer/itti_analyzer.c | 0 common/utils/itti_analyzer/libbuffers/Makefile.am | 0 common/utils/itti_analyzer/libbuffers/buffers.c | 0 common/utils/itti_analyzer/libbuffers/buffers.h | 0 common/utils/itti_analyzer/libbuffers/file.c | 0 common/utils/itti_analyzer/libbuffers/file.h | 0 common/utils/itti_analyzer/libbuffers/socket.c | 0 common/utils/itti_analyzer/libbuffers/socket.h | 0 common/utils/itti_analyzer/libparser/Makefile.am | 0 common/utils/itti_analyzer/libparser/array_type.c | 0 common/utils/itti_analyzer/libparser/array_type.h | 0 common/utils/itti_analyzer/libparser/enum_type.c | 0 common/utils/itti_analyzer/libparser/enum_type.h | 0 .../utils/itti_analyzer/libparser/enum_value_type.c | 0 .../utils/itti_analyzer/libparser/enum_value_type.h | 0 common/utils/itti_analyzer/libparser/field_type.c | 0 common/utils/itti_analyzer/libparser/field_type.h | 0 common/utils/itti_analyzer/libparser/file_type.c | 0 common/utils/itti_analyzer/libparser/file_type.h | 0 .../itti_analyzer/libparser/fundamental_type.c | 0 .../itti_analyzer/libparser/fundamental_type.h | 0 .../itti_analyzer/libparser/intertask_contexts.h | 0 common/utils/itti_analyzer/libparser/pointer_type.c | 0 common/utils/itti_analyzer/libparser/pointer_type.h | 0 .../utils/itti_analyzer/libparser/reference_type.c | 0 .../utils/itti_analyzer/libparser/reference_type.h | 0 common/utils/itti_analyzer/libparser/struct_type.c | 0 common/utils/itti_analyzer/libparser/struct_type.h | 0 common/utils/itti_analyzer/libparser/typedef_type.c | 0 common/utils/itti_analyzer/libparser/typedef_type.h | 0 common/utils/itti_analyzer/libparser/types.c | 0 common/utils/itti_analyzer/libparser/types.h | 0 common/utils/itti_analyzer/libparser/union_type.c | 0 common/utils/itti_analyzer/libparser/union_type.h | 0 common/utils/itti_analyzer/libparser/xml_parse.c | 0 common/utils/itti_analyzer/libparser/xml_parse.h | 0 common/utils/itti_analyzer/libresolver/Makefile.am | 0 .../utils/itti_analyzer/libresolver/locate_root.c | 0 .../utils/itti_analyzer/libresolver/locate_root.h | 0 common/utils/itti_analyzer/libresolver/resolvers.c | 0 common/utils/itti_analyzer/libresolver/resolvers.h | 0 common/utils/itti_analyzer/libui/Makefile.am | 0 common/utils/itti_analyzer/libui/ui_callbacks.c | 0 common/utils/itti_analyzer/libui/ui_callbacks.h | 0 common/utils/itti_analyzer/libui/ui_filters.c | 0 common/utils/itti_analyzer/libui/ui_filters.h | 0 common/utils/itti_analyzer/libui/ui_interface.c | 0 common/utils/itti_analyzer/libui/ui_interface.h | 0 common/utils/itti_analyzer/libui/ui_main_screen.c | 0 common/utils/itti_analyzer/libui/ui_main_screen.h | 0 common/utils/itti_analyzer/libui/ui_menu_bar.c | 0 common/utils/itti_analyzer/libui/ui_menu_bar.h | 0 common/utils/itti_analyzer/libui/ui_notebook.c | 0 common/utils/itti_analyzer/libui/ui_notebook.h | 0 common/utils/itti_analyzer/libui/ui_notif_dlg.c | 0 common/utils/itti_analyzer/libui/ui_notif_dlg.h | 0 common/utils/itti_analyzer/libui/ui_notifications.c | 0 common/utils/itti_analyzer/libui/ui_notifications.h | 0 .../itti_analyzer/libui/ui_signal_dissect_view.c | 0 .../itti_analyzer/libui/ui_signal_dissect_view.h | 0 common/utils/itti_analyzer/libui/ui_tree_view.c | 0 common/utils/itti_analyzer/libui/ui_tree_view.h | 0 common/utils/load_module_shlib.c | 0 common/utils/load_module_shlib.h | 0 common/utils/memory_pools.c | 0 common/utils/memory_pools.h | 0 common/utils/msc/msc.c | 0 common/utils/msc/msc.h | 0 common/utils/system.c | 0 common/utils/system.h | 0 common/utils/telnetsrv/telnetsrv.c | 0 common/utils/telnetsrv/telnetsrv.h | 0 common/utils/telnetsrv/telnetsrv_loader.h | 0 common/utils/telnetsrv/telnetsrv_phycmd.c | 0 common/utils/telnetsrv/telnetsrv_phycmd.h | 0 common/utils/telnetsrv/telnetsrv_proccmd.c | 0 common/utils/telnetsrv/telnetsrv_proccmd.h | 0 common/utils/time_utils.h | 0 common/utils/utils.c | 0 common/utils/utils.h | 0 nfapi/oai_integration/nfapi_vnf.h | 0 oaienv | 0 openair1/PHY/CODING/3gpplte.c | 0 openair1/PHY/CODING/3gpplte_sse.c | 0 openair1/PHY/CODING/3gpplte_turbo_decoder.c | 0 .../PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c | 0 openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c | 0 .../PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c | 0 .../PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c | 0 openair1/PHY/CODING/Makefile | 0 openair1/PHY/CODING/Makefile.arm | 0 openair1/PHY/CODING/README.txt | 0 openair1/PHY/CODING/TESTBENCH/Makefile | 0 openair1/PHY/CODING/TESTBENCH/README.txt | 0 openair1/PHY/CODING/TESTBENCH/ltetest.c | 0 openair1/PHY/CODING/TESTBENCH/pdcch_test.c | 0 openair1/PHY/CODING/TESTBENCH/viterbi_test.c | 0 openair1/PHY/CODING/ccoding_byte.c | 0 openair1/PHY/CODING/ccoding_byte_lte.c | 0 openair1/PHY/CODING/coding_defs.h | 0 openair1/PHY/CODING/coding_extern.h | 0 openair1/PHY/CODING/crc_byte.c | 0 openair1/PHY/CODING/lte_interleaver_inline.h | 0 openair1/PHY/CODING/lte_rate_matching.c | 0 openair1/PHY/CODING/lte_segmentation.c | 0 openair1/PHY/CODING/lte_tf.m | 0 openair1/PHY/CODING/scrambler.h | 0 openair1/PHY/CODING/viterbi.c | 0 openair1/PHY/CODING/viterbi_lte.c | 0 openair1/PHY/INIT/README.txt | 0 openair1/PHY/INIT/init_extern.h | 0 openair1/PHY/INIT/init_top.c | 0 openair1/PHY/INIT/init_vars.h | 0 openair1/PHY/INIT/lte_init.c | 0 openair1/PHY/INIT/lte_param_init.c | 0 openair1/PHY/INIT/lte_parms.c | 0 openair1/PHY/INIT/phy_init.h | 0 openair1/PHY/LTE_ESTIMATION/README.txt | 0 openair1/PHY/LTE_ESTIMATION/adjust_gain.c | 0 .../PHY/LTE_ESTIMATION/bf_freq_domain_filters.m | 0 openair1/PHY/LTE_ESTIMATION/filt16_32.h | 0 openair1/PHY/LTE_ESTIMATION/filt96_32.h | 0 openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m | 0 openair1/PHY/LTE_ESTIMATION/freq_equalization.c | 0 openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c | 0 .../LTE_ESTIMATION/lte_dl_bf_channel_estimation.c | 0 .../PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c | 0 .../lte_dl_mbsfn_channel_estimation.c | 0 openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c | 0 openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c | 0 openair1/PHY/LTE_ESTIMATION/lte_estimation.h | 0 openair1/PHY/LTE_ESTIMATION/lte_estimation_extern.h | 0 openair1/PHY/LTE_ESTIMATION/lte_estimation_vars.h | 0 openair1/PHY/LTE_ESTIMATION/lte_sync_time.c | 0 openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c | 0 openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m | 0 openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c | 0 .../PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c | 0 openair1/PHY/LTE_ESTIMATION/pss6144.h | 0 openair1/PHY/LTE_REFSIG/README.txt | 0 openair1/PHY/LTE_REFSIG/gen_mod_table.m | 0 openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c | 0 openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c | 0 openair1/PHY/LTE_REFSIG/lte_dl_uespec.c | 0 openair1/PHY/LTE_REFSIG/lte_gold.c | 0 openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c | 0 openair1/PHY/LTE_REFSIG/lte_refsig.h | 0 openair1/PHY/LTE_REFSIG/lte_ul.m | 0 openair1/PHY/LTE_REFSIG/lte_ul_ref.c | 0 openair1/PHY/LTE_REFSIG/mod_table.h | 0 openair1/PHY/LTE_REFSIG/primary_synch.h | 0 openair1/PHY/LTE_REFSIG/primary_synch.m | 0 openair1/PHY/LTE_TRANSPORT/README.txt | 0 openair1/PHY/LTE_TRANSPORT/dci.c | 0 openair1/PHY/LTE_TRANSPORT/dci.h | 0 openair1/PHY/LTE_TRANSPORT/dci_tools.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_coding.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c | 0 openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h | 0 openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h | 0 openair1/PHY/LTE_TRANSPORT/edci.c | 0 openair1/PHY/LTE_TRANSPORT/group_hopping.c | 0 openair1/PHY/LTE_TRANSPORT/if4_tools.c | 0 openair1/PHY/LTE_TRANSPORT/if4_tools.h | 0 openair1/PHY/LTE_TRANSPORT/if5_tools.c | 0 openair1/PHY/LTE_TRANSPORT/if5_tools.h | 0 openair1/PHY/LTE_TRANSPORT/lte_mcs.c | 0 openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h | 0 openair1/PHY/LTE_TRANSPORT/mdci.h | 0 openair1/PHY/LTE_TRANSPORT/pbch.c | 0 openair1/PHY/LTE_TRANSPORT/pcfich.c | 0 openair1/PHY/LTE_TRANSPORT/phich.c | 0 openair1/PHY/LTE_TRANSPORT/pilots.c | 0 openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c | 0 openair1/PHY/LTE_TRANSPORT/pmch.c | 0 openair1/PHY/LTE_TRANSPORT/power_control.c | 0 openair1/PHY/LTE_TRANSPORT/prach.c | 0 openair1/PHY/LTE_TRANSPORT/print_stats.c | 0 openair1/PHY/LTE_TRANSPORT/pss.c | 0 openair1/PHY/LTE_TRANSPORT/pucch.c | 0 openair1/PHY/LTE_TRANSPORT/pucch_extern.h | 0 openair1/PHY/LTE_TRANSPORT/rar_tools.c | 0 openair1/PHY/LTE_TRANSPORT/sss.c | 0 openair1/PHY/LTE_TRANSPORT/transport_eNB.h | 0 openair1/PHY/LTE_TRANSPORT/transport_extern.h | 0 openair1/PHY/LTE_TRANSPORT/transport_vars.h | 0 openair1/PHY/LTE_TRANSPORT/uci_common.h | 0 openair1/PHY/LTE_TRANSPORT/uci_tools.c | 0 openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c | 0 openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c | 0 openair1/PHY/LTE_TRANSPORT/vrb_maps.m | 0 openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c | 0 openair1/PHY/LTE_UE_TRANSPORT/dlsch_decoding.c | 0 openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c | 0 .../PHY/LTE_UE_TRANSPORT/dlsch_llr_computation.c | 0 .../LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c | 0 openair1/PHY/LTE_UE_TRANSPORT/drs_modulation.c | 0 openair1/PHY/LTE_UE_TRANSPORT/get_pmi.c | 0 openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c | 0 .../PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.h | 0 openair1/PHY/LTE_UE_TRANSPORT/pch_ue.c | 0 openair1/PHY/LTE_UE_TRANSPORT/slss.c | 0 openair1/PHY/LTE_UE_TRANSPORT/srs_modulation.c | 0 openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h | 0 openair1/PHY/LTE_UE_TRANSPORT/ulsch_coding.c | 0 openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c | 0 openair1/PHY/MODULATION/beamforming.c | 0 openair1/PHY/MODULATION/compute_bf_weights.c | 0 openair1/PHY/MODULATION/ofdm_mod.c | 0 openair1/PHY/MODULATION/prach625Hz.h | 0 openair1/PHY/MODULATION/slot_fep.c | 0 openair1/PHY/MODULATION/slot_fep_mbsfn.c | 0 openair1/PHY/MODULATION/slot_fep_ul.c | 0 openair1/PHY/MODULATION/ul_7_5_kHz.c | 0 openair1/PHY/Makefile.inc | 0 openair1/PHY/TOOLS/8bit_rxdemux.c | 0 openair1/PHY/TOOLS/8bit_txmux.c | 0 openair1/PHY/TOOLS/Makefile | 0 openair1/PHY/TOOLS/alaw_lut.h | 0 openair1/PHY/TOOLS/angle.c | 0 openair1/PHY/TOOLS/cadd_sv.c | 0 openair1/PHY/TOOLS/cadd_vv.c | 0 openair1/PHY/TOOLS/cdot_prod.c | 0 openair1/PHY/TOOLS/cmult_sv.c | 0 openair1/PHY/TOOLS/cmult_vv.c | 0 openair1/PHY/TOOLS/costable.h | 0 openair1/PHY/TOOLS/dB_routines.c | 0 openair1/PHY/TOOLS/dB_routines.h | 0 openair1/PHY/TOOLS/invSqrt.c | 0 openair1/PHY/TOOLS/log2_approx.c | 0 openair1/PHY/TOOLS/lte_dfts.c | 0 openair1/PHY/TOOLS/lte_phy_scope.c | 0 openair1/PHY/TOOLS/lte_phy_scope.h | 0 openair1/PHY/TOOLS/lte_phy_scope_tm4.c | 0 openair1/PHY/TOOLS/lut.c | 0 openair1/PHY/TOOLS/memory_routines.c | 0 openair1/PHY/TOOLS/read_F.c | 0 openair1/PHY/TOOLS/signal_energy.c | 0 openair1/PHY/TOOLS/smbv.c | 0 openair1/PHY/TOOLS/smbv.h | 0 openair1/PHY/TOOLS/sqrt.c | 0 openair1/PHY/TOOLS/time_meas.c | 0 openair1/PHY/TOOLS/time_meas.h | 0 openair1/PHY/TOOLS/tools_defs.h | 0 openair1/PHY/TOOLS/tools_extern.h | 0 openair1/PHY/TOOLS/tools_vars.h | 0 openair1/PHY/defs_eNB.h | 0 openair1/PHY/impl_defs_lte.h | 0 openair1/PHY/impl_defs_top.h | 0 openair1/PHY/phy_extern.h | 0 openair1/PHY/phy_vars.h | 0 openair1/PHY/sse_intrin.h | 0 openair1/PHY/types.h | 0 openair1/README.TXT | 0 openair1/SCHED/Makefile.inc | 0 openair1/SCHED/fapi_l1.c | 0 openair1/SCHED/fapi_l1.h | 0 openair1/SCHED/phy_mac_stub.c | 0 openair1/SCHED/phy_procedures_lte_common.c | 0 openair1/SCHED/phy_procedures_lte_eNb.c | 0 openair1/SCHED/ru_procedures.c | 0 openair1/SCHED/sched_common.h | 0 openair1/SCHED_UE/phy_procedures_lte_ue.c | 0 openair1/SCHED_UE/pucch_pc.c | 0 openair1/SCHED_UE/srs_pc.c | 0 openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc | 0 openair1/SIMULATION/ETH_TRANSPORT/README.txt | 0 .../SIMULATION/ETH_TRANSPORT/bypass_session_layer.c | 0 openair1/SIMULATION/ETH_TRANSPORT/defs.h | 0 openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c | 0 openair1/SIMULATION/ETH_TRANSPORT/extern.h | 0 openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c | 0 openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h | 0 openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c | 0 openair1/SIMULATION/ETH_TRANSPORT/proto.h | 0 openair1/SIMULATION/ETH_TRANSPORT/socket.c | 0 openair1/SIMULATION/ETH_TRANSPORT/socket.h | 0 openair1/SIMULATION/ETH_TRANSPORT/vars.h | 0 .../LTE_PHY/Abstraction/Training/IEEEtran.cls | 0 .../LTE_PHY/Abstraction/Training/bare_adv.tex | 0 .../LTE_PHY/Abstraction/Training/bare_jrnl.tex | 0 .../Abstraction/Training/bare_jrnl_compsoc.tex | 0 .../LTE_PHY/Abstraction/Training/create_plots.m | 0 .../LTE_PHY/Abstraction/Training/delta_BLER_1.m | 0 .../Abstraction/Training/polyfit_beta_training.m | 0 .../Abstraction/Training/polyfit_delta_BLER.m | 0 .../LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m | 0 .../Abstraction/Training/training_abstraction.m | 0 .../Abstraction/Training/training_top_script.m | 0 .../LTE_PHY/Abstraction/beta_training_EESM.m | 0 .../LTE_PHY/Abstraction/data_collection_mode5.m | 0 .../LTE_PHY/Abstraction/data_extraction.m | 0 .../SIMULATION/LTE_PHY/Abstraction/delta_BLER.m | 0 .../SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m | 0 openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m | 0 .../Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat | Bin .../Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat | Bin .../Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat | Bin .../Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat | Bin .../Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat | Bin .../Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat | Bin .../Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat | Bin .../Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat | Bin .../Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat | Bin .../Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat | Bin .../Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat | Bin .../Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat | Bin .../Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat | Bin .../Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat | Bin .../Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat | Bin .../matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat | Bin .../Abstraction/matFiles/data_mode5_16_16.mat | Bin .../matFiles/data_mode5_4_4_morerealizations.mat | Bin .../Abstraction/matFiles/siso_MI_abs_16Qam.mat | Bin .../Abstraction/matFiles/siso_MI_abs_4Qam.mat | Bin .../Abstraction/matFiles/siso_MI_abs_64Qam.mat | Bin .../SIMULATION/LTE_PHY/Abstraction/opposite_q.m | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv | 0 .../AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv | 0 .../AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv | 0 .../AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m | 0 .../SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m | 0 .../LTE_PHY/BLER_SIMULATIONS/eval_results.m | 0 openair1/SIMULATION/LTE_PHY/LTE_Configuration.c | 0 openair1/SIMULATION/LTE_PHY/LTE_Configuration.h | 0 openair1/SIMULATION/LTE_PHY/README.txt | 0 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m | 0 .../SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m | 0 .../LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png | Bin .../LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m | 0 .../SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt | 0 openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex | 0 openair1/SIMULATION/LTE_PHY/blerSimus.zip | Bin openair1/SIMULATION/LTE_PHY/dlsim.c | 0 openair1/SIMULATION/LTE_PHY/dlsim_tm4.c | 0 openair1/SIMULATION/LTE_PHY/dlsim_tm7.c | 0 openair1/SIMULATION/LTE_PHY/fancyheadings.sty | 0 openair1/SIMULATION/LTE_PHY/framegen.c | 0 openair1/SIMULATION/LTE_PHY/gpib_send.c | 0 openair1/SIMULATION/LTE_PHY/gpib_send.h | 0 openair1/SIMULATION/LTE_PHY/mat2wv.m | 0 openair1/SIMULATION/LTE_PHY/mbmssim.c | 0 openair1/SIMULATION/LTE_PHY/pbch_awgn.txt | 0 openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt | 0 openair1/SIMULATION/LTE_PHY/pbchsim.c | 0 openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m | 0 openair1/SIMULATION/LTE_PHY/pdcchsim.c | 0 openair1/SIMULATION/LTE_PHY/plotTools/p | 0 openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m | 0 .../LTE_PHY/plotTools/plot_channel_PePu.m | 0 .../LTE_PHY/plotTools/plot_channel_SePu.m | 0 .../SIMULATION/LTE_PHY/plotTools/plot_channels.m | 0 .../LTE_PHY/plotTools/plot_constellations.m | 0 .../LTE_PHY/plotTools/plot_dl_ce_prec_ul.m | 0 .../SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m | 0 .../LTE_PHY/plotTools/plot_floating_point_signals.m | 0 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m | 0 .../SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m | 0 .../SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m | 0 .../SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m | 0 openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m | 0 openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m | 0 openair1/SIMULATION/LTE_PHY/prachsim.c | 0 openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h | 0 openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c | 0 openair1/SIMULATION/LTE_PHY/pucchsim.c | 0 openair1/SIMULATION/LTE_PHY/scansim.c | 0 openair1/SIMULATION/LTE_PHY/signalanalyzer.c | 0 openair1/SIMULATION/LTE_PHY/signalanalyzer.h | 0 openair1/SIMULATION/LTE_PHY/syncsim.c | 0 openair1/SIMULATION/LTE_PHY/test.c | 0 openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c | 0 openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h | 0 openair1/SIMULATION/LTE_PHY/ulsim.c | 0 openair1/SIMULATION/LTE_PHY/ulsim2.c | 0 openair1/SIMULATION/LTE_PHY/unitary_defs.h | 0 openair1/SIMULATION/Makefile.inc | 0 openair1/SIMULATION/RF/Makefile | 0 openair1/SIMULATION/RF/README.txt | 0 openair1/SIMULATION/RF/adc.c | 0 openair1/SIMULATION/RF/dac.c | 0 openair1/SIMULATION/RF/rf.c | 0 openair1/SIMULATION/RF/rf.h | 0 openair1/SIMULATION/TOOLS/abstraction.c | 0 openair1/SIMULATION/TOOLS/ch_desc_proto.c | 0 openair1/SIMULATION/TOOLS/corr_mat.m | 0 openair1/SIMULATION/TOOLS/gauss.c | 0 openair1/SIMULATION/TOOLS/llr_quantization.c | 0 openair1/SIMULATION/TOOLS/multipath_channel.c | 0 openair1/SIMULATION/TOOLS/multipath_tv_channel.c | 0 openair1/SIMULATION/TOOLS/random_channel.c | 0 openair1/SIMULATION/TOOLS/rangen_double.c | 0 openair1/SIMULATION/TOOLS/scm.m | 0 openair1/SIMULATION/TOOLS/scm_corrmat.h | 0 openair1/SIMULATION/TOOLS/sim.h | 0 openair1/SIMULATION/TOOLS/taus.c | 0 openair2/COMMON/as_message.h | 0 openair2/COMMON/commonDef.h | 0 openair2/COMMON/gtpv1_u_messages_def.h | 0 openair2/COMMON/gtpv1_u_messages_types.h | 0 openair2/COMMON/intertask_interface_conf.h | 0 openair2/COMMON/mac_messages_def.h | 0 openair2/COMMON/mac_messages_types.h | 0 openair2/COMMON/mac_primitives.h | 0 openair2/COMMON/mac_rlc_primitives.h | 0 openair2/COMMON/mac_rrc_primitives.h | 0 openair2/COMMON/messages_def.h | 0 openair2/COMMON/messages_types.h | 0 openair2/COMMON/nas_messages_def.h | 0 openair2/COMMON/nas_messages_types.h | 0 openair2/COMMON/networkDef.h | 0 openair2/COMMON/openair_defs.h | 0 openair2/COMMON/pdcp_messages_def.h | 0 openair2/COMMON/pdcp_messages_types.h | 0 openair2/COMMON/phy_messages_def.h | 0 openair2/COMMON/phy_messages_types.h | 0 openair2/COMMON/platform_constants.h | 0 openair2/COMMON/platform_types.h | 0 openair2/COMMON/ral_messages_def.h | 0 openair2/COMMON/ral_messages_types.h | 0 openair2/COMMON/rlc_messages_def.h | 0 openair2/COMMON/rlc_messages_types.h | 0 openair2/COMMON/rrc_messages_def.h | 0 openair2/COMMON/rrc_messages_types.h | 0 openair2/COMMON/rrm_config_structs.h | 0 openair2/COMMON/rrm_constants.h | 0 openair2/COMMON/rtos_header.h | 0 openair2/COMMON/s1ap_messages_def.h | 0 openair2/COMMON/s1ap_messages_types.h | 0 openair2/COMMON/sctp_messages_def.h | 0 openair2/COMMON/sctp_messages_types.h | 0 openair2/COMMON/tasks_def.h | 0 openair2/COMMON/udp_messages_def.h | 0 openair2/COMMON/udp_messages_types.h | 0 openair2/COMMON/x2ap_messages_def.h | 0 openair2/COMMON/x2ap_messages_types.h | 0 openair2/DOCS/DOXYGEN/Doxyfile | 0 openair2/DOCS/DOXYGEN/images/DLC_arch.png | Bin openair2/DOCS/DOXYGEN/images/Diapositive6.JPG | Bin openair2/DOCS/DOXYGEN/images/Framing.png | Bin openair2/DOCS/DOXYGEN/images/Framing.vsd | Bin openair2/DOCS/DOXYGEN/images/MAC Services.vsd | Bin openair2/DOCS/DOXYGEN/images/MAC_Measurements.png | Bin openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd | Bin openair2/DOCS/DOXYGEN/images/MAC_Services.eps | Bin openair2/DOCS/DOXYGEN/images/MAC_Services.vsd | Bin openair2/DOCS/DOXYGEN/images/MAC_Services2.eps | 0 openair2/DOCS/DOXYGEN/images/MAC_Services2.png | Bin openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd | Bin openair2/DOCS/DOXYGEN/images/MAC_arch.eps | Bin openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG | Bin openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png | Bin openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd | Bin openair2/DOCS/DOXYGEN/images/PHY_arch.eps | Bin openair2/DOCS/DOXYGEN/images/PHY_arch.png | Bin openair2/DOCS/DOXYGEN/images/PHY_arch.vsd | Bin openair2/DOCS/DOXYGEN/images/QAM modulation.png | Bin openair2/DOCS/DOXYGEN/images/QAM modulation.vsd | Bin openair2/DOCS/DOXYGEN/images/QAMmodulation.png | Bin openair2/DOCS/DOXYGEN/images/Transmission.pdf | Bin openair2/DOCS/DOXYGEN/images/Transmission.png | Bin openair2/DOCS/DOXYGEN/images/Transmission.ps | 0 openair2/DOCS/DOXYGEN/images/cellular_topology.doc | Bin openair2/DOCS/DOXYGEN/images/cellular_topology.pdf | Bin .../DOCS/DOXYGEN/images/cellular_topology_small.png | Bin openair2/DOCS/DOXYGEN/images/channel server.png | Bin openair2/DOCS/DOXYGEN/images/channel server.vsd | Bin openair2/DOCS/DOXYGEN/images/convolutional.png | Bin openair2/DOCS/DOXYGEN/images/convolutional.vsd | Bin openair2/DOCS/DOXYGEN/images/irs_dcf.jpg | Bin openair2/DOCS/DOXYGEN/images/irs_pcf.jpg | Bin openair2/DOCS/DOXYGEN/images/layer2_stack.jpg | Bin openair2/DOCS/DOXYGEN/images/layer2_stack.pdf | Bin openair2/DOCS/DOXYGEN/images/layer2_stack.png | Bin openair2/DOCS/DOXYGEN/images/mac_channels.png | Bin .../DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf | Bin .../DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png | Bin .../DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd | Bin openair2/DOCS/DOXYGEN/images/mac_wbs.jpg | Bin openair2/DOCS/DOXYGEN/images/macphynet.eps | 0 openair2/DOCS/DOXYGEN/images/macphynet.png | Bin openair2/DOCS/DOXYGEN/images/mesh_frame.pdf | Bin openair2/DOCS/DOXYGEN/images/mesh_topology.pdf | Bin .../DOCS/DOXYGEN/images/mesh_topology_small.png | Bin openair2/DOCS/DOXYGEN/images/scrambler.png | Bin openair2/DOCS/DOXYGEN/images/scrambler.vsd | Bin openair2/DOCS/DOXYGEN/images/w3g4f_framing.png | Bin openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd | Bin .../DOCS/DOXYGEN/images/widens_mac_channels.vsd | Bin openair2/DOCS/Documentation/flow.txt | 0 openair2/DOCS/TEMPLATES/CODE/Doxyfile | 0 openair2/DOCS/TEMPLATES/CODE/example_doxy.h | 0 openair2/DOCS/TEMPLATES/CODE/images/arch.eps | 0 openair2/DOCS/TEMPLATES/CODE/images/arch.png | Bin openair2/DOCS/TEMPLATES/README/Readme.doxy | 0 openair2/DOCS/TEMPLATES/README/readme.txt | 0 .../ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c | 0 .../ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h | 0 .../CONTROL_MODULES/MAC/flexran_agent_mac_defs.h | 0 .../MAC/flexran_agent_mac_internal.c | 0 .../MAC/flexran_agent_mac_internal.h | 0 .../MAC/flexran_agent_mac_slice_verification.h | 0 .../CONTROL_MODULES/PDCP/flexran_agent_pdcp_defs.h | 0 .../CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h | 0 openair2/ENB_APP/MESSAGES/V2/config_common.proto | 0 openair2/ENB_APP/MESSAGES/V2/config_messages.proto | 0 .../ENB_APP/MESSAGES/V2/control_delegation.proto | 0 .../ENB_APP/MESSAGES/V2/controller_commands.proto | 0 openair2/ENB_APP/MESSAGES/V2/flexran.proto | 0 openair2/ENB_APP/MESSAGES/V2/header.proto | 0 openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto | 0 openair2/ENB_APP/MESSAGES/V2/stats_common.proto | 0 openair2/ENB_APP/MESSAGES/V2/stats_messages.proto | 0 openair2/ENB_APP/MESSAGES/V2/time_common.proto | 0 openair2/ENB_APP/Makefile.inc | 0 openair2/ENB_APP/NB_IoT_config.h | 0 openair2/ENB_APP/NB_IoT_interface.h | 0 openair2/ENB_APP/RRC_config_tools.h | 0 openair2/ENB_APP/enb_app.c | 0 openair2/ENB_APP/enb_app.h | 0 openair2/ENB_APP/enb_config.c | 0 openair2/ENB_APP/enb_config.h | 0 openair2/ENB_APP/enb_paramdef.h | 0 openair2/ENB_APP/flexran_agent.c | 0 openair2/ENB_APP/flexran_agent.h | 0 openair2/ENB_APP/flexran_agent_async.c | 0 openair2/ENB_APP/flexran_agent_async.h | 0 openair2/ENB_APP/flexran_agent_common.c | 0 openair2/ENB_APP/flexran_agent_common.h | 0 openair2/ENB_APP/flexran_agent_common_internal.c | 0 openair2/ENB_APP/flexran_agent_common_internal.h | 0 openair2/ENB_APP/flexran_agent_defs.h | 0 openair2/ENB_APP/flexran_agent_extern.h | 0 openair2/ENB_APP/flexran_agent_handler.c | 0 openair2/ENB_APP/flexran_agent_net_comm.c | 0 openair2/ENB_APP/flexran_agent_net_comm.h | 0 openair2/ENB_APP/flexran_agent_task_manager.c | 0 openair2/ENB_APP/flexran_agent_task_manager.h | 0 openair2/LAYER2/MAC/config.c | 0 openair2/LAYER2/MAC/defs.h | 0 openair2/LAYER2/MAC/eNB_scheduler.c | 0 openair2/LAYER2/MAC/eNB_scheduler_RA.c | 0 openair2/LAYER2/MAC/eNB_scheduler_bch.c | 0 openair2/LAYER2/MAC/eNB_scheduler_dlsch.c | 0 openair2/LAYER2/MAC/eNB_scheduler_mch.c | 0 openair2/LAYER2/MAC/eNB_scheduler_primitives.c | 0 openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 0 openair2/LAYER2/MAC/l1_helpers.c | 0 openair2/LAYER2/MAC/lte_transport_init.c | 0 openair2/LAYER2/MAC/mac_extern.h | 0 openair2/LAYER2/MAC/mac_proto.h | 0 openair2/LAYER2/MAC/main.c | 0 openair2/LAYER2/MAC/pre_processor.c | 0 openair2/LAYER2/MAC/ra_procedures.c | 0 openair2/LAYER2/MAC/rar_tools.c | 0 openair2/LAYER2/MAC/ue_procedures.c | 0 openair2/LAYER2/Makefile.inc | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp.h | 0 .../LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c | 0 .../pdcp_control_primitives_proto_extern.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c | 0 .../LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c | 0 .../LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c | 0 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h | 0 .../RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c | 0 .../RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c | 0 .../LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h | 0 .../RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c | 0 .../RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c | 0 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h | 0 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/Makefile | 0 openair2/LAYER2/RLC/UM_v9.3.0/README | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h | 0 .../RLC/UM_v9.3.0/rlc_um_control_primitives.c | 0 .../RLC/UM_v9.3.0/rlc_um_control_primitives.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c | 0 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c | 0 .../LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h | 0 openair2/LAYER2/RLC/mac_primitives.h | 0 openair2/LAYER2/RLC/rlc.c | 0 openair2/LAYER2/RLC/rlc.h | 0 openair2/LAYER2/RLC/rlc_def.h | 0 openair2/LAYER2/RLC/rlc_def_lte.h | 0 openair2/LAYER2/RLC/rlc_mac.c | 0 openair2/LAYER2/RLC/rlc_mpls.c | 0 openair2/LAYER2/RLC/rlc_primitives.h | 0 openair2/LAYER2/RLC/rlc_rrc.c | 0 openair2/LAYER2/openair2_proc.c | 0 openair2/LAYER2/register.h | 0 openair2/NETWORK_DRIVER/LITE/RB_TOOL/Makefile | 0 openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c | 0 openair2/NETWORK_DRIVER/LITE/classifier.c | 0 openair2/NETWORK_DRIVER/LITE/common.c | 0 openair2/NETWORK_DRIVER/LITE/constant.h | 0 openair2/NETWORK_DRIVER/LITE/device.c | 0 openair2/NETWORK_DRIVER/LITE/ioctl.c | 0 openair2/NETWORK_DRIVER/LITE/ioctl.h | 0 openair2/NETWORK_DRIVER/LITE/local.h | 0 openair2/NETWORK_DRIVER/LITE/netlink.c | 0 openair2/NETWORK_DRIVER/LITE/proto_extern.h | 0 openair2/NETWORK_DRIVER/LITE/sap.h | 0 openair2/NETWORK_DRIVER/LITE/tool.c | 0 openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile | 0 openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c | 0 openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c | 0 openair2/NETWORK_DRIVER/MESH/classifier.c | 0 openair2/NETWORK_DRIVER/MESH/common.c | 0 openair2/NETWORK_DRIVER/MESH/constant.h | 0 openair2/NETWORK_DRIVER/MESH/device.c | 0 openair2/NETWORK_DRIVER/MESH/ioctl.c | 0 openair2/NETWORK_DRIVER/MESH/ioctl.h | 0 openair2/NETWORK_DRIVER/MESH/local.h | 0 openair2/NETWORK_DRIVER/MESH/mesh.c | 0 openair2/NETWORK_DRIVER/MESH/netlink.c | 0 openair2/NETWORK_DRIVER/MESH/proto_extern.h | 0 openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h | 0 openair2/NETWORK_DRIVER/MESH/sap.h | 0 openair2/NETWORK_DRIVER/MESH/tool.c | 0 openair2/NETWORK_DRIVER/UE_IP/README | 0 openair2/NETWORK_DRIVER/UE_IP/common.c | 0 openair2/NETWORK_DRIVER/UE_IP/constant.h | 0 openair2/NETWORK_DRIVER/UE_IP/device.c | 0 openair2/NETWORK_DRIVER/UE_IP/local.h | 0 openair2/NETWORK_DRIVER/UE_IP/netlink.c | 0 openair2/NETWORK_DRIVER/UE_IP/proto_extern.h | 0 openair2/NETWORK_DRIVER/UE_IP/sap.h | 0 openair2/PHY_INTERFACE/IF_Module.c | 0 openair2/PHY_INTERFACE/IF_Module.h | 0 openair2/PHY_INTERFACE/mac_phy_primitives.c | 0 openair2/PHY_INTERFACE/mac_phy_primitives.h | 0 openair2/PHY_INTERFACE/phy_interface_extern.h | 0 openair2/PHY_INTERFACE/phy_interface_vars.h | 0 .../RRC/L2_INTERFACE/openair_rrc_L2_interface.c | 0 .../RRC/L2_INTERFACE/openair_rrc_L2_interface.h | 0 openair2/RRC/LITE/rrc_common.c | 0 openair2/RRC/LTE/L2_interface_ue.c | 0 openair2/RRC/LTE/MESSAGES/Makefile.inc | 0 openair2/RRC/LTE/MESSAGES/README.txt | 0 openair2/RRC/LTE/MESSAGES/asn1_msg.c | 0 openair2/RRC/LTE/MESSAGES/asn1_msg.h | 0 openair2/RRC/LTE/MESSAGES/asn1_patch | 0 .../RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-860.txt | 0 .../RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-a20.txt | 0 .../RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt | 0 .../RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-c60.txt | 0 .../ASN1_files/EUTRA-InterNodeDefinitions-86.asn | 0 .../ASN1_files/EUTRA-InterNodeDefinitions-a20.asn | 0 .../ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn | 0 .../ASN1_files/EUTRA-InterNodeDefinitions-c60.asn | 0 .../asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn | 0 .../ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn | 0 .../asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn | 0 .../ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig | 0 .../asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn | 0 .../asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn | 0 .../asn1c/ASN1_files/EUTRA-UE-Variables-86.asn | 0 .../asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn | 0 .../asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn | 0 .../asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn | 0 .../RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn | 0 .../asn1c/ASN1_files/extract_asn1_from_spec.pl | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-10.21.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-11.18.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-12.16.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-13.9.1.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-14.4.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-14.6.2.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-15.1.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.1.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-8.21.0.asn1 | 0 .../MESSAGES/asn1c/ASN1_files/lte-rrc-9.18.0.asn1 | 0 openair2/RRC/LTE/plmn_data.h | 0 openair2/RRC/LTE/rrc_2_rrm_msg.c | 0 openair2/RRC/LTE/rrc_UE.c | 0 openair2/RRC/LTE/rrc_UE_ral.c | 0 openair2/RRC/LTE/rrc_UE_ral.h | 0 openair2/RRC/LTE/rrc_defs.h | 0 openair2/RRC/LTE/rrc_eNB.c | 0 openair2/RRC/LTE/rrc_eNB_GTPV1U.c | 0 openair2/RRC/LTE/rrc_eNB_GTPV1U.h | 0 openair2/RRC/LTE/rrc_eNB_S1AP.c | 0 openair2/RRC/LTE/rrc_eNB_S1AP.h | 0 openair2/RRC/LTE/rrc_eNB_UE_context.c | 0 openair2/RRC/LTE/rrc_eNB_UE_context.h | 0 openair2/RRC/LTE/rrc_eNB_ral.c | 0 openair2/RRC/LTE/rrc_eNB_ral.h | 0 openair2/RRC/LTE/rrc_extern.h | 0 openair2/RRC/LTE/rrc_proto.h | 0 openair2/RRC/LTE/rrc_rrm_interface.c | 0 openair2/RRC/LTE/rrc_rrm_interface.h | 0 openair2/RRC/LTE/rrc_types.h | 0 openair2/RRC/LTE/rrc_vars.h | 0 openair2/RRC/LTE/rrm_2_rrc_msg.c | 0 openair2/RRC/LTE/utils.c | 0 openair2/RRC/NAS/Makefile.inc | 0 openair2/RRC/NAS/nas_config.c | 0 openair2/RRC/NAS/nas_config.h | 0 openair2/RRC/NAS/rb_config.c | 0 openair2/RRC/NAS/rb_config.h | 0 openair2/UTIL/ASYNC_IF/link_manager.c | 0 openair2/UTIL/ASYNC_IF/link_manager.h | 0 openair2/UTIL/ASYNC_IF/message_queue.c | 0 openair2/UTIL/ASYNC_IF/message_queue.h | 0 openair2/UTIL/ASYNC_IF/ringbuffer_queue.c | 0 openair2/UTIL/ASYNC_IF/ringbuffer_queue.h | 0 openair2/UTIL/ASYNC_IF/socket_link.c | 0 openair2/UTIL/ASYNC_IF/socket_link.h | 0 openair2/UTIL/BIGPHYS/bigphys.c | 0 openair2/UTIL/BIGPHYS/defs.h | 0 openair2/UTIL/CLI/cli.c | 0 openair2/UTIL/CLI/cli.h | 0 openair2/UTIL/CLI/cli_cmd.c | 0 openair2/UTIL/CLI/cli_if.h | 0 openair2/UTIL/CLI/cli_server.c | 0 openair2/UTIL/FIFO/pad_list.c | 0 openair2/UTIL/FIFO/pad_list.h | 0 openair2/UTIL/FIFO/types.h | 0 .../UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt | 0 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs | 0 .../LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h | 0 .../LFDS/liblfds6.1.1/liblfds611/liblfds611.def | 0 .../LFDS/liblfds6.1.1/liblfds611/liblfds611.sln | 0 .../LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj | 0 .../LFDS/liblfds6.1.1/liblfds611/makefile.linux | 0 .../LFDS/liblfds6.1.1/liblfds611/makefile.windows | 0 .../UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt | 0 .../runme_before_win_kernel_build_readme.txt | 0 .../runme_before_win_kernel_dynamic_lib_build.bat | 0 .../runme_before_win_kernel_static_lib_build.bat | 0 .../LFDS/liblfds6.1.1/liblfds611/sources.dynamic | 0 .../LFDS/liblfds6.1.1/liblfds611/sources.static | 0 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs | 0 .../LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c | 0 .../liblfds611/src/driver_entry_readme.txt | 0 .../lfds611_abstraction/lfds611_abstraction_cas.c | 0 .../lfds611_abstraction/lfds611_abstraction_dcas.c | 0 .../lfds611_abstraction/lfds611_abstraction_free.c | 0 .../lfds611_abstraction_increment.c | 0 .../lfds611_abstraction_internal_body.h | 0 .../lfds611_abstraction_internal_wrapper.h | 0 .../lfds611_abstraction_malloc.c | 0 .../src/lfds611_freelist/lfds611_freelist_delete.c | 0 .../lfds611_freelist/lfds611_freelist_get_and_set.c | 0 .../lfds611_freelist/lfds611_freelist_internal.h | 0 .../src/lfds611_freelist/lfds611_freelist_new.c | 0 .../lfds611_freelist/lfds611_freelist_pop_push.c | 0 .../src/lfds611_freelist/lfds611_freelist_query.c | 0 .../lfds611_liblfds_abstraction_test_helpers.c | 0 .../lfds611_liblfds/lfds611_liblfds_aligned_free.c | 0 .../lfds611_liblfds_aligned_malloc.c | 0 .../src/lfds611_liblfds/lfds611_liblfds_internal.h | 0 .../src/lfds611_liblfds/lfds611_liblfds_readme.txt | 0 .../src/lfds611_queue/lfds611_queue_delete.c | 0 .../src/lfds611_queue/lfds611_queue_internal.h | 0 .../src/lfds611_queue/lfds611_queue_new.c | 0 .../src/lfds611_queue/lfds611_queue_query.c | 0 .../src/lfds611_queue/lfds611_queue_queue.c | 0 .../lfds611_ringbuffer/lfds611_ringbuffer_delete.c | 0 .../lfds611_ringbuffer_get_and_put.c | 0 .../lfds611_ringbuffer_internal.h | 0 .../src/lfds611_ringbuffer/lfds611_ringbuffer_new.c | 0 .../lfds611_ringbuffer/lfds611_ringbuffer_query.c | 0 .../src/lfds611_slist/lfds611_slist_delete.c | 0 .../src/lfds611_slist/lfds611_slist_get_and_set.c | 0 .../src/lfds611_slist/lfds611_slist_internal.h | 0 .../src/lfds611_slist/lfds611_slist_link.c | 0 .../src/lfds611_slist/lfds611_slist_new.c | 0 .../src/lfds611_stack/lfds611_stack_delete.c | 0 .../src/lfds611_stack/lfds611_stack_internal.h | 0 .../src/lfds611_stack/lfds611_stack_new.c | 0 .../src/lfds611_stack/lfds611_stack_push_pop.c | 0 .../src/lfds611_stack/lfds611_stack_query.c | 0 .../liblfds611/src/liblfds611_internal.h | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux | 0 .../UTIL/LFDS/liblfds6.1.1/test/makefile.windows | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h | 0 .../liblfds6.1.1/test/src/abstraction_cpu_count.c | 0 .../test/src/abstraction_thread_start.c | 0 .../liblfds6.1.1/test/src/abstraction_thread_wait.c | 0 .../LFDS/liblfds6.1.1/test/src/benchmark_freelist.c | 0 .../LFDS/liblfds6.1.1/test/src/benchmark_queue.c | 0 .../liblfds6.1.1/test/src/benchmark_ringbuffer.c | 0 .../LFDS/liblfds6.1.1/test/src/benchmark_stack.c | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/structures.h | 0 .../LFDS/liblfds6.1.1/test/src/test_abstraction.c | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c | 0 .../LFDS/liblfds6.1.1/test/src/test_ringbuffer.c | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c | 0 .../UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln | 0 openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj | 0 .../liblfds700/build/gcc_and_gnumake/Makefile | 0 .../liblfds700/build/gcc_kbuild_and_gnumake/Kbuild | 0 .../build/gcc_kbuild_and_gnumake/Makefile | 0 .../sdk_for_windows_7_and_gnumake/liblfds700.def | 0 .../build/sdk_for_windows_7_and_gnumake/makefile | 0 .../visual_studio_professional_2012/liblfds700.def | 0 .../visual_studio_professional_2012/liblfds700.sln | 0 .../liblfds700.vcxproj | 0 .../liblfds700.vcxproj.filters | 0 .../liblfds700.vcxproj.user | 0 .../driver_entry.c | 0 .../liblfds700.def | 0 .../liblfds700.sln | 0 .../liblfds700.vcxproj | 0 .../liblfds700.vcxproj.filters | 0 .../liblfds700.vcxproj.user | 0 .../driver_entry.c | 0 .../liblfds700.def | 0 .../liblfds700.sln | 0 .../liblfds700.vcxproj | 0 .../liblfds700.vcxproj.filters | 0 .../liblfds700.vcxproj.user | 0 .../LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs | 0 ...driver_entry_renamed_to_avoid_compiler_warning.c | 0 .../liblfds700/build/wdk_7.1/liblfds700.def | 0 .../wdk_7.1/readme_before_win_kernel_build.txt | 0 .../runme_before_win_kernel_dynamic_lib_build.bat | 0 .../runme_before_win_kernel_static_lib_build.bat | 0 .../liblfds700/build/wdk_7.1/sources.dynamic | 0 .../liblfds700/build/wdk_7.1/sources.static | 0 .../LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h | 0 .../liblfds700/lfds700_btree_addonly_unbalanced.h | 0 .../liblfds700/inc/liblfds700/lfds700_freelist.h | 0 .../inc/liblfds700/lfds700_hash_addonly.h | 0 .../lfds700_list_addonly_ordered_singlylinked.h | 0 .../lfds700_list_addonly_singlylinked_unordered.h | 0 .../liblfds700/inc/liblfds700/lfds700_misc.h | 0 .../lfds700_porting_abstraction_layer_compiler.h | 0 ...700_porting_abstraction_layer_operating_system.h | 0 .../lfds700_porting_abstraction_layer_processor.h | 0 .../liblfds700/inc/liblfds700/lfds700_queue.h | 0 ...00_queue_bounded_singleconsumer_singleproducer.h | 0 .../liblfds700/inc/liblfds700/lfds700_ringbuffer.h | 0 .../liblfds700/inc/liblfds700/lfds700_stack.h | 0 .../lfds700_btree_addonly_unbalanced_cleanup.c | 0 .../lfds700_btree_addonly_unbalanced_get.c | 0 .../lfds700_btree_addonly_unbalanced_init.c | 0 .../lfds700_btree_addonly_unbalanced_insert.c | 0 .../lfds700_btree_addonly_unbalanced_internal.h | 0 .../lfds700_btree_addonly_unbalanced_query.c | 0 .../src/lfds700_freelist/lfds700_freelist_cleanup.c | 0 .../src/lfds700_freelist/lfds700_freelist_init.c | 0 .../lfds700_freelist/lfds700_freelist_internal.h | 0 .../src/lfds700_freelist/lfds700_freelist_pop.c | 0 .../src/lfds700_freelist/lfds700_freelist_push.c | 0 .../src/lfds700_freelist/lfds700_freelist_query.c | 0 .../lfds700_hash_addonly_cleanup.c | 0 .../lfds700_hash_addonly/lfds700_hash_addonly_get.c | 0 .../lfds700_hash_addonly_init.c | 0 .../lfds700_hash_addonly_insert.c | 0 .../lfds700_hash_addonly_internal.h | 0 .../lfds700_hash_addonly_iterate.c | 0 .../lfds700_hash_addonly_query.c | 0 ...s700_list_addonly_ordered_singlylinked_cleanup.c | 0 .../lfds700_list_addonly_ordered_singlylinked_get.c | 0 ...lfds700_list_addonly_ordered_singlylinked_init.c | 0 ...ds700_list_addonly_ordered_singlylinked_insert.c | 0 ...700_list_addonly_ordered_singlylinked_internal.h | 0 ...fds700_list_addonly_ordered_singlylinked_query.c | 0 ...00_list_addonly_singlylinked_unordered_cleanup.c | 0 ...fds700_list_addonly_singlylinked_unordered_get.c | 0 ...ds700_list_addonly_singlylinked_unordered_init.c | 0 ...700_list_addonly_singlylinked_unordered_insert.c | 0 ...0_list_addonly_singlylinked_unordered_internal.h | 0 ...s700_list_addonly_singlylinked_unordered_query.c | 0 .../src/lfds700_misc/lfds700_misc_cleanup.c | 0 .../src/lfds700_misc/lfds700_misc_globals.c | 0 .../liblfds700/src/lfds700_misc/lfds700_misc_init.c | 0 .../src/lfds700_misc/lfds700_misc_internal.h | 0 .../liblfds700/src/lfds700_misc/lfds700_misc_prng.c | 0 .../src/lfds700_misc/lfds700_misc_query.c | 0 .../src/lfds700_queue/lfds700_queue_cleanup.c | 0 .../src/lfds700_queue/lfds700_queue_dequeue.c | 0 .../src/lfds700_queue/lfds700_queue_enqueue.c | 0 .../src/lfds700_queue/lfds700_queue_init.c | 0 .../src/lfds700_queue/lfds700_queue_internal.h | 0 .../src/lfds700_queue/lfds700_queue_query.c | 0 ..._bounded_singleconsumer_singleproducer_cleanup.c | 0 ..._bounded_singleconsumer_singleproducer_dequeue.c | 0 ..._bounded_singleconsumer_singleproducer_enqueue.c | 0 ...eue_bounded_singleconsumer_singleproducer_init.c | 0 ...bounded_singleconsumer_singleproducer_internal.h | 0 ...ue_bounded_singleconsumer_singleproducer_query.c | 0 .../lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c | 0 .../lfds700_ringbuffer/lfds700_ringbuffer_init.c | 0 .../lfds700_ringbuffer_internal.h | 0 .../lfds700_ringbuffer/lfds700_ringbuffer_query.c | 0 .../lfds700_ringbuffer/lfds700_ringbuffer_read.c | 0 .../lfds700_ringbuffer/lfds700_ringbuffer_write.c | 0 .../src/lfds700_stack/lfds700_stack_cleanup.c | 0 .../src/lfds700_stack/lfds700_stack_init.c | 0 .../src/lfds700_stack/lfds700_stack_internal.h | 0 .../src/lfds700_stack/lfds700_stack_pop.c | 0 .../src/lfds700_stack/lfds700_stack_push.c | 0 .../src/lfds700_stack/lfds700_stack_query.c | 0 .../liblfds700/src/liblfds700_internal.h | 0 .../test/build/gcc_and_gnumake/Makefile | 0 .../build/sdk_for_windows_7_and_gnumake/makefile | 0 .../build/visual_studio_professional_2012/test.sln | 0 .../visual_studio_professional_2012/test.vcxproj | 0 .../test.vcxproj.filters | 0 .../test.vcxproj.user | 0 openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h | 0 openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c | 0 openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c | 0 .../src/test_lfds700_btree_addonly_unbalanced.c | 0 ...est_lfds700_btree_addonly_unbalanced_alignment.c | 0 ...s700_btree_addonly_unbalanced_random_adds_fail.c | 0 ...only_unbalanced_random_adds_fail_and_overwrite.c | 0 ...btree_addonly_unbalanced_random_adds_overwrite.c | 0 .../liblfds7.0.0/test/src/test_lfds700_freelist.c | 0 .../test/src/test_lfds700_freelist_alignment.c | 0 .../test/src/test_lfds700_freelist_popping.c | 0 .../src/test_lfds700_freelist_popping_and_pushing.c | 0 .../test/src/test_lfds700_freelist_pushing.c | 0 ...est_lfds700_freelist_rapid_popping_and_pushing.c | 0 .../test/src/test_lfds700_hash_addonly.c | 0 .../test/src/test_lfds700_hash_addonly_alignment.c | 0 .../test/src/test_lfds700_hash_addonly_iterate.c | 0 .../test_lfds700_hash_addonly_random_adds_fail.c | 0 ...00_hash_addonly_random_adds_fail_and_overwrite.c | 0 ...est_lfds700_hash_addonly_random_adds_overwrite.c | 0 ...test_lfds700_list_addonly_ordered_singlylinked.c | 0 ...00_list_addonly_ordered_singlylinked_alignment.c | 0 ..._list_addonly_ordered_singlylinked_new_ordered.c | 0 ...y_ordered_singlylinked_new_ordered_with_cursor.c | 0 ...st_lfds700_list_addonly_singlylinked_unordered.c | 0 ..._list_addonly_singlylinked_unordered_alignment.c | 0 ..._list_addonly_singlylinked_unordered_new_after.c | 0 ...00_list_addonly_singlylinked_unordered_new_end.c | 0 ..._list_addonly_singlylinked_unordered_new_start.c | 0 .../test_lfds700_porting_abstraction_layer_atomic.c | 0 ...t_lfds700_porting_abstraction_layer_atomic_cas.c | 0 ..._lfds700_porting_abstraction_layer_atomic_dcas.c | 0 ...s700_porting_abstraction_layer_atomic_exchange.c | 0 .../LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c | 0 .../test/src/test_lfds700_queue_alignment.c | 0 ...00_queue_bounded_singleconsumer_singleproducer.c | 0 ...ounded_singleconsumer_singleproducer_dequeuing.c | 0 ...ounded_singleconsumer_singleproducer_enqueuing.c | 0 ...onsumer_singleproducer_enqueuing_and_dequeuing.c | 0 .../test/src/test_lfds700_queue_dequeuing.c | 0 .../test/src/test_lfds700_queue_enqueuing.c | 0 .../test_lfds700_queue_enqueuing_and_dequeuing.c | 0 ...fds700_queue_enqueuing_and_dequeuing_with_free.c | 0 ..._enqueuing_with_malloc_and_dequeuing_with_free.c | 0 ...st_lfds700_queue_rapid_enqueuing_and_dequeuing.c | 0 .../liblfds7.0.0/test/src/test_lfds700_ringbuffer.c | 0 .../test/src/test_lfds700_ringbuffer_reading.c | 0 .../test_lfds700_ringbuffer_reading_and_writing.c | 0 .../test/src/test_lfds700_ringbuffer_writing.c | 0 .../LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c | 0 .../test/src/test_lfds700_stack_alignment.c | 0 .../test/src/test_lfds700_stack_popping.c | 0 .../src/test_lfds700_stack_popping_and_pushing.c | 0 .../test/src/test_lfds700_stack_pushing.c | 0 .../test_lfds700_stack_rapid_popping_and_pushing.c | 0 ...porting_abstraction_layer_get_logical_core_ids.c | 0 ...est_porting_abstraction_layer_operating_system.h | 0 .../test_porting_abstraction_layer_thread_start.c | 0 .../test_porting_abstraction_layer_thread_wait.c | 0 .../UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c | 0 .../UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h | 0 .../liblfds7.0.0/test/src/util_memory_helpers.c | 0 .../liblfds7.0.0/test/src/util_memory_helpers.h | 0 .../liblfds7.0.0/test/src/util_thread_starter.c | 0 .../liblfds7.0.0/test/src/util_thread_starter.h | 0 openair2/UTIL/LISTS/list.c | 0 openair2/UTIL/LISTS/list.h | 0 openair2/UTIL/LISTS/list2.c | 0 openair2/UTIL/MATH/crc_byte.c | 0 openair2/UTIL/MATH/oml.c | 0 openair2/UTIL/MATH/oml.h | 0 openair2/UTIL/MATH/random.c | 0 openair2/UTIL/MATH/random_proto_extern.h | 0 openair2/UTIL/MATH/taus.c | 0 openair2/UTIL/MEM/mem_block.c | 0 openair2/UTIL/MEM/mem_block.h | 0 openair2/UTIL/MEM/mem_mngt.c | 0 openair2/UTIL/MEM/mem_mngt_proto_extern.h | 0 openair2/UTIL/MEM/mem_pool.h | 0 openair2/UTIL/Makefile.inc | 0 openair2/UTIL/OCG/.directory | 0 openair2/UTIL/OCG/Doxyfile | 0 openair2/UTIL/OCG/OCG.c | 0 openair2/UTIL/OCG/OCG.h | 0 openair2/UTIL/OCG/OCG_call_emu.c | 0 openair2/UTIL/OCG/OCG_call_emu.h | 0 openair2/UTIL/OCG/OCG_config_mobi.c | 0 openair2/UTIL/OCG/OCG_config_mobi.h | 0 openair2/UTIL/OCG/OCG_create_dir.c | 0 openair2/UTIL/OCG/OCG_create_dir.h | 0 openair2/UTIL/OCG/OCG_detect_file.c | 0 openair2/UTIL/OCG/OCG_detect_file.h | 0 openair2/UTIL/OCG/OCG_extern.h | 0 openair2/UTIL/OCG/OCG_generate_report.c | 0 openair2/UTIL/OCG/OCG_generate_report.h | 0 openair2/UTIL/OCG/OCG_get_opt.c | 0 openair2/UTIL/OCG/OCG_get_opt.h | 0 openair2/UTIL/OCG/OCG_if.h | 0 openair2/UTIL/OCG/OCG_parse_XML.c | 0 openair2/UTIL/OCG/OCG_parse_XML.h | 0 openair2/UTIL/OCG/OCG_parse_filename.c | 0 openair2/UTIL/OCG/OCG_parse_filename.h | 0 openair2/UTIL/OCG/OCG_save_XML.c | 0 openair2/UTIL/OCG/OCG_save_XML.h | 0 openair2/UTIL/OCG/OCG_vars.h | 0 openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml | 0 openair2/UTIL/OCG/eurecom_20110208110244.xml | 0 .../UTIL/OCG/local_XML/Lusheng.20110208110244.xml | 0 openair2/UTIL/OCG/makefile | 0 openair2/UTIL/OCG/readme.txt | 0 openair2/UTIL/OCG/temp_output/OCG_report.xml | 0 openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf | Bin openair2/UTIL/OMG/README.TXT | 0 openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf | Bin openair2/UTIL/OMG/TRACE/README.TXT | 0 openair2/UTIL/OMG/TRACE/example_trace.tr | 0 openair2/UTIL/OMG/TRACE/handover.tr | 0 openair2/UTIL/OMG/TRACE/handover_1ue.tr | 0 openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr | 0 openair2/UTIL/OMG/TRACE/mobility_2ues.tr | 0 openair2/UTIL/OMG/TRACE/mobility_3ues.tr | 0 openair2/UTIL/OMG/TRACE/regular.tr | 0 openair2/UTIL/OMG/TRACE/static_1enb.tr | 0 openair2/UTIL/OMG/TRACE/static_2ues.tr | 0 openair2/UTIL/OMG/TRACE/zero_speed.tr | 0 openair2/UTIL/OMG/common.c | 0 openair2/UTIL/OMG/defs.h | 0 openair2/UTIL/OMG/grid.c | 0 openair2/UTIL/OMG/grid.h | 0 openair2/UTIL/OMG/job.c | 0 openair2/UTIL/OMG/makefile | 0 openair2/UTIL/OMG/makefile_old | 0 openair2/UTIL/OMG/makefile_standalone | 0 openair2/UTIL/OMG/mobility.txt | 0 openair2/UTIL/OMG/mobility_parser.c | 0 openair2/UTIL/OMG/mobility_parser.h | 0 openair2/UTIL/OMG/omg.c | 0 openair2/UTIL/OMG/omg.h | 0 openair2/UTIL/OMG/omg_constants.h | 0 openair2/UTIL/OMG/omg_hashtable.c | 0 openair2/UTIL/OMG/omg_hashtable.h | 0 openair2/UTIL/OMG/omg_vars.h | 0 openair2/UTIL/OMG/rwalk.c | 0 openair2/UTIL/OMG/rwalk.h | 0 openair2/UTIL/OMG/rwp.c | 0 openair2/UTIL/OMG/rwp.h | 0 openair2/UTIL/OMG/static.c | 0 openair2/UTIL/OMG/static.h | 0 openair2/UTIL/OMG/steadystaterwp.c | 0 openair2/UTIL/OMG/steadystaterwp.h | 0 openair2/UTIL/OMG/trace.c | 0 openair2/UTIL/OMG/trace.h | 0 openair2/UTIL/OMG/trace_hashtable.c | 0 openair2/UTIL/OMG/trace_hashtable.h | 0 openair2/UTIL/OMV/README.txt | 0 openair2/UTIL/OMV/blue.png | Bin openair2/UTIL/OMV/communicationthread.cpp | 0 openair2/UTIL/OMV/communicationthread.h | 0 openair2/UTIL/OMV/green.png | Bin openair2/UTIL/OMV/jpg.jpeg | Bin openair2/UTIL/OMV/mus.png | Bin openair2/UTIL/OMV/mywindow.cpp | 0 openair2/UTIL/OMV/mywindow.h | 0 openair2/UTIL/OMV/new.jpg | Bin openair2/UTIL/OMV/new2.jpg | Bin openair2/UTIL/OMV/omv.cpp | 0 openair2/UTIL/OMV/openglwidget.cpp | 0 openair2/UTIL/OMV/openglwidget.h | 0 openair2/UTIL/OMV/red.png | Bin openair2/UTIL/OMV/structures.h | 0 openair2/UTIL/OMV/white.png | Bin openair2/UTIL/OMV/wow.png | Bin openair2/UTIL/OPT/README.txt | 0 openair2/UTIL/OPT/mac_pcap.h | 0 openair2/UTIL/OPT/opt.h | 0 openair2/UTIL/OPT/packet-mac-lte.h | 0 openair2/UTIL/OPT/probe.c | 0 openair2/UTIL/OPT/vars.h | 0 openair2/UTIL/OSA/README | 0 openair2/UTIL/OSA/osa_defs.h | 0 openair2/UTIL/OSA/osa_internal.h | 0 openair2/UTIL/OSA/osa_key_deriver.c | 0 openair2/UTIL/OSA/osa_rijndael.c | 0 openair2/UTIL/OSA/osa_rijndael.h | 0 openair2/UTIL/OSA/osa_snow3g.c | 0 openair2/UTIL/OSA/osa_snow3g.h | 0 openair2/UTIL/OSA/osa_stream_eea.c | 0 openair2/UTIL/OSA/osa_stream_eia.c | 0 openair2/UTIL/OSD/OCG.pid | 0 openair2/UTIL/OSD/OpenAirEmu.conf | 0 openair2/UTIL/OSD/Platform_is_running.php | 0 openair2/UTIL/OSD/README.txt | 0 openair2/UTIL/OSD/css/blueprint.css | 0 openair2/UTIL/OSD/css/fix-ie-rtl.css | 0 openair2/UTIL/OSD/css/fix-ie.css | 0 openair2/UTIL/OSD/css/ie.css | 0 openair2/UTIL/OSD/css/ie6.css | 0 openair2/UTIL/OSD/css/images/false.png | Bin openair2/UTIL/OSD/css/images/false2.png | Bin openair2/UTIL/OSD/css/images/lquote.png | Bin openair2/UTIL/OSD/css/images/true.png | Bin openair2/UTIL/OSD/css/images/warning.png | Bin openair2/UTIL/OSD/css/print.css | 0 openair2/UTIL/OSD/css/screen.css | 0 openair2/UTIL/OSD/css/style.css | 0 openair2/UTIL/OSD/form.php | 0 openair2/UTIL/OSD/header.php | 0 openair2/UTIL/OSD/httpd-result.conf | 0 openair2/UTIL/OSD/index.php | 0 openair2/UTIL/OSD/jquery/jquery.js | 0 openair2/UTIL/OSD/recep.php | 0 openair2/UTIL/OSD/toto.php | 0 openair2/UTIL/OTG/Doxyfile | 0 openair2/UTIL/OTG/help_OTGplot.txt | 0 openair2/UTIL/OTG/main.c | 0 openair2/UTIL/OTG/makefile | 0 openair2/UTIL/OTG/otg.c | 0 openair2/UTIL/OTG/otg.h | 0 openair2/UTIL/OTG/otg_config.h | 0 openair2/UTIL/OTG/otg_defs.h | 0 openair2/UTIL/OTG/otg_externs.h | 0 openair2/UTIL/OTG/otg_form.c | 0 openair2/UTIL/OTG/otg_form.h | 0 openair2/UTIL/OTG/otg_kpi.c | 0 openair2/UTIL/OTG/otg_kpi.h | 0 openair2/UTIL/OTG/otg_models.c | 0 openair2/UTIL/OTG/otg_models.h | 0 openair2/UTIL/OTG/otg_rx.c | 0 openair2/UTIL/OTG/otg_rx.h | 0 openair2/UTIL/OTG/otg_rx_socket.c | 0 openair2/UTIL/OTG/otg_rx_socket.h | 0 openair2/UTIL/OTG/otg_tx.c | 0 openair2/UTIL/OTG/otg_tx.h | 0 openair2/UTIL/OTG/otg_tx_socket.c | 0 openair2/UTIL/OTG/otg_tx_socket.h | 0 openair2/UTIL/OTG/otg_vars.h | 0 openair2/UTIL/OTG/traffic_config.h | 0 openair2/UTIL/TIMER/umts_timer.c | 0 openair2/UTIL/TIMER/umts_timer.h | 0 openair2/UTIL/TIMER/umts_timer_proto_extern.h | 0 openair2/UTIL/TIMER/umts_timer_struct.h | 0 openair2/UTIL/TRACE/fifo_printf.c | 0 openair2/UTIL/TRACE/fifo_printf.h | 0 openair2/UTIL/TRACE/fifo_printf_proto_extern.h | 0 openair2/UTIL/TRACE/print.h | 0 openair2/X2AP/MESSAGES/ASN1/R10/x2ap-10.7.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R11/x2ap-11.9.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R12/x2ap-12.8.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R13/x2ap-13.7.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R14/x2ap-14.6.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.1.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.2.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R8/x2ap-8.9.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/R9/x2ap-9.6.0.asn1 | 0 openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py | 0 openair2/X2AP/Makefile.inc | 0 openair2/X2AP/x2ap_common.c | 0 openair2/X2AP/x2ap_common.h | 0 openair2/X2AP/x2ap_eNB.h | 0 openair2/X2AP/x2ap_eNB_encoder.c | 0 openair2/X2AP/x2ap_eNB_handler.h | 0 openair2/X2AP/x2ap_eNB_management_procedures.h | 0 openair3/COMMON/as_message.h | 0 openair3/COMMON/common_types.h | 0 openair3/COMMON/gtpv1_u_messages_def.h | 0 openair3/COMMON/gtpv1_u_messages_types.h | 0 openair3/COMMON/intertask_interface_conf.h | 0 openair3/COMMON/messages_def.h | 0 openair3/COMMON/messages_types.h | 0 openair3/COMMON/nas_messages_def.h | 0 openair3/COMMON/nas_messages_types.h | 0 openair3/COMMON/s1ap_messages_def.h | 0 openair3/COMMON/s1ap_messages_types.h | 0 openair3/COMMON/sctp_messages_def.h | 0 openair3/COMMON/sctp_messages_types.h | 0 openair3/COMMON/security_types.h | 0 openair3/COMMON/tasks_def.h | 0 openair3/COMMON/udp_messages_def.h | 0 openair3/COMMON/udp_messages_types.h | 0 openair3/DOCS/DOXYGEN/Doxyfile.in | 0 openair3/DOCS/DOXYGEN/Makefile.am | 0 openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf | Bin openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex | 0 openair3/DOCS/Latex/EPC/EPC.pdf | Bin openair3/DOCS/Latex/EPC/EPC.tex | 0 openair3/DOCS/Latex/EPC/Makefile | 0 openair3/DOCS/Makefile.am | 0 openair3/GTPV1-U/Makefile.am | 0 openair3/GTPV1-U/Makefile.eNB | 0 openair3/GTPV1-U/gtpv1u.h | 0 openair3/GTPV1-U/gtpv1u_eNB.c | 0 openair3/GTPV1-U/gtpv1u_eNB_defs.h | 0 openair3/GTPV1-U/gtpv1u_eNB_task.h | 0 openair3/GTPV1-U/gtpv1u_sgw_defs.h | 0 openair3/GTPV1-U/gtpv1u_task.c | 0 openair3/GTPV1-U/gtpv1u_teid_pool.c | 0 openair3/GTPV1-U/nw-gtpv1u/AUTHORS | 0 openair3/GTPV1-U/nw-gtpv1u/COPYING | 0 openair3/GTPV1-U/nw-gtpv1u/ChangeLog | 0 openair3/GTPV1-U/nw-gtpv1u/NEWS | 0 openair3/GTPV1-U/nw-gtpv1u/README | 0 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h | 0 .../GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h | 0 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h | 0 .../nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h | 0 openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h | 0 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c | 0 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c | 0 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c | 0 .../GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c | 0 openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am | 0 openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in | 0 .../nw-gtpv1u/test-app/nw-helloworld/Makefile.am | 0 .../nw-gtpv1u/test-app/nw-helloworld/Makefile.in | 0 .../nw-gtpv1u/test-app/nw-helloworld/NwEvt.h | 0 .../test-app/nw-helloworld/NwMiniLogMgrEntity.c | 0 .../test-app/nw-helloworld/NwMiniLogMgrEntity.h | 0 .../test-app/nw-helloworld/NwMiniTmrMgrEntity.c | 0 .../test-app/nw-helloworld/NwMiniTmrMgrEntity.h | 0 .../test-app/nw-helloworld/NwMiniUdpEntity.c | 0 .../test-app/nw-helloworld/NwMiniUdpEntity.h | 0 .../test-app/nw-helloworld/NwMiniUlpEntity.c | 0 .../test-app/nw-helloworld/NwMiniUlpEntity.h | 0 .../nw-gtpv1u/test-app/nw-helloworld/helloworld.c | 0 openair3/NAS/COMMON/API/NETWORK/Makefile | 0 openair3/NAS/COMMON/API/NETWORK/as_message.c | 0 openair3/NAS/COMMON/API/NETWORK/as_message.h | 0 openair3/NAS/COMMON/API/NETWORK/l2_message.h | 0 openair3/NAS/COMMON/API/NETWORK/nas_message.c | 0 openair3/NAS/COMMON/API/NETWORK/nas_message.h | 0 openair3/NAS/COMMON/API/NETWORK/network_api.c | 0 openair3/NAS/COMMON/API/NETWORK/network_api.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachAccept.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachAccept.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachComplete.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachComplete.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachReject.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachReject.h | 0 openair3/NAS/COMMON/EMM/MSG/AttachRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/AttachRequest.h | 0 openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c | 0 openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h | 0 openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c | 0 openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h | 0 openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h | 0 .../NAS/COMMON/EMM/MSG/AuthenticationResponse.c | 0 .../NAS/COMMON/EMM/MSG/AuthenticationResponse.h | 0 openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c | 0 openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h | 0 openair3/NAS/COMMON/EMM/MSG/DetachAccept.c | 0 openair3/NAS/COMMON/EMM/MSG/DetachAccept.h | 0 openair3/NAS/COMMON/EMM/MSG/DetachRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/DetachRequest.h | 0 openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c | 0 openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h | 0 openair3/NAS/COMMON/EMM/MSG/EmmInformation.c | 0 openair3/NAS/COMMON/EMM/MSG/EmmInformation.h | 0 openair3/NAS/COMMON/EMM/MSG/EmmStatus.c | 0 openair3/NAS/COMMON/EMM/MSG/EmmStatus.h | 0 .../NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c | 0 .../NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h | 0 .../NAS/COMMON/EMM/MSG/GutiReallocationCommand.c | 0 .../NAS/COMMON/EMM/MSG/GutiReallocationCommand.h | 0 .../NAS/COMMON/EMM/MSG/GutiReallocationComplete.c | 0 .../NAS/COMMON/EMM/MSG/GutiReallocationComplete.h | 0 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h | 0 openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c | 0 openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h | 0 openair3/NAS/COMMON/EMM/MSG/Makefile | 0 .../NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h | 0 .../NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h | 0 openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c | 0 openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c | 0 openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c | 0 openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h | 0 openair3/NAS/COMMON/EMM/MSG/ServiceReject.c | 0 openair3/NAS/COMMON/EMM/MSG/ServiceReject.h | 0 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c | 0 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c | 0 .../NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h | 0 openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c | 0 openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h | 0 openair3/NAS/COMMON/EMM/MSG/emm_cause.h | 0 openair3/NAS/COMMON/EMM/MSG/emm_msg.c | 0 openair3/NAS/COMMON/EMM/MSG/emm_msg.h | 0 openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h | 0 .../MSG/ActivateDedicatedEpsBearerContextAccept.c | 0 .../MSG/ActivateDedicatedEpsBearerContextAccept.h | 0 .../MSG/ActivateDedicatedEpsBearerContextReject.c | 0 .../MSG/ActivateDedicatedEpsBearerContextReject.h | 0 .../MSG/ActivateDedicatedEpsBearerContextRequest.c | 0 .../MSG/ActivateDedicatedEpsBearerContextRequest.h | 0 .../ESM/MSG/ActivateDefaultEpsBearerContextAccept.c | 0 .../ESM/MSG/ActivateDefaultEpsBearerContextAccept.h | 0 .../ESM/MSG/ActivateDefaultEpsBearerContextReject.c | 0 .../ESM/MSG/ActivateDefaultEpsBearerContextReject.h | 0 .../MSG/ActivateDefaultEpsBearerContextRequest.c | 0 .../MSG/ActivateDefaultEpsBearerContextRequest.h | 0 .../COMMON/ESM/MSG/BearerResourceAllocationReject.c | 0 .../COMMON/ESM/MSG/BearerResourceAllocationReject.h | 0 .../ESM/MSG/BearerResourceAllocationRequest.c | 0 .../ESM/MSG/BearerResourceAllocationRequest.h | 0 .../ESM/MSG/BearerResourceModificationReject.c | 0 .../ESM/MSG/BearerResourceModificationReject.h | 0 .../ESM/MSG/BearerResourceModificationRequest.c | 0 .../ESM/MSG/BearerResourceModificationRequest.h | 0 .../ESM/MSG/DeactivateEpsBearerContextAccept.c | 0 .../ESM/MSG/DeactivateEpsBearerContextAccept.h | 0 .../ESM/MSG/DeactivateEpsBearerContextRequest.c | 0 .../ESM/MSG/DeactivateEpsBearerContextRequest.h | 0 openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c | 0 openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h | 0 .../NAS/COMMON/ESM/MSG/EsmInformationResponse.c | 0 .../NAS/COMMON/ESM/MSG/EsmInformationResponse.h | 0 openair3/NAS/COMMON/ESM/MSG/EsmStatus.c | 0 openair3/NAS/COMMON/ESM/MSG/EsmStatus.h | 0 openair3/NAS/COMMON/ESM/MSG/Makefile | 0 .../COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c | 0 .../COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h | 0 .../COMMON/ESM/MSG/ModifyEpsBearerContextReject.c | 0 .../COMMON/ESM/MSG/ModifyEpsBearerContextReject.h | 0 .../COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c | 0 .../COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h | 0 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c | 0 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h | 0 .../NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c | 0 .../NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h | 0 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c | 0 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h | 0 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c | 0 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h | 0 openair3/NAS/COMMON/ESM/MSG/esm_cause.h | 0 openair3/NAS/COMMON/ESM/MSG/esm_msg.c | 0 openair3/NAS/COMMON/ESM/MSG/esm_msg.h | 0 openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h | 0 openair3/NAS/COMMON/IES/AccessPointName.c | 0 openair3/NAS/COMMON/IES/AccessPointName.h | 0 openair3/NAS/COMMON/IES/AdditionalUpdateResult.c | 0 openair3/NAS/COMMON/IES/AdditionalUpdateResult.h | 0 openair3/NAS/COMMON/IES/AdditionalUpdateType.c | 0 openair3/NAS/COMMON/IES/AdditionalUpdateType.h | 0 .../NAS/COMMON/IES/ApnAggregateMaximumBitRate.c | 0 .../NAS/COMMON/IES/ApnAggregateMaximumBitRate.h | 0 .../NAS/COMMON/IES/AuthenticationFailureParameter.c | 0 .../NAS/COMMON/IES/AuthenticationFailureParameter.h | 0 .../NAS/COMMON/IES/AuthenticationParameterAutn.c | 0 .../NAS/COMMON/IES/AuthenticationParameterAutn.h | 0 .../NAS/COMMON/IES/AuthenticationParameterRand.c | 0 .../NAS/COMMON/IES/AuthenticationParameterRand.h | 0 .../COMMON/IES/AuthenticationResponseParameter.c | 0 .../COMMON/IES/AuthenticationResponseParameter.h | 0 .../NAS/COMMON/IES/CipheringKeySequenceNumber.c | 0 .../NAS/COMMON/IES/CipheringKeySequenceNumber.h | 0 openair3/NAS/COMMON/IES/Cli.c | 0 openair3/NAS/COMMON/IES/Cli.h | 0 openair3/NAS/COMMON/IES/CsfbResponse.c | 0 openair3/NAS/COMMON/IES/CsfbResponse.h | 0 openair3/NAS/COMMON/IES/DaylightSavingTime.c | 0 openair3/NAS/COMMON/IES/DaylightSavingTime.h | 0 openair3/NAS/COMMON/IES/DetachType.c | 0 openair3/NAS/COMMON/IES/DetachType.h | 0 openair3/NAS/COMMON/IES/DrxParameter.c | 0 openair3/NAS/COMMON/IES/DrxParameter.h | 0 openair3/NAS/COMMON/IES/EmergencyNumberList.c | 0 openair3/NAS/COMMON/IES/EmergencyNumberList.h | 0 openair3/NAS/COMMON/IES/EmmCause.c | 0 openair3/NAS/COMMON/IES/EmmCause.h | 0 openair3/NAS/COMMON/IES/EpsAttachResult.c | 0 openair3/NAS/COMMON/IES/EpsAttachResult.h | 0 openair3/NAS/COMMON/IES/EpsAttachType.c | 0 openair3/NAS/COMMON/IES/EpsAttachType.h | 0 openair3/NAS/COMMON/IES/EpsBearerContextStatus.c | 0 openair3/NAS/COMMON/IES/EpsBearerContextStatus.h | 0 openair3/NAS/COMMON/IES/EpsBearerIdentity.c | 0 openair3/NAS/COMMON/IES/EpsBearerIdentity.h | 0 openair3/NAS/COMMON/IES/EpsMobileIdentity.c | 0 openair3/NAS/COMMON/IES/EpsMobileIdentity.h | 0 openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c | 0 openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h | 0 openair3/NAS/COMMON/IES/EpsQualityOfService.c | 0 openair3/NAS/COMMON/IES/EpsQualityOfService.h | 0 openair3/NAS/COMMON/IES/EpsUpdateResult.c | 0 openair3/NAS/COMMON/IES/EpsUpdateResult.h | 0 openair3/NAS/COMMON/IES/EpsUpdateType.c | 0 openair3/NAS/COMMON/IES/EpsUpdateType.h | 0 openair3/NAS/COMMON/IES/EsmCause.c | 0 openair3/NAS/COMMON/IES/EsmCause.h | 0 .../NAS/COMMON/IES/EsmInformationTransferFlag.c | 0 .../NAS/COMMON/IES/EsmInformationTransferFlag.h | 0 openair3/NAS/COMMON/IES/EsmMessageContainer.c | 0 openair3/NAS/COMMON/IES/EsmMessageContainer.h | 0 openair3/NAS/COMMON/IES/GprsTimer.c | 0 openair3/NAS/COMMON/IES/GprsTimer.h | 0 openair3/NAS/COMMON/IES/GutiType.c | 0 openair3/NAS/COMMON/IES/GutiType.h | 0 openair3/NAS/COMMON/IES/IdentityType2.c | 0 openair3/NAS/COMMON/IES/IdentityType2.h | 0 openair3/NAS/COMMON/IES/ImeisvRequest.c | 0 openair3/NAS/COMMON/IES/ImeisvRequest.h | 0 openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c | 0 openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h | 0 openair3/NAS/COMMON/IES/LcsClientIdentity.c | 0 openair3/NAS/COMMON/IES/LcsClientIdentity.h | 0 openair3/NAS/COMMON/IES/LcsIndicator.c | 0 openair3/NAS/COMMON/IES/LcsIndicator.h | 0 openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c | 0 openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h | 0 .../COMMON/IES/LlcServiceAccessPointIdentifier.c | 0 .../COMMON/IES/LlcServiceAccessPointIdentifier.h | 0 .../NAS/COMMON/IES/LocationAreaIdentification.c | 0 .../NAS/COMMON/IES/LocationAreaIdentification.h | 0 openair3/NAS/COMMON/IES/Makefile | 0 openair3/NAS/COMMON/IES/MessageType.c | 0 openair3/NAS/COMMON/IES/MessageType.h | 0 openair3/NAS/COMMON/IES/MobileIdentity.c | 0 openair3/NAS/COMMON/IES/MobileIdentity.h | 0 openair3/NAS/COMMON/IES/MobileStationClassmark2.c | 0 openair3/NAS/COMMON/IES/MobileStationClassmark2.h | 0 openair3/NAS/COMMON/IES/MobileStationClassmark3.c | 0 openair3/NAS/COMMON/IES/MobileStationClassmark3.h | 0 openair3/NAS/COMMON/IES/MsNetworkCapability.c | 0 openair3/NAS/COMMON/IES/MsNetworkCapability.h | 0 openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c | 0 openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h | 0 openair3/NAS/COMMON/IES/NasKeySetIdentifier.c | 0 openair3/NAS/COMMON/IES/NasKeySetIdentifier.h | 0 openair3/NAS/COMMON/IES/NasMessageContainer.c | 0 openair3/NAS/COMMON/IES/NasMessageContainer.h | 0 openair3/NAS/COMMON/IES/NasRequestType.c | 0 openair3/NAS/COMMON/IES/NasRequestType.h | 0 openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c | 0 openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h | 0 openair3/NAS/COMMON/IES/NetworkName.c | 0 openair3/NAS/COMMON/IES/NetworkName.h | 0 openair3/NAS/COMMON/IES/Nonce.c | 0 openair3/NAS/COMMON/IES/Nonce.h | 0 openair3/NAS/COMMON/IES/PTmsiSignature.c | 0 openair3/NAS/COMMON/IES/PTmsiSignature.h | 0 openair3/NAS/COMMON/IES/PacketFlowIdentifier.c | 0 openair3/NAS/COMMON/IES/PacketFlowIdentifier.h | 0 openair3/NAS/COMMON/IES/PagingIdentity.c | 0 openair3/NAS/COMMON/IES/PagingIdentity.h | 0 openair3/NAS/COMMON/IES/PdnAddress.c | 0 openair3/NAS/COMMON/IES/PdnAddress.h | 0 openair3/NAS/COMMON/IES/PdnType.c | 0 openair3/NAS/COMMON/IES/PdnType.h | 0 openair3/NAS/COMMON/IES/PlmnList.c | 0 openair3/NAS/COMMON/IES/PlmnList.h | 0 .../NAS/COMMON/IES/ProcedureTransactionIdentity.c | 0 .../NAS/COMMON/IES/ProcedureTransactionIdentity.h | 0 .../NAS/COMMON/IES/ProtocolConfigurationOptions.c | 0 .../NAS/COMMON/IES/ProtocolConfigurationOptions.h | 0 openair3/NAS/COMMON/IES/ProtocolDiscriminator.c | 0 openair3/NAS/COMMON/IES/ProtocolDiscriminator.h | 0 openair3/NAS/COMMON/IES/QualityOfService.c | 0 openair3/NAS/COMMON/IES/QualityOfService.h | 0 openair3/NAS/COMMON/IES/RadioPriority.c | 0 openair3/NAS/COMMON/IES/RadioPriority.h | 0 openair3/NAS/COMMON/IES/SecurityHeaderType.c | 0 openair3/NAS/COMMON/IES/SecurityHeaderType.h | 0 openair3/NAS/COMMON/IES/ServiceType.c | 0 openair3/NAS/COMMON/IES/ServiceType.h | 0 openair3/NAS/COMMON/IES/ShortMac.c | 0 openair3/NAS/COMMON/IES/ShortMac.h | 0 openair3/NAS/COMMON/IES/SsCode.c | 0 openair3/NAS/COMMON/IES/SsCode.h | 0 openair3/NAS/COMMON/IES/SupportedCodecList.c | 0 openair3/NAS/COMMON/IES/SupportedCodecList.h | 0 openair3/NAS/COMMON/IES/TimeZone.c | 0 openair3/NAS/COMMON/IES/TimeZone.h | 0 openair3/NAS/COMMON/IES/TimeZoneAndTime.c | 0 openair3/NAS/COMMON/IES/TimeZoneAndTime.h | 0 openair3/NAS/COMMON/IES/TmsiStatus.c | 0 openair3/NAS/COMMON/IES/TmsiStatus.h | 0 openair3/NAS/COMMON/IES/TrackingAreaIdentity.c | 0 openair3/NAS/COMMON/IES/TrackingAreaIdentity.h | 0 openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c | 0 openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h | 0 .../COMMON/IES/TrafficFlowAggregateDescription.c | 0 .../COMMON/IES/TrafficFlowAggregateDescription.h | 0 openair3/NAS/COMMON/IES/TrafficFlowTemplate.c | 0 openair3/NAS/COMMON/IES/TrafficFlowTemplate.h | 0 openair3/NAS/COMMON/IES/TransactionIdentifier.c | 0 openair3/NAS/COMMON/IES/TransactionIdentifier.h | 0 openair3/NAS/COMMON/IES/UeNetworkCapability.c | 0 openair3/NAS/COMMON/IES/UeNetworkCapability.h | 0 .../IES/UeRadioCapabilityInformationUpdateNeeded.c | 0 .../IES/UeRadioCapabilityInformationUpdateNeeded.h | 0 openair3/NAS/COMMON/IES/UeSecurityCapability.c | 0 openair3/NAS/COMMON/IES/UeSecurityCapability.h | 0 .../IES/VoiceDomainPreferenceAndUeUsageSetting.c | 0 .../IES/VoiceDomainPreferenceAndUeUsageSetting.h | 0 openair3/NAS/COMMON/UTIL/Makefile | 0 openair3/NAS/COMMON/UTIL/OctetString.c | 0 openair3/NAS/COMMON/UTIL/OctetString.h | 0 openair3/NAS/COMMON/UTIL/TLVDecoder.c | 0 openair3/NAS/COMMON/UTIL/TLVDecoder.h | 0 openair3/NAS/COMMON/UTIL/TLVEncoder.c | 0 openair3/NAS/COMMON/UTIL/TLVEncoder.h | 0 openair3/NAS/COMMON/UTIL/device.c | 0 openair3/NAS/COMMON/UTIL/device.h | 0 openair3/NAS/COMMON/UTIL/memory.c | 0 openair3/NAS/COMMON/UTIL/memory.h | 0 openair3/NAS/COMMON/UTIL/nas_log.h | 0 openair3/NAS/COMMON/UTIL/nas_timer.c | 0 openair3/NAS/COMMON/UTIL/nas_timer.h | 0 openair3/NAS/COMMON/UTIL/parser.c | 0 openair3/NAS/COMMON/UTIL/parser.h | 0 openair3/NAS/COMMON/UTIL/socket.c | 0 openair3/NAS/COMMON/UTIL/socket.h | 0 openair3/NAS/COMMON/UTIL/stty.c | 0 openair3/NAS/COMMON/UTIL/tst/Makefile | 0 openair3/NAS/COMMON/UTIL/tst/timer.c | 0 openair3/NAS/COMMON/UTIL/tst/timer_debug.txt | 0 openair3/NAS/COMMON/commonDef.h | 0 openair3/NAS/COMMON/networkDef.h | 0 openair3/NAS/COMMON/securityDef.h | 0 openair3/NAS/COMMON/userDef.h | 0 openair3/NAS/TEST/AS_SIMULATOR/Makefile | 0 openair3/NAS/TEST/AS_SIMULATOR/as_data.c | 0 openair3/NAS/TEST/AS_SIMULATOR/as_data.h | 0 openair3/NAS/TEST/AS_SIMULATOR/as_process.c | 0 openair3/NAS/TEST/AS_SIMULATOR/as_process.h | 0 openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c | 0 .../NAS/TEST/AS_SIMULATOR/as_simulator_parser.c | 0 .../NAS/TEST/AS_SIMULATOR/as_simulator_parser.h | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_data.c | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_data.h | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_process.c | 0 openair3/NAS/TEST/AS_SIMULATOR/nas_process.h | 0 openair3/NAS/TEST/MSC/ActivatePDN.png | Bin openair3/NAS/TEST/MSC/AuthenticationReject.png | Bin openair3/NAS/TEST/MSC/DeactivatePDN.png | Bin openair3/NAS/TEST/MSC/InitialAttach.png | Bin openair3/NAS/TEST/MSC/InitialAttachReject.png | Bin openair3/NAS/TEST/MSC/NomalDetach.png | Bin openair3/NAS/TEST/MSC/README | 0 openair3/NAS/TEST/MSC/SwitchOffDetach.png | Bin openair3/NAS/TEST/NETWORK/Makefile | 0 openair3/NAS/TEST/NETWORK/README | 0 openair3/NAS/TEST/NETWORK/network_parser.c | 0 openair3/NAS/TEST/NETWORK/network_parser.h | 0 openair3/NAS/TEST/NETWORK/network_simulator.c | 0 openair3/NAS/TEST/USER/Makefile | 0 openair3/NAS/TEST/USER/user_parser.c | 0 openair3/NAS/TEST/USER/user_parser.h | 0 openair3/NAS/TEST/USER/user_simulator.c | 0 openair3/NAS/TOOLS/conf2uedata.c | 0 openair3/NAS/TOOLS/conf2uedata.h | 0 openair3/NAS/TOOLS/conf_emm.c | 0 openair3/NAS/TOOLS/conf_emm.h | 0 openair3/NAS/TOOLS/conf_network.c | 0 openair3/NAS/TOOLS/conf_network.h | 0 openair3/NAS/TOOLS/conf_parser.c | 0 openair3/NAS/TOOLS/conf_parser.h | 0 openair3/NAS/TOOLS/conf_user_data.c | 0 openair3/NAS/TOOLS/conf_user_data.h | 0 openair3/NAS/TOOLS/conf_user_plmn.c | 0 openair3/NAS/TOOLS/conf_user_plmn.h | 0 openair3/NAS/TOOLS/conf_usim.c | 0 openair3/NAS/TOOLS/conf_usim.h | 0 openair3/NAS/TOOLS/display.c | 0 openair3/NAS/TOOLS/display.h | 0 openair3/NAS/TOOLS/fs.c | 0 openair3/NAS/TOOLS/fs.h | 0 openair3/NAS/TOOLS/network.h | 0 openair3/NAS/TOOLS/nvram.c | 0 openair3/NAS/TOOLS/ue_bcom_test.conf | 0 openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf | 0 openair3/NAS/TOOLS/ue_tcl_test.conf | 0 openair3/NAS/TOOLS/usim.c | 0 openair3/NAS/UE/API/USER/at_command.c | 0 openair3/NAS/UE/API/USER/at_command.h | 0 openair3/NAS/UE/API/USER/at_error.c | 0 openair3/NAS/UE/API/USER/at_error.h | 0 openair3/NAS/UE/API/USER/at_response.c | 0 openair3/NAS/UE/API/USER/at_response.h | 0 openair3/NAS/UE/API/USER/tst/at_parser.c | 0 openair3/NAS/UE/API/USER/tst/at_parser.in | 0 openair3/NAS/UE/API/USER/tst/at_parser.in.bis | 0 openair3/NAS/UE/API/USER/tst/at_parser.out | 0 openair3/NAS/UE/API/USER/tst/at_parser.out.bis | 0 openair3/NAS/UE/API/USER/tst/smartcom.txt | 0 openair3/NAS/UE/API/USER/user_api.c | 0 openair3/NAS/UE/API/USER/user_api.h | 0 openair3/NAS/UE/API/USER/user_api_defs.h | 0 openair3/NAS/UE/API/USER/user_indication.c | 0 openair3/NAS/UE/API/USER/user_indication.h | 0 openair3/NAS/UE/API/USIM/aka_functions.c | 0 openair3/NAS/UE/API/USIM/aka_functions.h | 0 openair3/NAS/UE/API/USIM/usim_api.c | 0 openair3/NAS/UE/API/USIM/usim_api.h | 0 openair3/NAS/UE/EMM/Attach.c | 0 openair3/NAS/UE/EMM/Authentication.c | 0 openair3/NAS/UE/EMM/Authentication.h | 0 openair3/NAS/UE/EMM/Detach.c | 0 openair3/NAS/UE/EMM/EmmStatusHdl.c | 0 openair3/NAS/UE/EMM/Identification.c | 0 openair3/NAS/UE/EMM/IdleMode.c | 0 openair3/NAS/UE/EMM/IdleMode.h | 0 openair3/NAS/UE/EMM/IdleMode_defs.h | 0 openair3/NAS/UE/EMM/LowerLayer.c | 0 openair3/NAS/UE/EMM/LowerLayer.h | 0 openair3/NAS/UE/EMM/LowerLayer_defs.h | 0 openair3/NAS/UE/EMM/SAP/EmmDeregistered.c | 0 .../NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c | 0 .../UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c | 0 openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c | 0 .../NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c | 0 .../NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c | 0 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c | 0 .../NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c | 0 openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c | 0 openair3/NAS/UE/EMM/SAP/EmmNull.c | 0 openair3/NAS/UE/EMM/SAP/EmmRegistered.c | 0 .../UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c | 0 .../UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c | 0 openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c | 0 .../NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c | 0 .../NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c | 0 .../NAS/UE/EMM/SAP/EmmRegisteredNormalService.c | 0 openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c | 0 openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c | 0 .../NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c | 0 .../UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c | 0 openair3/NAS/UE/EMM/SAP/emm_as.c | 0 openair3/NAS/UE/EMM/SAP/emm_as.h | 0 openair3/NAS/UE/EMM/SAP/emm_asDef.h | 0 openair3/NAS/UE/EMM/SAP/emm_esm.c | 0 openair3/NAS/UE/EMM/SAP/emm_esm.h | 0 openair3/NAS/UE/EMM/SAP/emm_esmDef.h | 0 openair3/NAS/UE/EMM/SAP/emm_fsm.c | 0 openair3/NAS/UE/EMM/SAP/emm_fsm.h | 0 openair3/NAS/UE/EMM/SAP/emm_recv.c | 0 openair3/NAS/UE/EMM/SAP/emm_recv.h | 0 openair3/NAS/UE/EMM/SAP/emm_reg.c | 0 openair3/NAS/UE/EMM/SAP/emm_reg.h | 0 openair3/NAS/UE/EMM/SAP/emm_regDef.h | 0 openair3/NAS/UE/EMM/SAP/emm_sap.c | 0 openair3/NAS/UE/EMM/SAP/emm_sap.h | 0 openair3/NAS/UE/EMM/SAP/emm_send.c | 0 openair3/NAS/UE/EMM/SAP/emm_send.h | 0 openair3/NAS/UE/EMM/SecurityModeControl.c | 0 openair3/NAS/UE/EMM/SecurityModeControl.h | 0 openair3/NAS/UE/EMM/ServiceRequestHdl.c | 0 openair3/NAS/UE/EMM/TrackingAreaUpdate.c | 0 openair3/NAS/UE/EMM/emmData.h | 0 openair3/NAS/UE/EMM/emm_fsm_defs.h | 0 openair3/NAS/UE/EMM/emm_main.c | 0 openair3/NAS/UE/EMM/emm_main.h | 0 openair3/NAS/UE/EMM/emm_proc.h | 0 openair3/NAS/UE/EMM/emm_proc_defs.h | 0 openair3/NAS/UE/EMM/emm_timers.h | 0 .../UE/ESM/DedicatedEpsBearerContextActivation.c | 0 .../NAS/UE/ESM/DefaultEpsBearerContextActivation.c | 0 openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c | 0 openair3/NAS/UE/ESM/EsmStatusHdl.c | 0 openair3/NAS/UE/ESM/PdnConnectivity.c | 0 openair3/NAS/UE/ESM/PdnDisconnect.c | 0 openair3/NAS/UE/ESM/SAP/esm_recv.c | 0 openair3/NAS/UE/ESM/SAP/esm_recv.h | 0 openair3/NAS/UE/ESM/SAP/esm_sap.c | 0 openair3/NAS/UE/ESM/SAP/esm_sap.h | 0 openair3/NAS/UE/ESM/SAP/esm_sapDef.h | 0 openair3/NAS/UE/ESM/SAP/esm_send.c | 0 openair3/NAS/UE/ESM/SAP/esm_send.h | 0 openair3/NAS/UE/ESM/esmData.h | 0 openair3/NAS/UE/ESM/esm_ebr.c | 0 openair3/NAS/UE/ESM/esm_ebr.h | 0 openair3/NAS/UE/ESM/esm_ebr_context.c | 0 openair3/NAS/UE/ESM/esm_ebr_context.h | 0 openair3/NAS/UE/ESM/esm_ip.c | 0 openair3/NAS/UE/ESM/esm_main.c | 0 openair3/NAS/UE/ESM/esm_main.h | 0 openair3/NAS/UE/ESM/esm_proc.h | 0 openair3/NAS/UE/ESM/esm_pt.c | 0 openair3/NAS/UE/ESM/esm_pt.h | 0 openair3/NAS/UE/ESM/esm_pt_defs.h | 0 openair3/NAS/UE/UEprocess.c | 0 openair3/NAS/UE/nas_itti_messaging.c | 0 openair3/NAS/UE/nas_itti_messaging.h | 0 openair3/NAS/UE/nas_network.c | 0 openair3/NAS/UE/nas_network.h | 0 openair3/NAS/UE/nas_parser.c | 0 openair3/NAS/UE/nas_parser.h | 0 openair3/NAS/UE/nas_proc.c | 0 openair3/NAS/UE/nas_proc.h | 0 openair3/NAS/UE/nas_proc_defs.h | 0 openair3/NAS/UE/nas_ue_task.c | 0 openair3/NAS/UE/nas_ue_task.h | 0 openair3/NAS/UE/nas_user.c | 0 openair3/NAS/UE/nas_user.h | 0 openair3/NAS/UE/user_defs.h | 0 openair3/S1AP/MESSAGES/ASN1/R10/s1ap-10.9.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R11/s1ap-11.8.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R12/s1ap-12.7.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R13/s1ap-13.6.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.5.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.6.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.1.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.2.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R8/s1ap-8.10.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/R9/s1ap-9.10.0.asn1 | 0 openair3/S1AP/MESSAGES/ASN1/README | 0 openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py | 0 openair3/S1AP/s1ap_common.c | 0 openair3/S1AP/s1ap_common.h | 0 openair3/S1AP/s1ap_eNB.c | 0 openair3/S1AP/s1ap_eNB.h | 0 .../S1AP/s1ap_eNB_context_management_procedures.c | 0 .../S1AP/s1ap_eNB_context_management_procedures.h | 0 openair3/S1AP/s1ap_eNB_decoder.c | 0 openair3/S1AP/s1ap_eNB_decoder.h | 0 openair3/S1AP/s1ap_eNB_default_values.h | 0 openair3/S1AP/s1ap_eNB_defs.h | 0 openair3/S1AP/s1ap_eNB_encoder.c | 0 openair3/S1AP/s1ap_eNB_encoder.h | 0 openair3/S1AP/s1ap_eNB_handlers.c | 0 openair3/S1AP/s1ap_eNB_handlers.h | 0 openair3/S1AP/s1ap_eNB_itti_messaging.c | 0 openair3/S1AP/s1ap_eNB_itti_messaging.h | 0 openair3/S1AP/s1ap_eNB_management_procedures.c | 0 openair3/S1AP/s1ap_eNB_management_procedures.h | 0 openair3/S1AP/s1ap_eNB_nas_procedures.c | 0 openair3/S1AP/s1ap_eNB_nas_procedures.h | 0 openair3/S1AP/s1ap_eNB_nnsf.c | 0 openair3/S1AP/s1ap_eNB_nnsf.h | 0 openair3/S1AP/s1ap_eNB_overload.c | 0 openair3/S1AP/s1ap_eNB_overload.h | 0 openair3/S1AP/s1ap_eNB_trace.c | 0 openair3/S1AP/s1ap_eNB_trace.h | 0 openair3/S1AP/s1ap_eNB_ue_context.c | 0 openair3/S1AP/s1ap_eNB_ue_context.h | 0 openair3/SCTP/sctp_common.c | 0 openair3/SCTP/sctp_common.h | 0 openair3/SCTP/sctp_default_values.h | 0 openair3/SCTP/sctp_eNB_defs.h | 0 openair3/SCTP/sctp_eNB_itti_messaging.c | 0 openair3/SCTP/sctp_eNB_itti_messaging.h | 0 openair3/SCTP/sctp_eNB_task.c | 0 openair3/SCTP/sctp_eNB_task.h | 0 openair3/SCTP/sctp_primitives_client.c | 0 openair3/SCTP/sctp_primitives_client.h | 0 openair3/SECU/kdf.c | 0 openair3/SECU/key_nas_deriver.c | 0 openair3/SECU/key_nas_encryption.c | 0 openair3/SECU/nas_stream_eea1.c | 0 openair3/SECU/nas_stream_eea2.c | 0 openair3/SECU/nas_stream_eia1.c | 0 openair3/SECU/nas_stream_eia2.c | 0 openair3/SECU/rijndael.c | 0 openair3/SECU/rijndael.h | 0 openair3/SECU/secu_defs.h | 0 openair3/SECU/snow3g.c | 0 openair3/SECU/snow3g.h | 0 .../attach_complete.pdml | 0 .../enb.band7.tm1.usrpb210.epc.local.conf | 0 .../TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf | 0 .../TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml | 0 openair3/TEST/EPC_TEST/generate_scenario.c | 0 openair3/TEST/EPC_TEST/generate_scenario.h | 0 openair3/TEST/EPC_TEST/play_scenario.c | 0 openair3/TEST/EPC_TEST/play_scenario.h | 0 openair3/TEST/EPC_TEST/play_scenario_decode.c | 0 openair3/TEST/EPC_TEST/play_scenario_display.c | 0 openair3/TEST/EPC_TEST/play_scenario_fsm.c | 0 openair3/TEST/EPC_TEST/play_scenario_parse.c | 0 openair3/TEST/EPC_TEST/play_scenario_s1ap.c | 0 .../TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c | 0 .../TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h | 0 openair3/TEST/EPC_TEST/play_scenario_sctp.c | 0 openair3/TEST/Makefile.am | 0 openair3/TEST/oaisim_mme_client_test.c | 0 openair3/TEST/oaisim_mme_itti_test.c | 0 openair3/TEST/oaisim_mme_list_benchmark.c | 0 openair3/TEST/oaisim_mme_s1ap_test.c | 0 openair3/TEST/oaisim_mme_sctp_test.c | 0 openair3/TEST/oaisim_mme_test_s1c.c | 0 openair3/TEST/oaisim_mme_test_s1c.h | 0 openair3/TEST/oaisim_mme_test_s1c_s1ap.c | 0 openair3/TEST/oaisim_mme_test_s1c_s1ap.h | 0 openair3/TEST/oaisim_mme_test_s1c_scenario.c | 0 openair3/TEST/oaisim_mme_test_s1c_scenario.h | 0 openair3/TEST/oaisim_mme_test_s1c_scenario1.c | 0 openair3/TEST/test_aes128_cmac_encrypt.c | 0 openair3/TEST/test_aes128_ctr_decrypt.c | 0 openair3/TEST/test_aes128_ctr_encrypt.c | 0 openair3/TEST/test_kdf.c | 0 openair3/TEST/test_s1ap.c | 0 openair3/TEST/test_secu.c | 0 openair3/TEST/test_secu_kenb.c | 0 openair3/TEST/test_secu_knas.c | 0 openair3/TEST/test_secu_knas_encrypt_eea1.c | 0 openair3/TEST/test_secu_knas_encrypt_eea2.c | 0 openair3/TEST/test_secu_knas_encrypt_eia1.c | 0 openair3/TEST/test_secu_knas_encrypt_eia2.c | 0 openair3/TEST/test_secu_knas_stream_int.c | 0 openair3/UDP/udp_eNB_task.c | 0 openair3/UDP/udp_eNB_task.h | 0 openair3/UTILS/CONF/COPYING | 0 openair3/UTILS/Makefile.am | 0 openair3/UTILS/conversions.c | 0 openair3/UTILS/conversions.h | 0 openair3/UTILS/enum_string.c | 0 openair3/UTILS/enum_string.h | 0 openair3/UTILS/mcc_mnc_itu.c | 0 openair3/UTILS/mcc_mnc_itu.h | 0 openair3/UTILS/mme_config.c | 0 openair3/UTILS/mme_config.h | 0 openair3/UTILS/mme_default_values.h | 0 openair3/UTILS/mme_parser.y | 0 openair3/UTILS/mme_scanner.l | 0 openair3/UTILS/queue.h | 0 openair3/UTILS/tree.h | 0 pre-commit | 0 svn2git/README.txt | 0 svn2git/authors.txt | 0 svn2git/authors_original.txt | 0 svn2git/authors_original_java_output.txt | 0 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c | 0 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h | 0 targets/ARCH/COMMON/common_lib.c | 0 targets/ARCH/COMMON/common_lib.h | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h | 0 targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h | 0 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi | 0 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs | 0 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm | 0 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit | Bin targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf | Bin targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk | Bin targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd | 0 targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd | 0 targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd | 0 targets/ARCH/EXMIMO/DEFS/openair_device.h | 0 targets/ARCH/EXMIMO/DEFS/pcie_interface.h | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/Makefile | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c | 0 targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/Makefile | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c | 0 targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h | 0 targets/ARCH/EXMIMO/DRIVER/readme.txt | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/Makefile | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c | 0 .../ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/example.c | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c | 0 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h | 0 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile | 0 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h | 0 .../ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h | 0 .../ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c | 0 .../ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m | 0 .../USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m | 0 .../USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m | 0 .../EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m | 0 .../EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m | 0 .../EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m | 0 .../EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h | 0 .../EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc | 0 .../USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc | 0 .../ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc | 0 .../USERSPACE/OCTAVE/oarf_stop_without_reset.cc | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m | 0 .../EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m | 0 .../USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m | 0 .../EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m | 0 .../USERSPACE/OCTAVE/rx_spec_multicard_sync.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m | 0 .../EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m | 0 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m | 0 targets/ARCH/LMSSDR/LimeSDR.ini | 0 targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini | 0 targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini | 0 targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini | 0 targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini | 0 targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp | 0 targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp | 0 targets/ARCH/mobipass/interface.c | 0 targets/ARCH/mobipass/mobipass.c | 0 targets/ARCH/mobipass/mobipass.h | 0 targets/ARCH/mobipass/queues.c | 0 targets/ARCH/mobipass/queues.h | 0 targets/COMMON/Makefile.inc | 0 targets/COMMON/create_tasks.c | 0 targets/COMMON/create_tasks.h | 0 targets/COMMON/openairinterface5g_limits.h | 0 targets/COMMON/threads_t.h | 0 targets/DOCS/Doxyfile | 0 targets/DOCS/E-UTRAN_User_Guide.docx | Bin targets/DOCS/E-UTRAN_User_Guide.pdf | Bin targets/DOCS/images/oai_logo.png | Bin targets/DOCS/oai_L1_L2_procedures.ipe | 0 targets/Makefile.common | 0 targets/Makerules | 0 .../CONF/enb.centos.calisson.conf | 0 .../CONF/enb.centos.memphis.conf | 0 .../CONF/enb.centos.nord.conf | 0 targets/PROJECTS/E-MBMS/enb.conf | 0 targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml | 0 .../CONF/enb.band13.tm1.50PRB.emtc.conf | 0 .../CONF/enb.band7.tm1.50PRB.usrpb210.conf | 0 .../GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf | 0 .../CONF/rcc.band7.tm1.50PRB.nfapi.conf | 0 .../CONF/rcc.band7.tm1.if4p5.50PRB.conf | 0 .../CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf | 0 .../PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf | 0 targets/PROJECTS/LOCALIZATION/filesave0811.mat | 0 targets/PROJECTS/LOCALIZATION/generation.m | 0 targets/PROJECTS/LOCALIZATION/initial_sync.m | 0 targets/PROJECTS/LOCALIZATION/initparams.m | 0 targets/PROJECTS/LOCALIZATION/plots.m | 0 targets/PROJECTS/LOCALIZATION/recup.m | 0 targets/PROJECTS/LOCALIZATION/where2.m | 0 targets/PROJECTS/LOCALIZATION/where2_v1_final.mat | 0 targets/PROJECTS/LOCALIZATION/where2_vf.m | 0 targets/PROJECTS/TDDREC/f_ch_est.m | 0 targets/PROJECTS/TDDREC/f_ofdm_mod.m | 0 targets/PROJECTS/TDDREC/f_ofdm_rx.m | 0 targets/PROJECTS/TDDREC/f_ofdm_tx.m | 0 targets/PROJECTS/TDDREC/f_tls_ap.m | 0 targets/PROJECTS/TDDREC/f_tls_diag.m | 0 targets/PROJECTS/TDDREC/f_tls_svd.m | 0 targets/PROJECTS/TDDREC/s_beamforming.m | 0 targets/PROJECTS/TDDREC/s_calib.m | 0 targets/PROJECTS/TDDREC/s_draw_F.m | 0 targets/PROJECTS/TDDREC/s_init_params.m | 0 targets/PROJECTS/TDDREC/s_run_meas.m | 0 targets/PROJECTS/TDDREC/v0/alterproj.m | 0 targets/PROJECTS/TDDREC/v0/beamforming.m | 0 targets/PROJECTS/TDDREC/v0/calibration.m | 0 targets/PROJECTS/TDDREC/v0/genorthqpskseq.m | 0 targets/PROJECTS/TDDREC/v0/genrandpskseq.m | 0 targets/PROJECTS/TDDREC/v0/initparams.m | 0 targets/PROJECTS/TDDREC/v0/initparams2.m | 0 targets/PROJECTS/TDDREC/v0/ofdm_mod.m | 0 targets/PROJECTS/TDDREC/v0/readme.txt | 0 targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_mimo.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m | 0 targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m | 0 targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m | 0 targets/README.txt | 0 targets/RT/LAUNCH_SCRIPTS/load_module.sh | 0 targets/RT/LAUNCH_SCRIPTS/nas_enb.sh | 0 targets/RT/LAUNCH_SCRIPTS/nas_ue.sh | 0 targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_emos.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_rf.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_ue.sh | 0 targets/RT/LAUNCH_SCRIPTS/start_ue2.sh | 0 targets/RT/LAUNCH_SCRIPTS/stop_rf.sh | 0 targets/RT/USER/.runinfo | 0 targets/RT/USER/.ue.nvram | Bin targets/RT/USER/.ue_emm.nvram | Bin targets/RT/USER/.usim.nvram | Bin targets/RT/USER/TOOLS/thread_ipc.c | 0 targets/RT/USER/TOOLS/thread_ipc.h | 0 targets/RT/USER/eNB_exmimo2.gtkw | 0 targets/RT/USER/eNB_usrp.gtkw | 0 targets/RT/USER/exmimo2_2arxg.lime | 0 targets/RT/USER/exmimo2_2brxg.lime | 0 targets/RT/USER/init_b200.sh | 0 targets/RT/USER/init_exmimo.sh | 0 targets/RT/USER/init_exmimo2.sh | 0 targets/RT/USER/lte-enb.c | 0 targets/RT/USER/lte-ru.c | 0 targets/RT/USER/lte-softmodem.c | 0 targets/RT/USER/lte-softmodem.h | 0 targets/RT/USER/lte-ue.c | 0 targets/RT/USER/rau_if4_single_thread.gtkw | 0 targets/RT/USER/rcc_if4.gtkw | 0 targets/RT/USER/rcc_if5.gtkw | 0 targets/RT/USER/rfsim.h | 0 targets/RT/USER/rru_if4p5_single_thread.gtkw | 0 targets/RT/USER/rru_if4p5_usrp.gtkw | 0 targets/RT/USER/rru_if5_usrp.gtkw | 0 targets/RT/USER/rt_wrapper.c | 0 targets/RT/USER/rt_wrapper.h | 0 targets/RT/USER/stats.c | 0 targets/RT/USER/stats.fd | 0 targets/RT/USER/stats.h | 0 targets/RT/USER/ue_exmimo2.gtkw | 0 targets/RT/USER/ue_usrp.gtkw | 0 targets/SCRIPTS/install_asn1.sh | 0 targets/TEST/AT_COMMANDS/Makefile | 0 targets/TEST/AT_COMMANDS/oaisim.c | 0 targets/TEST/OAI/README | 0 targets/TEST/OAI/case01.py | 0 targets/TEST/OAI/case02.py | 0 targets/TEST/OAI/case03.py | 0 targets/TEST/OAI/case04.py | 0 targets/TEST/OAI/case05.py | 0 targets/TEST/OAI/case11.py | 0 targets/TEST/OAI/case12.py | 0 targets/TEST/OAI/case13.py | 0 targets/TEST/OAI/core.py | 0 targets/TEST/OAI/log.py | 0 targets/TEST/OAI/openair.py | 0 targets/TEST/OAI/test01.py | 0 targets/TEST/OAI/test02.py | 0 targets/TEST/PACKET_TRACER/Makefile | 0 targets/TEST/PACKET_TRACER/README.txt | 0 targets/TEST/PACKET_TRACER/messages/Msg4.txt | 0 .../messages/rrcconnectionreconfiguration.txt | 0 .../PACKET_TRACER/messages/rrcconnectionsetup.txt | 0 targets/TEST/PACKET_TRACER/messages/sib1.txt | 0 targets/TEST/PACKET_TRACER/messages/sib2.txt | 0 targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt | 0 .../PACKET_TRACER/messages/sib2_3_oai_Rel10.txt | 0 targets/TEST/PACKET_TRACER/messages/sib3.txt | 0 targets/TEST/PACKET_TRACER/pt.c | 0 targets/TEST/PDCP/Makefile | 0 targets/TEST/PDCP/readme.txt | 0 targets/TEST/PDCP/test_pdcp.c | 0 targets/TEST/PDCP/test_pdcp.h | 0 targets/TEST/PDCP/test_util.h | 0 targets/TEST/PDCP/todo.txt | 0 targets/TEST/PDCP/with_rlc/Makefile.data_bearer | 0 targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt | 0 targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c | 0 targets/TEST/RLC_AM_V9.3.0/Makefile | 0 targets/TEST/RLC_AM_V9.3.0/oaisim.c | 0 targets/TEST/RLC_UM_V9.3.0/Makefile | 0 targets/TEST/RLC_UM_V9.3.0/oaisim.c | 0 targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp | 0 targets/TEST/ROHDE_SCHWARZ/Makefile | 0 targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp | 0 targets/TEST/ROHDE_SCHWARZ/TcpClient.h | 0 targets/itti_vcd_tasks.sav | 0 2468 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 .gitlab-ci.yml mode change 100755 => 100644 LICENSE mode change 100755 => 100644 NOTICE.txt mode change 100755 => 100644 README.txt mode change 100755 => 100644 ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf mode change 100755 => 100644 cmake_targets/CMakeLists.txt mode change 100755 => 100644 cmake_targets/at_commands/CMakeLists.txt mode change 100755 => 100644 cmake_targets/autotests/README.txt mode change 100755 => 100644 cmake_targets/autotests/core.py mode change 100755 => 100644 cmake_targets/autotests/log.py mode change 100755 => 100644 cmake_targets/autotests/openair.py mode change 100755 => 100644 cmake_targets/autotests/templates/index.html mode change 100755 => 100644 cmake_targets/autotests/templates/testcase_report.html mode change 100755 => 100644 cmake_targets/autotests/test_case_list.xml mode change 100755 => 100644 cmake_targets/autotests/testsuite_ue_noS1.xml mode change 100755 => 100644 cmake_targets/autotests/testsuite_ue_noS1_TCL.xml mode change 100755 => 100644 cmake_targets/autotests/tools/lib_autotest.py mode change 100755 => 100644 cmake_targets/autotests/tools/lib_autotest_analyser.py mode change 100755 => 100644 cmake_targets/autotests/tools/wdial.bandrich.conf mode change 100755 => 100644 cmake_targets/autotests/v2/actions/alu_epc.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/alu_epc_stop.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/alu_hss.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/bandrich.txt mode change 100755 => 100644 cmake_targets/autotests/v2/actions/client_tcp.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/client_udp.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/clone_repository.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/compilation.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/execution.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/execution_compile.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/modem.py mode change 100755 => 100644 cmake_targets/autotests/v2/actions/run_enb.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/server_tcp.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/server_udp.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/start_3276.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/start_3276.py mode change 100755 => 100644 cmake_targets/autotests/v2/actions/start_bandrich.bash mode change 100755 => 100644 cmake_targets/autotests/v2/actions/start_bandrich.py mode change 100755 => 100644 cmake_targets/autotests/v2/actions/stop_3276.py mode change 100755 => 100644 cmake_targets/autotests/v2/actions/stop_bandrich.py mode change 100755 => 100644 cmake_targets/autotests/v2/actions/wvdial.3276.conf mode change 100755 => 100644 cmake_targets/autotests/v2/actions/wvdial.bandrich.conf mode change 100755 => 100644 cmake_targets/autotests/v2/alu_test.py mode change 100755 => 100644 cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf mode change 100755 => 100644 cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf mode change 100755 => 100644 cmake_targets/autotests/v2/connection.py mode change 100755 => 100644 cmake_targets/autotests/v2/machine_list.py mode change 100755 => 100644 cmake_targets/autotests/v2/main.py mode change 100755 => 100644 cmake_targets/autotests/v2/task.py mode change 100755 => 100644 cmake_targets/autotests/v2/utils.py mode change 100755 => 100644 cmake_targets/doxygen/CMakeLists.txt mode change 100755 => 100644 cmake_targets/epc_test/CMakeLists.template mode change 100755 => 100644 cmake_targets/lte-simulators/CMakeLists.txt mode change 100755 => 100644 cmake_targets/lte_noS1_build_oai/CMakeLists.template mode change 100755 => 100644 cmake_targets/nas_sim_tools/CMakeLists.txt mode change 100755 => 100644 cmake_targets/oaisim_build_oai/CMakeLists.template mode change 100755 => 100644 cmake_targets/oaisim_mme_build_oai/CMakeLists.template mode change 100755 => 100644 cmake_targets/oaisim_noS1_build_oai/CMakeLists.template mode change 100755 => 100644 cmake_targets/s1c_mme_test/CMakeLists.template mode change 100755 => 100644 cmake_targets/tools/Kbuild.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/CMakeParseArguments.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/CMakeUserUseBison.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindFreeDiameter.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindGCCXML.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindGcrypt.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindGnuTLS.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindKbuild.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindLibXml2.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindMySQL.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindNettle.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindPostgreSQL.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/FindSCTP.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/Kbuild.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/cmake_useful.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/kbuild_system.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/kmodule.cmake mode change 100755 => 100644 cmake_targets/tools/MODULES/path_prefixes.cmake mode change 100755 => 100644 cmake_targets/tools/asn1tostruct.py mode change 100755 => 100644 cmake_targets/tools/example_enb_exmimo_mme_hss.txt mode change 100755 => 100644 cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt mode change 100755 => 100644 cmake_targets/tools/exmimo2_2arxg.lime mode change 100755 => 100644 cmake_targets/tools/exmimo2_2brxg.lime mode change 100755 => 100644 cmake_targets/tools/exmimo_stop_octave.m mode change 100755 => 100644 cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff mode change 100755 => 100644 cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff mode change 100755 => 100644 cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff mode change 100755 => 100644 cmake_targets/tools/test_helper mode change 100755 => 100644 common/config/config_cmdline.c mode change 100755 => 100644 common/config/config_load_configmodule.c mode change 100755 => 100644 common/config/config_load_configmodule.h mode change 100755 => 100644 common/config/config_paramdesc.h mode change 100755 => 100644 common/config/config_userapi.c mode change 100755 => 100644 common/config/config_userapi.h mode change 100755 => 100644 common/config/libconfig/config_libconfig.c mode change 100755 => 100644 common/config/libconfig/config_libconfig.h mode change 100755 => 100644 common/config/libconfig/config_libconfig_private.h mode change 100755 => 100644 common/ran_context.h mode change 100755 => 100644 common/utils/LOG/README.txt mode change 100755 => 100644 common/utils/LOG/log_extern.h mode change 100755 => 100644 common/utils/LOG/log_if.h mode change 100755 => 100644 common/utils/LOG/vcd_signal_dumper.c mode change 100755 => 100644 common/utils/LOG/vcd_signal_dumper.h mode change 100755 => 100644 common/utils/T/.gitignore mode change 100755 => 100644 common/utils/T/Makefile mode change 100755 => 100644 common/utils/T/README mode change 100755 => 100644 common/utils/T/T.c mode change 100755 => 100644 common/utils/T/T.h mode change 100755 => 100644 common/utils/T/T_defs.h mode change 100755 => 100644 common/utils/T/T_messages.txt mode change 100755 => 100644 common/utils/T/defs.h mode change 100755 => 100644 common/utils/T/generate_Txx.c mode change 100755 => 100644 common/utils/T/genids.c mode change 100755 => 100644 common/utils/T/local_tracer.c mode change 100755 => 100644 common/utils/T/plot.c mode change 100755 => 100644 common/utils/T/tracee/Makefile mode change 100755 => 100644 common/utils/T/tracee/README mode change 100755 => 100644 common/utils/T/tracee/tracee.c mode change 100755 => 100644 common/utils/T/tracer/Makefile mode change 100755 => 100644 common/utils/T/tracer/config.c mode change 100755 => 100644 common/utils/T/tracer/config.h mode change 100755 => 100644 common/utils/T/tracer/database.c mode change 100755 => 100644 common/utils/T/tracer/database.h mode change 100755 => 100644 common/utils/T/tracer/defs.h mode change 100755 => 100644 common/utils/T/tracer/enb.c mode change 100755 => 100644 common/utils/T/tracer/event.c mode change 100755 => 100644 common/utils/T/tracer/event.h mode change 100755 => 100644 common/utils/T/tracer/event_selector.c mode change 100755 => 100644 common/utils/T/tracer/event_selector.h mode change 100755 => 100644 common/utils/T/tracer/extract_config.c mode change 100755 => 100644 common/utils/T/tracer/extract_input_subframe.c mode change 100755 => 100644 common/utils/T/tracer/filter/Makefile mode change 100755 => 100644 common/utils/T/tracer/filter/filter.c mode change 100755 => 100644 common/utils/T/tracer/filter/filter.h mode change 100755 => 100644 common/utils/T/tracer/gui.c mode change 100755 => 100644 common/utils/T/tracer/gui/Makefile mode change 100755 => 100644 common/utils/T/tracer/gui/container.c mode change 100755 => 100644 common/utils/T/tracer/gui/event.c mode change 100755 => 100644 common/utils/T/tracer/gui/gui.c mode change 100755 => 100644 common/utils/T/tracer/gui/gui.h mode change 100755 => 100644 common/utils/T/tracer/gui/gui_defs.h mode change 100755 => 100644 common/utils/T/tracer/gui/image.c mode change 100755 => 100644 common/utils/T/tracer/gui/init.c mode change 100755 => 100644 common/utils/T/tracer/gui/label.c mode change 100755 => 100644 common/utils/T/tracer/gui/loop.c mode change 100755 => 100644 common/utils/T/tracer/gui/notify.c mode change 100755 => 100644 common/utils/T/tracer/gui/positioner.c mode change 100755 => 100644 common/utils/T/tracer/gui/space.c mode change 100755 => 100644 common/utils/T/tracer/gui/test.c mode change 100755 => 100644 common/utils/T/tracer/gui/textarea.c mode change 100755 => 100644 common/utils/T/tracer/gui/textlist.c mode change 100755 => 100644 common/utils/T/tracer/gui/timeline.c mode change 100755 => 100644 common/utils/T/tracer/gui/toplevel_window.c mode change 100755 => 100644 common/utils/T/tracer/gui/widget.c mode change 100755 => 100644 common/utils/T/tracer/gui/x.c mode change 100755 => 100644 common/utils/T/tracer/gui/x.h mode change 100755 => 100644 common/utils/T/tracer/gui/x_defs.h mode change 100755 => 100644 common/utils/T/tracer/gui/xy_plot.c mode change 100755 => 100644 common/utils/T/tracer/hacks/Makefile mode change 100755 => 100644 common/utils/T/tracer/hacks/dump_nack_signal.c mode change 100755 => 100644 common/utils/T/tracer/hacks/time_meas.c mode change 100755 => 100644 common/utils/T/tracer/hacks/timeplot.c mode change 100755 => 100644 common/utils/T/tracer/handler.c mode change 100755 => 100644 common/utils/T/tracer/handler.h mode change 100755 => 100644 common/utils/T/tracer/logger/Makefile mode change 100755 => 100644 common/utils/T/tracer/logger/framelog.c mode change 100755 => 100644 common/utils/T/tracer/logger/iqdotlog.c mode change 100755 => 100644 common/utils/T/tracer/logger/iqlog.c mode change 100755 => 100644 common/utils/T/tracer/logger/logger.c mode change 100755 => 100644 common/utils/T/tracer/logger/logger.h mode change 100755 => 100644 common/utils/T/tracer/logger/logger_defs.h mode change 100755 => 100644 common/utils/T/tracer/logger/textlog.c mode change 100755 => 100644 common/utils/T/tracer/logger/throughputlog.c mode change 100755 => 100644 common/utils/T/tracer/logger/ticked_ttilog.c mode change 100755 => 100644 common/utils/T/tracer/logger/ticklog.c mode change 100755 => 100644 common/utils/T/tracer/logger/timelog.c mode change 100755 => 100644 common/utils/T/tracer/logger/ttilog.c mode change 100755 => 100644 common/utils/T/tracer/macpdu2wireshark.c mode change 100755 => 100644 common/utils/T/tracer/openair_logo.h mode change 100755 => 100644 common/utils/T/tracer/openair_logo.png mode change 100755 => 100644 common/utils/T/tracer/packet-mac-lte.h mode change 100755 => 100644 common/utils/T/tracer/plot.c mode change 100755 => 100644 common/utils/T/tracer/record.c mode change 100755 => 100644 common/utils/T/tracer/replay.c mode change 100755 => 100644 common/utils/T/tracer/textlog.c mode change 100755 => 100644 common/utils/T/tracer/ue.c mode change 100755 => 100644 common/utils/T/tracer/utils.c mode change 100755 => 100644 common/utils/T/tracer/utils.h mode change 100755 => 100644 common/utils/T/tracer/vcd.c mode change 100755 => 100644 common/utils/T/tracer/view/Makefile mode change 100755 => 100644 common/utils/T/tracer/view/scrolltti.c mode change 100755 => 100644 common/utils/T/tracer/view/stdout.c mode change 100755 => 100644 common/utils/T/tracer/view/textlist.c mode change 100755 => 100644 common/utils/T/tracer/view/ticktime.c mode change 100755 => 100644 common/utils/T/tracer/view/time.c mode change 100755 => 100644 common/utils/T/tracer/view/tti.c mode change 100755 => 100644 common/utils/T/tracer/view/view.h mode change 100755 => 100644 common/utils/T/tracer/view/xy.c mode change 100755 => 100644 common/utils/asn1_conversions.h mode change 100755 => 100644 common/utils/assertions.h mode change 100755 => 100644 common/utils/backtrace.c mode change 100755 => 100644 common/utils/backtrace.h mode change 100755 => 100644 common/utils/collection/queue.h mode change 100755 => 100644 common/utils/collection/tree.h mode change 100755 => 100644 common/utils/hashtable/hashtable.c mode change 100755 => 100644 common/utils/hashtable/hashtable.h mode change 100755 => 100644 common/utils/hashtable/obj_hashtable.c mode change 100755 => 100644 common/utils/hashtable/obj_hashtable.h mode change 100755 => 100644 common/utils/itti_analyzer/AUTHORS mode change 100755 => 100644 common/utils/itti_analyzer/ChangeLog mode change 100755 => 100644 common/utils/itti_analyzer/INSTALL mode change 100755 => 100644 common/utils/itti_analyzer/Makefile.am mode change 100755 => 100644 common/utils/itti_analyzer/NEWS mode change 100755 => 100644 common/utils/itti_analyzer/README mode change 100755 => 100644 common/utils/itti_analyzer/common/itti_types.h mode change 100755 => 100644 common/utils/itti_analyzer/common/logs.h mode change 100755 => 100644 common/utils/itti_analyzer/common/queue.h mode change 100755 => 100644 common/utils/itti_analyzer/common/rc.h mode change 100755 => 100644 common/utils/itti_analyzer/configure.ac mode change 100755 => 100644 common/utils/itti_analyzer/filters.xml mode change 100755 => 100644 common/utils/itti_analyzer/filters_mme.xml mode change 100755 => 100644 common/utils/itti_analyzer/filters_ue_enb.xml mode change 100755 => 100644 common/utils/itti_analyzer/itti_analyzer.c mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/Makefile.am mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/buffers.c mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/buffers.h mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/file.c mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/file.h mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/socket.c mode change 100755 => 100644 common/utils/itti_analyzer/libbuffers/socket.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/Makefile.am mode change 100755 => 100644 common/utils/itti_analyzer/libparser/array_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/array_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/enum_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/enum_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/enum_value_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/enum_value_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/field_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/field_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/file_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/file_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/fundamental_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/fundamental_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/intertask_contexts.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/pointer_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/pointer_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/reference_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/reference_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/struct_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/struct_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/typedef_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/typedef_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/types.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/types.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/union_type.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/union_type.h mode change 100755 => 100644 common/utils/itti_analyzer/libparser/xml_parse.c mode change 100755 => 100644 common/utils/itti_analyzer/libparser/xml_parse.h mode change 100755 => 100644 common/utils/itti_analyzer/libresolver/Makefile.am mode change 100755 => 100644 common/utils/itti_analyzer/libresolver/locate_root.c mode change 100755 => 100644 common/utils/itti_analyzer/libresolver/locate_root.h mode change 100755 => 100644 common/utils/itti_analyzer/libresolver/resolvers.c mode change 100755 => 100644 common/utils/itti_analyzer/libresolver/resolvers.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/Makefile.am mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_callbacks.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_callbacks.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_filters.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_filters.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_interface.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_interface.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_main_screen.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_main_screen.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_menu_bar.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_menu_bar.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_notebook.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_notebook.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_notif_dlg.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_notif_dlg.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_notifications.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_notifications.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_signal_dissect_view.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_signal_dissect_view.h mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_tree_view.c mode change 100755 => 100644 common/utils/itti_analyzer/libui/ui_tree_view.h mode change 100755 => 100644 common/utils/load_module_shlib.c mode change 100755 => 100644 common/utils/load_module_shlib.h mode change 100755 => 100644 common/utils/memory_pools.c mode change 100755 => 100644 common/utils/memory_pools.h mode change 100755 => 100644 common/utils/msc/msc.c mode change 100755 => 100644 common/utils/msc/msc.h mode change 100755 => 100644 common/utils/system.c mode change 100755 => 100644 common/utils/system.h mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv.c mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv.h mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv_loader.h mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv_phycmd.c mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv_phycmd.h mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv_proccmd.c mode change 100755 => 100644 common/utils/telnetsrv/telnetsrv_proccmd.h mode change 100755 => 100644 common/utils/time_utils.h mode change 100755 => 100644 common/utils/utils.c mode change 100755 => 100644 common/utils/utils.h mode change 100755 => 100644 nfapi/oai_integration/nfapi_vnf.h mode change 100755 => 100644 oaienv mode change 100755 => 100644 openair1/PHY/CODING/3gpplte.c mode change 100755 => 100644 openair1/PHY/CODING/3gpplte_sse.c mode change 100755 => 100644 openair1/PHY/CODING/3gpplte_turbo_decoder.c mode change 100755 => 100644 openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c mode change 100755 => 100644 openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c mode change 100755 => 100644 openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c mode change 100755 => 100644 openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c mode change 100755 => 100644 openair1/PHY/CODING/Makefile mode change 100755 => 100644 openair1/PHY/CODING/Makefile.arm mode change 100755 => 100644 openair1/PHY/CODING/README.txt mode change 100755 => 100644 openair1/PHY/CODING/TESTBENCH/Makefile mode change 100755 => 100644 openair1/PHY/CODING/TESTBENCH/README.txt mode change 100755 => 100644 openair1/PHY/CODING/TESTBENCH/ltetest.c mode change 100755 => 100644 openair1/PHY/CODING/TESTBENCH/pdcch_test.c mode change 100755 => 100644 openair1/PHY/CODING/TESTBENCH/viterbi_test.c mode change 100755 => 100644 openair1/PHY/CODING/ccoding_byte.c mode change 100755 => 100644 openair1/PHY/CODING/ccoding_byte_lte.c mode change 100755 => 100644 openair1/PHY/CODING/coding_defs.h mode change 100755 => 100644 openair1/PHY/CODING/coding_extern.h mode change 100755 => 100644 openair1/PHY/CODING/crc_byte.c mode change 100755 => 100644 openair1/PHY/CODING/lte_interleaver_inline.h mode change 100755 => 100644 openair1/PHY/CODING/lte_rate_matching.c mode change 100755 => 100644 openair1/PHY/CODING/lte_segmentation.c mode change 100755 => 100644 openair1/PHY/CODING/lte_tf.m mode change 100755 => 100644 openair1/PHY/CODING/scrambler.h mode change 100755 => 100644 openair1/PHY/CODING/viterbi.c mode change 100755 => 100644 openair1/PHY/CODING/viterbi_lte.c mode change 100755 => 100644 openair1/PHY/INIT/README.txt mode change 100755 => 100644 openair1/PHY/INIT/init_extern.h mode change 100755 => 100644 openair1/PHY/INIT/init_top.c mode change 100755 => 100644 openair1/PHY/INIT/init_vars.h mode change 100755 => 100644 openair1/PHY/INIT/lte_init.c mode change 100755 => 100644 openair1/PHY/INIT/lte_param_init.c mode change 100755 => 100644 openair1/PHY/INIT/lte_parms.c mode change 100755 => 100644 openair1/PHY/INIT/phy_init.h mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/README.txt mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/adjust_gain.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/filt16_32.h mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/filt96_32.h mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/freq_equalization.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_estimation.h mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_estimation_extern.h mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_estimation_vars.h mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_sync_time.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c mode change 100755 => 100644 openair1/PHY/LTE_ESTIMATION/pss6144.h mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/README.txt mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/gen_mod_table.m mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_dl_uespec.c mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_gold.c mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_refsig.h mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_ul.m mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/lte_ul_ref.c mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/mod_table.h mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/primary_synch.h mode change 100755 => 100644 openair1/PHY/LTE_REFSIG/primary_synch.m mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/README.txt mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dci.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dci.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dci_tools.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dlsch_coding.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/edci.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/group_hopping.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/if4_tools.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/if4_tools.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/if5_tools.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/if5_tools.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/lte_mcs.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/mdci.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pbch.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pcfich.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/phich.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pilots.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pmch.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/power_control.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/prach.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/print_stats.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pss.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pucch.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/pucch_extern.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/rar_tools.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/sss.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/transport_eNB.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/transport_extern.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/transport_vars.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/uci_common.h mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/uci_tools.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c mode change 100755 => 100644 openair1/PHY/LTE_TRANSPORT/vrb_maps.m mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/dlsch_decoding.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/drs_modulation.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/get_pmi.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.h mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/pch_ue.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/slss.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/srs_modulation.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/ulsch_coding.c mode change 100755 => 100644 openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c mode change 100755 => 100644 openair1/PHY/MODULATION/beamforming.c mode change 100755 => 100644 openair1/PHY/MODULATION/compute_bf_weights.c mode change 100755 => 100644 openair1/PHY/MODULATION/ofdm_mod.c mode change 100755 => 100644 openair1/PHY/MODULATION/prach625Hz.h mode change 100755 => 100644 openair1/PHY/MODULATION/slot_fep.c mode change 100755 => 100644 openair1/PHY/MODULATION/slot_fep_mbsfn.c mode change 100755 => 100644 openair1/PHY/MODULATION/slot_fep_ul.c mode change 100755 => 100644 openair1/PHY/MODULATION/ul_7_5_kHz.c mode change 100755 => 100644 openair1/PHY/Makefile.inc mode change 100755 => 100644 openair1/PHY/TOOLS/8bit_rxdemux.c mode change 100755 => 100644 openair1/PHY/TOOLS/8bit_txmux.c mode change 100755 => 100644 openair1/PHY/TOOLS/Makefile mode change 100755 => 100644 openair1/PHY/TOOLS/alaw_lut.h mode change 100755 => 100644 openair1/PHY/TOOLS/angle.c mode change 100755 => 100644 openair1/PHY/TOOLS/cadd_sv.c mode change 100755 => 100644 openair1/PHY/TOOLS/cadd_vv.c mode change 100755 => 100644 openair1/PHY/TOOLS/cdot_prod.c mode change 100755 => 100644 openair1/PHY/TOOLS/cmult_sv.c mode change 100755 => 100644 openair1/PHY/TOOLS/cmult_vv.c mode change 100755 => 100644 openair1/PHY/TOOLS/costable.h mode change 100755 => 100644 openair1/PHY/TOOLS/dB_routines.c mode change 100755 => 100644 openair1/PHY/TOOLS/dB_routines.h mode change 100755 => 100644 openair1/PHY/TOOLS/invSqrt.c mode change 100755 => 100644 openair1/PHY/TOOLS/log2_approx.c mode change 100755 => 100644 openair1/PHY/TOOLS/lte_dfts.c mode change 100755 => 100644 openair1/PHY/TOOLS/lte_phy_scope.c mode change 100755 => 100644 openair1/PHY/TOOLS/lte_phy_scope.h mode change 100755 => 100644 openair1/PHY/TOOLS/lte_phy_scope_tm4.c mode change 100755 => 100644 openair1/PHY/TOOLS/lut.c mode change 100755 => 100644 openair1/PHY/TOOLS/memory_routines.c mode change 100755 => 100644 openair1/PHY/TOOLS/read_F.c mode change 100755 => 100644 openair1/PHY/TOOLS/signal_energy.c mode change 100755 => 100644 openair1/PHY/TOOLS/smbv.c mode change 100755 => 100644 openair1/PHY/TOOLS/smbv.h mode change 100755 => 100644 openair1/PHY/TOOLS/sqrt.c mode change 100755 => 100644 openair1/PHY/TOOLS/time_meas.c mode change 100755 => 100644 openair1/PHY/TOOLS/time_meas.h mode change 100755 => 100644 openair1/PHY/TOOLS/tools_defs.h mode change 100755 => 100644 openair1/PHY/TOOLS/tools_extern.h mode change 100755 => 100644 openair1/PHY/TOOLS/tools_vars.h mode change 100755 => 100644 openair1/PHY/defs_eNB.h mode change 100755 => 100644 openair1/PHY/impl_defs_lte.h mode change 100755 => 100644 openair1/PHY/impl_defs_top.h mode change 100755 => 100644 openair1/PHY/phy_extern.h mode change 100755 => 100644 openair1/PHY/phy_vars.h mode change 100755 => 100644 openair1/PHY/sse_intrin.h mode change 100755 => 100644 openair1/PHY/types.h mode change 100755 => 100644 openair1/README.TXT mode change 100755 => 100644 openair1/SCHED/Makefile.inc mode change 100755 => 100644 openair1/SCHED/fapi_l1.c mode change 100755 => 100644 openair1/SCHED/fapi_l1.h mode change 100755 => 100644 openair1/SCHED/phy_mac_stub.c mode change 100755 => 100644 openair1/SCHED/phy_procedures_lte_common.c mode change 100755 => 100644 openair1/SCHED/phy_procedures_lte_eNb.c mode change 100755 => 100644 openair1/SCHED/ru_procedures.c mode change 100755 => 100644 openair1/SCHED/sched_common.h mode change 100755 => 100644 openair1/SCHED_UE/phy_procedures_lte_ue.c mode change 100755 => 100644 openair1/SCHED_UE/pucch_pc.c mode change 100755 => 100644 openair1/SCHED_UE/srs_pc.c mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/README.txt mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/defs.h mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/extern.h mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/proto.h mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/socket.c mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/socket.h mode change 100755 => 100644 openair1/SIMULATION/ETH_TRANSPORT/vars.h mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/LTE_Configuration.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/LTE_Configuration.h mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/README.txt mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/blerSimus.zip mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/dlsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/dlsim_tm4.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/dlsim_tm7.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/fancyheadings.sty mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/framegen.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/gpib_send.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/gpib_send.h mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/mat2wv.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/mbmssim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pbch_awgn.txt mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pbchsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pdcchsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/p mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/prachsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/pucchsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/scansim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/signalanalyzer.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/signalanalyzer.h mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/syncsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/test.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/ulsim.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/ulsim2.c mode change 100755 => 100644 openair1/SIMULATION/LTE_PHY/unitary_defs.h mode change 100755 => 100644 openair1/SIMULATION/Makefile.inc mode change 100755 => 100644 openair1/SIMULATION/RF/Makefile mode change 100755 => 100644 openair1/SIMULATION/RF/README.txt mode change 100755 => 100644 openair1/SIMULATION/RF/adc.c mode change 100755 => 100644 openair1/SIMULATION/RF/dac.c mode change 100755 => 100644 openair1/SIMULATION/RF/rf.c mode change 100755 => 100644 openair1/SIMULATION/RF/rf.h mode change 100755 => 100644 openair1/SIMULATION/TOOLS/abstraction.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/ch_desc_proto.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/corr_mat.m mode change 100755 => 100644 openair1/SIMULATION/TOOLS/gauss.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/llr_quantization.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/multipath_channel.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/multipath_tv_channel.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/random_channel.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/rangen_double.c mode change 100755 => 100644 openair1/SIMULATION/TOOLS/scm.m mode change 100755 => 100644 openair1/SIMULATION/TOOLS/scm_corrmat.h mode change 100755 => 100644 openair1/SIMULATION/TOOLS/sim.h mode change 100755 => 100644 openair1/SIMULATION/TOOLS/taus.c mode change 100755 => 100644 openair2/COMMON/as_message.h mode change 100755 => 100644 openair2/COMMON/commonDef.h mode change 100755 => 100644 openair2/COMMON/gtpv1_u_messages_def.h mode change 100755 => 100644 openair2/COMMON/gtpv1_u_messages_types.h mode change 100755 => 100644 openair2/COMMON/intertask_interface_conf.h mode change 100755 => 100644 openair2/COMMON/mac_messages_def.h mode change 100755 => 100644 openair2/COMMON/mac_messages_types.h mode change 100755 => 100644 openair2/COMMON/mac_primitives.h mode change 100755 => 100644 openair2/COMMON/mac_rlc_primitives.h mode change 100755 => 100644 openair2/COMMON/mac_rrc_primitives.h mode change 100755 => 100644 openair2/COMMON/messages_def.h mode change 100755 => 100644 openair2/COMMON/messages_types.h mode change 100755 => 100644 openair2/COMMON/nas_messages_def.h mode change 100755 => 100644 openair2/COMMON/nas_messages_types.h mode change 100755 => 100644 openair2/COMMON/networkDef.h mode change 100755 => 100644 openair2/COMMON/openair_defs.h mode change 100755 => 100644 openair2/COMMON/pdcp_messages_def.h mode change 100755 => 100644 openair2/COMMON/pdcp_messages_types.h mode change 100755 => 100644 openair2/COMMON/phy_messages_def.h mode change 100755 => 100644 openair2/COMMON/phy_messages_types.h mode change 100755 => 100644 openair2/COMMON/platform_constants.h mode change 100755 => 100644 openair2/COMMON/platform_types.h mode change 100755 => 100644 openair2/COMMON/ral_messages_def.h mode change 100755 => 100644 openair2/COMMON/ral_messages_types.h mode change 100755 => 100644 openair2/COMMON/rlc_messages_def.h mode change 100755 => 100644 openair2/COMMON/rlc_messages_types.h mode change 100755 => 100644 openair2/COMMON/rrc_messages_def.h mode change 100755 => 100644 openair2/COMMON/rrc_messages_types.h mode change 100755 => 100644 openair2/COMMON/rrm_config_structs.h mode change 100755 => 100644 openair2/COMMON/rrm_constants.h mode change 100755 => 100644 openair2/COMMON/rtos_header.h mode change 100755 => 100644 openair2/COMMON/s1ap_messages_def.h mode change 100755 => 100644 openair2/COMMON/s1ap_messages_types.h mode change 100755 => 100644 openair2/COMMON/sctp_messages_def.h mode change 100755 => 100644 openair2/COMMON/sctp_messages_types.h mode change 100755 => 100644 openair2/COMMON/tasks_def.h mode change 100755 => 100644 openair2/COMMON/udp_messages_def.h mode change 100755 => 100644 openair2/COMMON/udp_messages_types.h mode change 100755 => 100644 openair2/COMMON/x2ap_messages_def.h mode change 100755 => 100644 openair2/COMMON/x2ap_messages_types.h mode change 100755 => 100644 openair2/DOCS/DOXYGEN/Doxyfile mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/DLC_arch.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/Diapositive6.JPG mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/Framing.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/Framing.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC Services.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Measurements.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Services.eps mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Services.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Services2.eps mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Services2.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_arch.eps mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/PHY_arch.eps mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/PHY_arch.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/PHY_arch.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/QAM modulation.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/QAM modulation.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/QAMmodulation.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/Transmission.pdf mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/Transmission.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/Transmission.ps mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/cellular_topology.doc mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/cellular_topology.pdf mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/cellular_topology_small.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/channel server.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/channel server.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/convolutional.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/convolutional.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/irs_dcf.jpg mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/irs_pcf.jpg mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/layer2_stack.jpg mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/layer2_stack.pdf mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/layer2_stack.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mac_channels.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mac_wbs.jpg mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/macphynet.eps mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/macphynet.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mesh_frame.pdf mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mesh_topology.pdf mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/mesh_topology_small.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/scrambler.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/scrambler.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/w3g4f_framing.png mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd mode change 100755 => 100644 openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd mode change 100755 => 100644 openair2/DOCS/Documentation/flow.txt mode change 100755 => 100644 openair2/DOCS/TEMPLATES/CODE/Doxyfile mode change 100755 => 100644 openair2/DOCS/TEMPLATES/CODE/example_doxy.h mode change 100755 => 100644 openair2/DOCS/TEMPLATES/CODE/images/arch.eps mode change 100755 => 100644 openair2/DOCS/TEMPLATES/CODE/images/arch.png mode change 100755 => 100644 openair2/DOCS/TEMPLATES/README/Readme.doxy mode change 100755 => 100644 openair2/DOCS/TEMPLATES/README/readme.txt mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/PDCP/flexran_agent_pdcp_defs.h mode change 100755 => 100644 openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/config_common.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/config_messages.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/control_delegation.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/controller_commands.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/flexran.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/header.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/stats_common.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/stats_messages.proto mode change 100755 => 100644 openair2/ENB_APP/MESSAGES/V2/time_common.proto mode change 100755 => 100644 openair2/ENB_APP/Makefile.inc mode change 100755 => 100644 openair2/ENB_APP/NB_IoT_config.h mode change 100755 => 100644 openair2/ENB_APP/NB_IoT_interface.h mode change 100755 => 100644 openair2/ENB_APP/RRC_config_tools.h mode change 100755 => 100644 openair2/ENB_APP/enb_app.c mode change 100755 => 100644 openair2/ENB_APP/enb_app.h mode change 100755 => 100644 openair2/ENB_APP/enb_config.c mode change 100755 => 100644 openair2/ENB_APP/enb_config.h mode change 100755 => 100644 openair2/ENB_APP/enb_paramdef.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_async.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_async.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_common.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_common.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_common_internal.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_common_internal.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_defs.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_extern.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_handler.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_net_comm.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_net_comm.h mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_task_manager.c mode change 100755 => 100644 openair2/ENB_APP/flexran_agent_task_manager.h mode change 100755 => 100644 openair2/LAYER2/MAC/config.c mode change 100755 => 100644 openair2/LAYER2/MAC/defs.h mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler.c mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler_RA.c mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler_bch.c mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler_dlsch.c mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler_mch.c mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler_primitives.c mode change 100755 => 100644 openair2/LAYER2/MAC/eNB_scheduler_ulsch.c mode change 100755 => 100644 openair2/LAYER2/MAC/l1_helpers.c mode change 100755 => 100644 openair2/LAYER2/MAC/lte_transport_init.c mode change 100755 => 100644 openair2/LAYER2/MAC/mac_extern.h mode change 100755 => 100644 openair2/LAYER2/MAC/mac_proto.h mode change 100755 => 100644 openair2/LAYER2/MAC/main.c mode change 100755 => 100644 openair2/LAYER2/MAC/pre_processor.c mode change 100755 => 100644 openair2/LAYER2/MAC/ra_procedures.c mode change 100755 => 100644 openair2/LAYER2/MAC/rar_tools.c mode change 100755 => 100644 openair2/LAYER2/MAC/ue_procedures.c mode change 100755 => 100644 openair2/LAYER2/Makefile.inc mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp.h mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c mode change 100755 => 100644 openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c mode change 100755 => 100644 openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h mode change 100755 => 100644 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c mode change 100755 => 100644 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h mode change 100755 => 100644 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h mode change 100755 => 100644 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c mode change 100755 => 100644 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h mode change 100755 => 100644 openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/Makefile mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/README mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c mode change 100755 => 100644 openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h mode change 100755 => 100644 openair2/LAYER2/RLC/mac_primitives.h mode change 100755 => 100644 openair2/LAYER2/RLC/rlc.c mode change 100755 => 100644 openair2/LAYER2/RLC/rlc.h mode change 100755 => 100644 openair2/LAYER2/RLC/rlc_def.h mode change 100755 => 100644 openair2/LAYER2/RLC/rlc_def_lte.h mode change 100755 => 100644 openair2/LAYER2/RLC/rlc_mac.c mode change 100755 => 100644 openair2/LAYER2/RLC/rlc_mpls.c mode change 100755 => 100644 openair2/LAYER2/RLC/rlc_primitives.h mode change 100755 => 100644 openair2/LAYER2/RLC/rlc_rrc.c mode change 100755 => 100644 openair2/LAYER2/openair2_proc.c mode change 100755 => 100644 openair2/LAYER2/register.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/RB_TOOL/Makefile mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/classifier.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/common.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/constant.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/device.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/ioctl.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/ioctl.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/local.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/netlink.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/proto_extern.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/sap.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/LITE/tool.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/classifier.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/common.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/constant.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/device.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/ioctl.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/ioctl.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/local.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/mesh.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/netlink.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/proto_extern.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/sap.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/MESH/tool.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/README mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/common.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/constant.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/device.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/local.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/netlink.c mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/proto_extern.h mode change 100755 => 100644 openair2/NETWORK_DRIVER/UE_IP/sap.h mode change 100755 => 100644 openair2/PHY_INTERFACE/IF_Module.c mode change 100755 => 100644 openair2/PHY_INTERFACE/IF_Module.h mode change 100755 => 100644 openair2/PHY_INTERFACE/mac_phy_primitives.c mode change 100755 => 100644 openair2/PHY_INTERFACE/mac_phy_primitives.h mode change 100755 => 100644 openair2/PHY_INTERFACE/phy_interface_extern.h mode change 100755 => 100644 openair2/PHY_INTERFACE/phy_interface_vars.h mode change 100755 => 100644 openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c mode change 100755 => 100644 openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h mode change 100755 => 100644 openair2/RRC/LITE/rrc_common.c mode change 100755 => 100644 openair2/RRC/LTE/L2_interface_ue.c mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/Makefile.inc mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/README.txt mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1_msg.c mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1_msg.h mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1_patch mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-860.txt mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-a20.txt mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-c60.txt mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-10.21.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-11.18.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-12.16.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-13.9.1.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.4.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.6.2.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.1.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.1.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-8.21.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-9.18.0.asn1 mode change 100755 => 100644 openair2/RRC/LTE/plmn_data.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_2_rrm_msg.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_UE.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_UE_ral.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_UE_ral.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_defs.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_GTPV1U.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_GTPV1U.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_S1AP.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_S1AP.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_UE_context.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_UE_context.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_ral.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_eNB_ral.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_extern.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_proto.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_rrm_interface.c mode change 100755 => 100644 openair2/RRC/LTE/rrc_rrm_interface.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_types.h mode change 100755 => 100644 openair2/RRC/LTE/rrc_vars.h mode change 100755 => 100644 openair2/RRC/LTE/rrm_2_rrc_msg.c mode change 100755 => 100644 openair2/RRC/LTE/utils.c mode change 100755 => 100644 openair2/RRC/NAS/Makefile.inc mode change 100755 => 100644 openair2/RRC/NAS/nas_config.c mode change 100755 => 100644 openair2/RRC/NAS/nas_config.h mode change 100755 => 100644 openair2/RRC/NAS/rb_config.c mode change 100755 => 100644 openair2/RRC/NAS/rb_config.h mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/link_manager.c mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/link_manager.h mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/message_queue.c mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/message_queue.h mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/ringbuffer_queue.c mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/ringbuffer_queue.h mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/socket_link.c mode change 100755 => 100644 openair2/UTIL/ASYNC_IF/socket_link.h mode change 100755 => 100644 openair2/UTIL/BIGPHYS/bigphys.c mode change 100755 => 100644 openair2/UTIL/BIGPHYS/defs.h mode change 100755 => 100644 openair2/UTIL/CLI/cli.c mode change 100755 => 100644 openair2/UTIL/CLI/cli.h mode change 100755 => 100644 openair2/UTIL/CLI/cli_cmd.c mode change 100755 => 100644 openair2/UTIL/CLI/cli_if.h mode change 100755 => 100644 openair2/UTIL/CLI/cli_server.c mode change 100755 => 100644 openair2/UTIL/FIFO/pad_list.c mode change 100755 => 100644 openair2/UTIL/FIFO/pad_list.h mode change 100755 => 100644 openair2/UTIL/FIFO/types.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.linux mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.windows mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.windows mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_and_gnumake/Makefile mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Makefile mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/makefile mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.user mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.user mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.user mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/build/gcc_and_gnumake/Makefile mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/build/sdk_for_windows_7_and_gnumake/makefile mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.user mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c mode change 100755 => 100644 openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h mode change 100755 => 100644 openair2/UTIL/LISTS/list.c mode change 100755 => 100644 openair2/UTIL/LISTS/list.h mode change 100755 => 100644 openair2/UTIL/LISTS/list2.c mode change 100755 => 100644 openair2/UTIL/MATH/crc_byte.c mode change 100755 => 100644 openair2/UTIL/MATH/oml.c mode change 100755 => 100644 openair2/UTIL/MATH/oml.h mode change 100755 => 100644 openair2/UTIL/MATH/random.c mode change 100755 => 100644 openair2/UTIL/MATH/random_proto_extern.h mode change 100755 => 100644 openair2/UTIL/MATH/taus.c mode change 100755 => 100644 openair2/UTIL/MEM/mem_block.c mode change 100755 => 100644 openair2/UTIL/MEM/mem_block.h mode change 100755 => 100644 openair2/UTIL/MEM/mem_mngt.c mode change 100755 => 100644 openair2/UTIL/MEM/mem_mngt_proto_extern.h mode change 100755 => 100644 openair2/UTIL/MEM/mem_pool.h mode change 100755 => 100644 openair2/UTIL/Makefile.inc mode change 100755 => 100644 openair2/UTIL/OCG/.directory mode change 100755 => 100644 openair2/UTIL/OCG/Doxyfile mode change 100755 => 100644 openair2/UTIL/OCG/OCG.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_call_emu.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_call_emu.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_config_mobi.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_config_mobi.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_create_dir.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_create_dir.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_detect_file.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_detect_file.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_extern.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_generate_report.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_generate_report.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_get_opt.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_get_opt.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_if.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_parse_XML.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_parse_XML.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_parse_filename.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_parse_filename.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_save_XML.c mode change 100755 => 100644 openair2/UTIL/OCG/OCG_save_XML.h mode change 100755 => 100644 openair2/UTIL/OCG/OCG_vars.h mode change 100755 => 100644 openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml mode change 100755 => 100644 openair2/UTIL/OCG/eurecom_20110208110244.xml mode change 100755 => 100644 openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml mode change 100755 => 100644 openair2/UTIL/OCG/makefile mode change 100755 => 100644 openair2/UTIL/OCG/readme.txt mode change 100755 => 100644 openair2/UTIL/OCG/temp_output/OCG_report.xml mode change 100755 => 100644 openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf mode change 100755 => 100644 openair2/UTIL/OMG/README.TXT mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/README.TXT mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/example_trace.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/handover.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/handover_1ue.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/mobility_2ues.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/mobility_3ues.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/regular.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/static_1enb.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/static_2ues.tr mode change 100755 => 100644 openair2/UTIL/OMG/TRACE/zero_speed.tr mode change 100755 => 100644 openair2/UTIL/OMG/common.c mode change 100755 => 100644 openair2/UTIL/OMG/defs.h mode change 100755 => 100644 openair2/UTIL/OMG/grid.c mode change 100755 => 100644 openair2/UTIL/OMG/grid.h mode change 100755 => 100644 openair2/UTIL/OMG/job.c mode change 100755 => 100644 openair2/UTIL/OMG/makefile mode change 100755 => 100644 openair2/UTIL/OMG/makefile_old mode change 100755 => 100644 openair2/UTIL/OMG/makefile_standalone mode change 100755 => 100644 openair2/UTIL/OMG/mobility.txt mode change 100755 => 100644 openair2/UTIL/OMG/mobility_parser.c mode change 100755 => 100644 openair2/UTIL/OMG/mobility_parser.h mode change 100755 => 100644 openair2/UTIL/OMG/omg.c mode change 100755 => 100644 openair2/UTIL/OMG/omg.h mode change 100755 => 100644 openair2/UTIL/OMG/omg_constants.h mode change 100755 => 100644 openair2/UTIL/OMG/omg_hashtable.c mode change 100755 => 100644 openair2/UTIL/OMG/omg_hashtable.h mode change 100755 => 100644 openair2/UTIL/OMG/omg_vars.h mode change 100755 => 100644 openair2/UTIL/OMG/rwalk.c mode change 100755 => 100644 openair2/UTIL/OMG/rwalk.h mode change 100755 => 100644 openair2/UTIL/OMG/rwp.c mode change 100755 => 100644 openair2/UTIL/OMG/rwp.h mode change 100755 => 100644 openair2/UTIL/OMG/static.c mode change 100755 => 100644 openair2/UTIL/OMG/static.h mode change 100755 => 100644 openair2/UTIL/OMG/steadystaterwp.c mode change 100755 => 100644 openair2/UTIL/OMG/steadystaterwp.h mode change 100755 => 100644 openair2/UTIL/OMG/trace.c mode change 100755 => 100644 openair2/UTIL/OMG/trace.h mode change 100755 => 100644 openair2/UTIL/OMG/trace_hashtable.c mode change 100755 => 100644 openair2/UTIL/OMG/trace_hashtable.h mode change 100755 => 100644 openair2/UTIL/OMV/README.txt mode change 100755 => 100644 openair2/UTIL/OMV/blue.png mode change 100755 => 100644 openair2/UTIL/OMV/communicationthread.cpp mode change 100755 => 100644 openair2/UTIL/OMV/communicationthread.h mode change 100755 => 100644 openair2/UTIL/OMV/green.png mode change 100755 => 100644 openair2/UTIL/OMV/jpg.jpeg mode change 100755 => 100644 openair2/UTIL/OMV/mus.png mode change 100755 => 100644 openair2/UTIL/OMV/mywindow.cpp mode change 100755 => 100644 openair2/UTIL/OMV/mywindow.h mode change 100755 => 100644 openair2/UTIL/OMV/new.jpg mode change 100755 => 100644 openair2/UTIL/OMV/new2.jpg mode change 100755 => 100644 openair2/UTIL/OMV/omv.cpp mode change 100755 => 100644 openair2/UTIL/OMV/openglwidget.cpp mode change 100755 => 100644 openair2/UTIL/OMV/openglwidget.h mode change 100755 => 100644 openair2/UTIL/OMV/red.png mode change 100755 => 100644 openair2/UTIL/OMV/structures.h mode change 100755 => 100644 openair2/UTIL/OMV/white.png mode change 100755 => 100644 openair2/UTIL/OMV/wow.png mode change 100755 => 100644 openair2/UTIL/OPT/README.txt mode change 100755 => 100644 openair2/UTIL/OPT/mac_pcap.h mode change 100755 => 100644 openair2/UTIL/OPT/opt.h mode change 100755 => 100644 openair2/UTIL/OPT/packet-mac-lte.h mode change 100755 => 100644 openair2/UTIL/OPT/probe.c mode change 100755 => 100644 openair2/UTIL/OPT/vars.h mode change 100755 => 100644 openair2/UTIL/OSA/README mode change 100755 => 100644 openair2/UTIL/OSA/osa_defs.h mode change 100755 => 100644 openair2/UTIL/OSA/osa_internal.h mode change 100755 => 100644 openair2/UTIL/OSA/osa_key_deriver.c mode change 100755 => 100644 openair2/UTIL/OSA/osa_rijndael.c mode change 100755 => 100644 openair2/UTIL/OSA/osa_rijndael.h mode change 100755 => 100644 openair2/UTIL/OSA/osa_snow3g.c mode change 100755 => 100644 openair2/UTIL/OSA/osa_snow3g.h mode change 100755 => 100644 openair2/UTIL/OSA/osa_stream_eea.c mode change 100755 => 100644 openair2/UTIL/OSA/osa_stream_eia.c mode change 100755 => 100644 openair2/UTIL/OSD/OCG.pid mode change 100755 => 100644 openair2/UTIL/OSD/OpenAirEmu.conf mode change 100755 => 100644 openair2/UTIL/OSD/Platform_is_running.php mode change 100755 => 100644 openair2/UTIL/OSD/README.txt mode change 100755 => 100644 openair2/UTIL/OSD/css/blueprint.css mode change 100755 => 100644 openair2/UTIL/OSD/css/fix-ie-rtl.css mode change 100755 => 100644 openair2/UTIL/OSD/css/fix-ie.css mode change 100755 => 100644 openair2/UTIL/OSD/css/ie.css mode change 100755 => 100644 openair2/UTIL/OSD/css/ie6.css mode change 100755 => 100644 openair2/UTIL/OSD/css/images/false.png mode change 100755 => 100644 openair2/UTIL/OSD/css/images/false2.png mode change 100755 => 100644 openair2/UTIL/OSD/css/images/lquote.png mode change 100755 => 100644 openair2/UTIL/OSD/css/images/true.png mode change 100755 => 100644 openair2/UTIL/OSD/css/images/warning.png mode change 100755 => 100644 openair2/UTIL/OSD/css/print.css mode change 100755 => 100644 openair2/UTIL/OSD/css/screen.css mode change 100755 => 100644 openair2/UTIL/OSD/css/style.css mode change 100755 => 100644 openair2/UTIL/OSD/form.php mode change 100755 => 100644 openair2/UTIL/OSD/header.php mode change 100755 => 100644 openair2/UTIL/OSD/httpd-result.conf mode change 100755 => 100644 openair2/UTIL/OSD/index.php mode change 100755 => 100644 openair2/UTIL/OSD/jquery/jquery.js mode change 100755 => 100644 openair2/UTIL/OSD/recep.php mode change 100755 => 100644 openair2/UTIL/OSD/toto.php mode change 100755 => 100644 openair2/UTIL/OTG/Doxyfile mode change 100755 => 100644 openair2/UTIL/OTG/help_OTGplot.txt mode change 100755 => 100644 openair2/UTIL/OTG/main.c mode change 100755 => 100644 openair2/UTIL/OTG/makefile mode change 100755 => 100644 openair2/UTIL/OTG/otg.c mode change 100755 => 100644 openair2/UTIL/OTG/otg.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_config.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_defs.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_externs.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_form.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_form.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_kpi.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_kpi.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_models.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_models.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_rx.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_rx.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_rx_socket.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_rx_socket.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_tx.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_tx.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_tx_socket.c mode change 100755 => 100644 openair2/UTIL/OTG/otg_tx_socket.h mode change 100755 => 100644 openair2/UTIL/OTG/otg_vars.h mode change 100755 => 100644 openair2/UTIL/OTG/traffic_config.h mode change 100755 => 100644 openair2/UTIL/TIMER/umts_timer.c mode change 100755 => 100644 openair2/UTIL/TIMER/umts_timer.h mode change 100755 => 100644 openair2/UTIL/TIMER/umts_timer_proto_extern.h mode change 100755 => 100644 openair2/UTIL/TIMER/umts_timer_struct.h mode change 100755 => 100644 openair2/UTIL/TRACE/fifo_printf.c mode change 100755 => 100644 openair2/UTIL/TRACE/fifo_printf.h mode change 100755 => 100644 openair2/UTIL/TRACE/fifo_printf_proto_extern.h mode change 100755 => 100644 openair2/UTIL/TRACE/print.h mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R10/x2ap-10.7.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R11/x2ap-11.9.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R12/x2ap-12.8.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R13/x2ap-13.7.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R14/x2ap-14.6.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.1.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.2.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R8/x2ap-8.9.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/R9/x2ap-9.6.0.asn1 mode change 100755 => 100644 openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py mode change 100755 => 100644 openair2/X2AP/Makefile.inc mode change 100755 => 100644 openair2/X2AP/x2ap_common.c mode change 100755 => 100644 openair2/X2AP/x2ap_common.h mode change 100755 => 100644 openair2/X2AP/x2ap_eNB.h mode change 100755 => 100644 openair2/X2AP/x2ap_eNB_encoder.c mode change 100755 => 100644 openair2/X2AP/x2ap_eNB_handler.h mode change 100755 => 100644 openair2/X2AP/x2ap_eNB_management_procedures.h mode change 100755 => 100644 openair3/COMMON/as_message.h mode change 100755 => 100644 openair3/COMMON/common_types.h mode change 100755 => 100644 openair3/COMMON/gtpv1_u_messages_def.h mode change 100755 => 100644 openair3/COMMON/gtpv1_u_messages_types.h mode change 100755 => 100644 openair3/COMMON/intertask_interface_conf.h mode change 100755 => 100644 openair3/COMMON/messages_def.h mode change 100755 => 100644 openair3/COMMON/messages_types.h mode change 100755 => 100644 openair3/COMMON/nas_messages_def.h mode change 100755 => 100644 openair3/COMMON/nas_messages_types.h mode change 100755 => 100644 openair3/COMMON/s1ap_messages_def.h mode change 100755 => 100644 openair3/COMMON/s1ap_messages_types.h mode change 100755 => 100644 openair3/COMMON/sctp_messages_def.h mode change 100755 => 100644 openair3/COMMON/sctp_messages_types.h mode change 100755 => 100644 openair3/COMMON/security_types.h mode change 100755 => 100644 openair3/COMMON/tasks_def.h mode change 100755 => 100644 openair3/COMMON/udp_messages_def.h mode change 100755 => 100644 openair3/COMMON/udp_messages_types.h mode change 100755 => 100644 openair3/DOCS/DOXYGEN/Doxyfile.in mode change 100755 => 100644 openair3/DOCS/DOXYGEN/Makefile.am mode change 100755 => 100644 openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf mode change 100755 => 100644 openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex mode change 100755 => 100644 openair3/DOCS/Latex/EPC/EPC.pdf mode change 100755 => 100644 openair3/DOCS/Latex/EPC/EPC.tex mode change 100755 => 100644 openair3/DOCS/Latex/EPC/Makefile mode change 100755 => 100644 openair3/DOCS/Makefile.am mode change 100755 => 100644 openair3/GTPV1-U/Makefile.am mode change 100755 => 100644 openair3/GTPV1-U/Makefile.eNB mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u.h mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u_eNB.c mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u_eNB_defs.h mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u_eNB_task.h mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u_sgw_defs.h mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u_task.c mode change 100755 => 100644 openair3/GTPV1-U/gtpv1u_teid_pool.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/AUTHORS mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/COPYING mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/ChangeLog mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/NEWS mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/README mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h mode change 100755 => 100644 openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/Makefile mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/as_message.c mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/as_message.h mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/l2_message.h mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/nas_message.c mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/nas_message.h mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/network_api.c mode change 100755 => 100644 openair3/NAS/COMMON/API/NETWORK/network_api.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachComplete.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachComplete.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachReject.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachReject.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AttachRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/DetachAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/DetachAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/DetachRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/DetachRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/EmmInformation.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/EmmInformation.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/EmmStatus.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/EmmStatus.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/Makefile mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/ServiceReject.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/ServiceReject.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/emm_cause.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/emm_msg.c mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/emm_msg.h mode change 100755 => 100644 openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/EsmStatus.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/EsmStatus.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/Makefile mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/esm_cause.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/esm_msg.c mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/esm_msg.h mode change 100755 => 100644 openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AccessPointName.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AccessPointName.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AdditionalUpdateResult.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AdditionalUpdateResult.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AdditionalUpdateType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AdditionalUpdateType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationParameterRand.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationParameterRand.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/Cli.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/Cli.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/CsfbResponse.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/CsfbResponse.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/DaylightSavingTime.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/DaylightSavingTime.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/DetachType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/DetachType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/DrxParameter.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/DrxParameter.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EmergencyNumberList.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EmergencyNumberList.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EmmCause.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EmmCause.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsAttachResult.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsAttachResult.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsAttachType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsAttachType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsBearerContextStatus.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsBearerContextStatus.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsBearerIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsBearerIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsMobileIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsMobileIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsQualityOfService.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsQualityOfService.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsUpdateResult.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsUpdateResult.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsUpdateType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EpsUpdateType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EsmCause.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EsmCause.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/EsmMessageContainer.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/EsmMessageContainer.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/GprsTimer.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/GprsTimer.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/GutiType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/GutiType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/IdentityType2.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/IdentityType2.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ImeisvRequest.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ImeisvRequest.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/LcsClientIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/LcsClientIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/LcsIndicator.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/LcsIndicator.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/LocationAreaIdentification.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/LocationAreaIdentification.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/Makefile mode change 100755 => 100644 openair3/NAS/COMMON/IES/MessageType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/MessageType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/MobileIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/MobileIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/MobileStationClassmark2.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/MobileStationClassmark2.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/MobileStationClassmark3.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/MobileStationClassmark3.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/MsNetworkCapability.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/MsNetworkCapability.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasKeySetIdentifier.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasKeySetIdentifier.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasMessageContainer.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasMessageContainer.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasRequestType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasRequestType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/NetworkName.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/NetworkName.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/Nonce.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/Nonce.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/PTmsiSignature.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/PTmsiSignature.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/PacketFlowIdentifier.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/PacketFlowIdentifier.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/PagingIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/PagingIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/PdnAddress.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/PdnAddress.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/PdnType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/PdnType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/PlmnList.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/PlmnList.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ProtocolDiscriminator.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ProtocolDiscriminator.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/QualityOfService.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/QualityOfService.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/RadioPriority.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/RadioPriority.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/SecurityHeaderType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/SecurityHeaderType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ServiceType.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ServiceType.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/ShortMac.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/ShortMac.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/SsCode.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/SsCode.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/SupportedCodecList.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/SupportedCodecList.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TimeZone.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TimeZone.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TimeZoneAndTime.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TimeZoneAndTime.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TmsiStatus.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TmsiStatus.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrackingAreaIdentity.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrackingAreaIdentity.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrafficFlowTemplate.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TrafficFlowTemplate.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/TransactionIdentifier.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/TransactionIdentifier.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/UeNetworkCapability.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/UeNetworkCapability.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/UeSecurityCapability.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/UeSecurityCapability.h mode change 100755 => 100644 openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c mode change 100755 => 100644 openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/Makefile mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/OctetString.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/OctetString.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/TLVDecoder.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/TLVDecoder.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/TLVEncoder.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/TLVEncoder.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/device.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/device.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/memory.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/memory.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/nas_log.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/nas_timer.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/nas_timer.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/parser.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/parser.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/socket.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/socket.h mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/stty.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/tst/Makefile mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/tst/timer.c mode change 100755 => 100644 openair3/NAS/COMMON/UTIL/tst/timer_debug.txt mode change 100755 => 100644 openair3/NAS/COMMON/commonDef.h mode change 100755 => 100644 openair3/NAS/COMMON/networkDef.h mode change 100755 => 100644 openair3/NAS/COMMON/securityDef.h mode change 100755 => 100644 openair3/NAS/COMMON/userDef.h mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/Makefile mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_data.c mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_data.h mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_process.c mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_process.h mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/nas_data.c mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/nas_data.h mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/nas_process.c mode change 100755 => 100644 openair3/NAS/TEST/AS_SIMULATOR/nas_process.h mode change 100755 => 100644 openair3/NAS/TEST/MSC/ActivatePDN.png mode change 100755 => 100644 openair3/NAS/TEST/MSC/AuthenticationReject.png mode change 100755 => 100644 openair3/NAS/TEST/MSC/DeactivatePDN.png mode change 100755 => 100644 openair3/NAS/TEST/MSC/InitialAttach.png mode change 100755 => 100644 openair3/NAS/TEST/MSC/InitialAttachReject.png mode change 100755 => 100644 openair3/NAS/TEST/MSC/NomalDetach.png mode change 100755 => 100644 openair3/NAS/TEST/MSC/README mode change 100755 => 100644 openair3/NAS/TEST/MSC/SwitchOffDetach.png mode change 100755 => 100644 openair3/NAS/TEST/NETWORK/Makefile mode change 100755 => 100644 openair3/NAS/TEST/NETWORK/README mode change 100755 => 100644 openair3/NAS/TEST/NETWORK/network_parser.c mode change 100755 => 100644 openair3/NAS/TEST/NETWORK/network_parser.h mode change 100755 => 100644 openair3/NAS/TEST/NETWORK/network_simulator.c mode change 100755 => 100644 openair3/NAS/TEST/USER/Makefile mode change 100755 => 100644 openair3/NAS/TEST/USER/user_parser.c mode change 100755 => 100644 openair3/NAS/TEST/USER/user_parser.h mode change 100755 => 100644 openair3/NAS/TEST/USER/user_simulator.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf2uedata.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf2uedata.h mode change 100755 => 100644 openair3/NAS/TOOLS/conf_emm.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf_emm.h mode change 100755 => 100644 openair3/NAS/TOOLS/conf_network.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf_network.h mode change 100755 => 100644 openair3/NAS/TOOLS/conf_parser.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf_parser.h mode change 100755 => 100644 openair3/NAS/TOOLS/conf_user_data.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf_user_data.h mode change 100755 => 100644 openair3/NAS/TOOLS/conf_user_plmn.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf_user_plmn.h mode change 100755 => 100644 openair3/NAS/TOOLS/conf_usim.c mode change 100755 => 100644 openair3/NAS/TOOLS/conf_usim.h mode change 100755 => 100644 openair3/NAS/TOOLS/display.c mode change 100755 => 100644 openair3/NAS/TOOLS/display.h mode change 100755 => 100644 openair3/NAS/TOOLS/fs.c mode change 100755 => 100644 openair3/NAS/TOOLS/fs.h mode change 100755 => 100644 openair3/NAS/TOOLS/network.h mode change 100755 => 100644 openair3/NAS/TOOLS/nvram.c mode change 100755 => 100644 openair3/NAS/TOOLS/ue_bcom_test.conf mode change 100755 => 100644 openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf mode change 100755 => 100644 openair3/NAS/TOOLS/ue_tcl_test.conf mode change 100755 => 100644 openair3/NAS/TOOLS/usim.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/at_command.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/at_command.h mode change 100755 => 100644 openair3/NAS/UE/API/USER/at_error.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/at_error.h mode change 100755 => 100644 openair3/NAS/UE/API/USER/at_response.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/at_response.h mode change 100755 => 100644 openair3/NAS/UE/API/USER/tst/at_parser.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/tst/at_parser.in mode change 100755 => 100644 openair3/NAS/UE/API/USER/tst/at_parser.in.bis mode change 100755 => 100644 openair3/NAS/UE/API/USER/tst/at_parser.out mode change 100755 => 100644 openair3/NAS/UE/API/USER/tst/at_parser.out.bis mode change 100755 => 100644 openair3/NAS/UE/API/USER/tst/smartcom.txt mode change 100755 => 100644 openair3/NAS/UE/API/USER/user_api.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/user_api.h mode change 100755 => 100644 openair3/NAS/UE/API/USER/user_api_defs.h mode change 100755 => 100644 openair3/NAS/UE/API/USER/user_indication.c mode change 100755 => 100644 openair3/NAS/UE/API/USER/user_indication.h mode change 100755 => 100644 openair3/NAS/UE/API/USIM/aka_functions.c mode change 100755 => 100644 openair3/NAS/UE/API/USIM/aka_functions.h mode change 100755 => 100644 openair3/NAS/UE/API/USIM/usim_api.c mode change 100755 => 100644 openair3/NAS/UE/API/USIM/usim_api.h mode change 100755 => 100644 openair3/NAS/UE/EMM/Attach.c mode change 100755 => 100644 openair3/NAS/UE/EMM/Authentication.c mode change 100755 => 100644 openair3/NAS/UE/EMM/Authentication.h mode change 100755 => 100644 openair3/NAS/UE/EMM/Detach.c mode change 100755 => 100644 openair3/NAS/UE/EMM/EmmStatusHdl.c mode change 100755 => 100644 openair3/NAS/UE/EMM/Identification.c mode change 100755 => 100644 openair3/NAS/UE/EMM/IdleMode.c mode change 100755 => 100644 openair3/NAS/UE/EMM/IdleMode.h mode change 100755 => 100644 openair3/NAS/UE/EMM/IdleMode_defs.h mode change 100755 => 100644 openair3/NAS/UE/EMM/LowerLayer.c mode change 100755 => 100644 openair3/NAS/UE/EMM/LowerLayer.h mode change 100755 => 100644 openair3/NAS/UE/EMM/LowerLayer_defs.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregistered.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmNull.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegistered.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_as.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_as.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_asDef.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_esm.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_esm.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_esmDef.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_fsm.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_fsm.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_recv.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_recv.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_reg.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_reg.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_regDef.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_sap.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_sap.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_send.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SAP/emm_send.h mode change 100755 => 100644 openair3/NAS/UE/EMM/SecurityModeControl.c mode change 100755 => 100644 openair3/NAS/UE/EMM/SecurityModeControl.h mode change 100755 => 100644 openair3/NAS/UE/EMM/ServiceRequestHdl.c mode change 100755 => 100644 openair3/NAS/UE/EMM/TrackingAreaUpdate.c mode change 100755 => 100644 openair3/NAS/UE/EMM/emmData.h mode change 100755 => 100644 openair3/NAS/UE/EMM/emm_fsm_defs.h mode change 100755 => 100644 openair3/NAS/UE/EMM/emm_main.c mode change 100755 => 100644 openair3/NAS/UE/EMM/emm_main.h mode change 100755 => 100644 openair3/NAS/UE/EMM/emm_proc.h mode change 100755 => 100644 openair3/NAS/UE/EMM/emm_proc_defs.h mode change 100755 => 100644 openair3/NAS/UE/EMM/emm_timers.h mode change 100755 => 100644 openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c mode change 100755 => 100644 openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c mode change 100755 => 100644 openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c mode change 100755 => 100644 openair3/NAS/UE/ESM/EsmStatusHdl.c mode change 100755 => 100644 openair3/NAS/UE/ESM/PdnConnectivity.c mode change 100755 => 100644 openair3/NAS/UE/ESM/PdnDisconnect.c mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_recv.c mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_recv.h mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_sap.c mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_sap.h mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_sapDef.h mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_send.c mode change 100755 => 100644 openair3/NAS/UE/ESM/SAP/esm_send.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esmData.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_ebr.c mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_ebr.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_ebr_context.c mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_ebr_context.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_ip.c mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_main.c mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_main.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_proc.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_pt.c mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_pt.h mode change 100755 => 100644 openair3/NAS/UE/ESM/esm_pt_defs.h mode change 100755 => 100644 openair3/NAS/UE/UEprocess.c mode change 100755 => 100644 openair3/NAS/UE/nas_itti_messaging.c mode change 100755 => 100644 openair3/NAS/UE/nas_itti_messaging.h mode change 100755 => 100644 openair3/NAS/UE/nas_network.c mode change 100755 => 100644 openair3/NAS/UE/nas_network.h mode change 100755 => 100644 openair3/NAS/UE/nas_parser.c mode change 100755 => 100644 openair3/NAS/UE/nas_parser.h mode change 100755 => 100644 openair3/NAS/UE/nas_proc.c mode change 100755 => 100644 openair3/NAS/UE/nas_proc.h mode change 100755 => 100644 openair3/NAS/UE/nas_proc_defs.h mode change 100755 => 100644 openair3/NAS/UE/nas_ue_task.c mode change 100755 => 100644 openair3/NAS/UE/nas_ue_task.h mode change 100755 => 100644 openair3/NAS/UE/nas_user.c mode change 100755 => 100644 openair3/NAS/UE/nas_user.h mode change 100755 => 100644 openair3/NAS/UE/user_defs.h mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R10/s1ap-10.9.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R11/s1ap-11.8.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R12/s1ap-12.7.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R13/s1ap-13.6.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.5.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.6.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.1.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.2.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R8/s1ap-8.10.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/R9/s1ap-9.10.0.asn1 mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/README mode change 100755 => 100644 openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py mode change 100755 => 100644 openair3/S1AP/s1ap_common.c mode change 100755 => 100644 openair3/S1AP/s1ap_common.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_context_management_procedures.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_context_management_procedures.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_decoder.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_decoder.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_default_values.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_defs.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_encoder.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_encoder.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_handlers.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_handlers.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_itti_messaging.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_itti_messaging.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_management_procedures.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_management_procedures.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_nas_procedures.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_nas_procedures.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_nnsf.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_nnsf.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_overload.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_overload.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_trace.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_trace.h mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_ue_context.c mode change 100755 => 100644 openair3/S1AP/s1ap_eNB_ue_context.h mode change 100755 => 100644 openair3/SCTP/sctp_common.c mode change 100755 => 100644 openair3/SCTP/sctp_common.h mode change 100755 => 100644 openair3/SCTP/sctp_default_values.h mode change 100755 => 100644 openair3/SCTP/sctp_eNB_defs.h mode change 100755 => 100644 openair3/SCTP/sctp_eNB_itti_messaging.c mode change 100755 => 100644 openair3/SCTP/sctp_eNB_itti_messaging.h mode change 100755 => 100644 openair3/SCTP/sctp_eNB_task.c mode change 100755 => 100644 openair3/SCTP/sctp_eNB_task.h mode change 100755 => 100644 openair3/SCTP/sctp_primitives_client.c mode change 100755 => 100644 openair3/SCTP/sctp_primitives_client.h mode change 100755 => 100644 openair3/SECU/kdf.c mode change 100755 => 100644 openair3/SECU/key_nas_deriver.c mode change 100755 => 100644 openair3/SECU/key_nas_encryption.c mode change 100755 => 100644 openair3/SECU/nas_stream_eea1.c mode change 100755 => 100644 openair3/SECU/nas_stream_eea2.c mode change 100755 => 100644 openair3/SECU/nas_stream_eia1.c mode change 100755 => 100644 openair3/SECU/nas_stream_eia2.c mode change 100755 => 100644 openair3/SECU/rijndael.c mode change 100755 => 100644 openair3/SECU/rijndael.h mode change 100755 => 100644 openair3/SECU/secu_defs.h mode change 100755 => 100644 openair3/SECU/snow3g.c mode change 100755 => 100644 openair3/SECU/snow3g.h mode change 100755 => 100644 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml mode change 100755 => 100644 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf mode change 100755 => 100644 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf mode change 100755 => 100644 openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml mode change 100755 => 100644 openair3/TEST/EPC_TEST/generate_scenario.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/generate_scenario.h mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario.h mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_decode.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_display.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_fsm.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_parse.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_s1ap.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h mode change 100755 => 100644 openair3/TEST/EPC_TEST/play_scenario_sctp.c mode change 100755 => 100644 openair3/TEST/Makefile.am mode change 100755 => 100644 openair3/TEST/oaisim_mme_client_test.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_itti_test.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_list_benchmark.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_s1ap_test.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_sctp_test.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c.h mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c_s1ap.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c_s1ap.h mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c_scenario.c mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c_scenario.h mode change 100755 => 100644 openair3/TEST/oaisim_mme_test_s1c_scenario1.c mode change 100755 => 100644 openair3/TEST/test_aes128_cmac_encrypt.c mode change 100755 => 100644 openair3/TEST/test_aes128_ctr_decrypt.c mode change 100755 => 100644 openair3/TEST/test_aes128_ctr_encrypt.c mode change 100755 => 100644 openair3/TEST/test_kdf.c mode change 100755 => 100644 openair3/TEST/test_s1ap.c mode change 100755 => 100644 openair3/TEST/test_secu.c mode change 100755 => 100644 openair3/TEST/test_secu_kenb.c mode change 100755 => 100644 openair3/TEST/test_secu_knas.c mode change 100755 => 100644 openair3/TEST/test_secu_knas_encrypt_eea1.c mode change 100755 => 100644 openair3/TEST/test_secu_knas_encrypt_eea2.c mode change 100755 => 100644 openair3/TEST/test_secu_knas_encrypt_eia1.c mode change 100755 => 100644 openair3/TEST/test_secu_knas_encrypt_eia2.c mode change 100755 => 100644 openair3/TEST/test_secu_knas_stream_int.c mode change 100755 => 100644 openair3/UDP/udp_eNB_task.c mode change 100755 => 100644 openair3/UDP/udp_eNB_task.h mode change 100755 => 100644 openair3/UTILS/CONF/COPYING mode change 100755 => 100644 openair3/UTILS/Makefile.am mode change 100755 => 100644 openair3/UTILS/conversions.c mode change 100755 => 100644 openair3/UTILS/conversions.h mode change 100755 => 100644 openair3/UTILS/enum_string.c mode change 100755 => 100644 openair3/UTILS/enum_string.h mode change 100755 => 100644 openair3/UTILS/mcc_mnc_itu.c mode change 100755 => 100644 openair3/UTILS/mcc_mnc_itu.h mode change 100755 => 100644 openair3/UTILS/mme_config.c mode change 100755 => 100644 openair3/UTILS/mme_config.h mode change 100755 => 100644 openair3/UTILS/mme_default_values.h mode change 100755 => 100644 openair3/UTILS/mme_parser.y mode change 100755 => 100644 openair3/UTILS/mme_scanner.l mode change 100755 => 100644 openair3/UTILS/queue.h mode change 100755 => 100644 openair3/UTILS/tree.h mode change 100755 => 100644 pre-commit mode change 100755 => 100644 svn2git/README.txt mode change 100755 => 100644 svn2git/authors.txt mode change 100755 => 100644 svn2git/authors_original.txt mode change 100755 => 100644 svn2git/authors_original_java_output.txt mode change 100755 => 100644 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c mode change 100755 => 100644 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h mode change 100755 => 100644 targets/ARCH/COMMON/common_lib.c mode change 100755 => 100644 targets/ARCH/COMMON/common_lib.h mode change 100755 => 100644 targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc mode change 100755 => 100644 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c mode change 100755 => 100644 targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c mode change 100755 => 100644 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c mode change 100755 => 100644 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h mode change 100755 => 100644 targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd mode change 100755 => 100644 targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd mode change 100755 => 100644 targets/ARCH/EXMIMO/DEFS/openair_device.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DEFS/pcie_interface.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/Makefile mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/Makefile mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/readme.txt mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/Makefile mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c mode change 100755 => 100644 targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/LIB/example.c mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m mode change 100755 => 100644 targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m mode change 100755 => 100644 targets/ARCH/LMSSDR/LimeSDR.ini mode change 100755 => 100644 targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini mode change 100755 => 100644 targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini mode change 100755 => 100644 targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini mode change 100755 => 100644 targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini mode change 100755 => 100644 targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp mode change 100755 => 100644 targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp mode change 100755 => 100644 targets/ARCH/mobipass/interface.c mode change 100755 => 100644 targets/ARCH/mobipass/mobipass.c mode change 100755 => 100644 targets/ARCH/mobipass/mobipass.h mode change 100755 => 100644 targets/ARCH/mobipass/queues.c mode change 100755 => 100644 targets/ARCH/mobipass/queues.h mode change 100755 => 100644 targets/COMMON/Makefile.inc mode change 100755 => 100644 targets/COMMON/create_tasks.c mode change 100755 => 100644 targets/COMMON/create_tasks.h mode change 100755 => 100644 targets/COMMON/openairinterface5g_limits.h mode change 100755 => 100644 targets/COMMON/threads_t.h mode change 100755 => 100644 targets/DOCS/Doxyfile mode change 100755 => 100644 targets/DOCS/E-UTRAN_User_Guide.docx mode change 100755 => 100644 targets/DOCS/E-UTRAN_User_Guide.pdf mode change 100755 => 100644 targets/DOCS/images/oai_logo.png mode change 100755 => 100644 targets/DOCS/oai_L1_L2_procedures.ipe mode change 100755 => 100644 targets/Makefile.common mode change 100755 => 100644 targets/Makerules mode change 100755 => 100644 targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf mode change 100755 => 100644 targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf mode change 100755 => 100644 targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf mode change 100755 => 100644 targets/PROJECTS/E-MBMS/enb.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf mode change 100755 => 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/filesave0811.mat mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/generation.m mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/initial_sync.m mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/initparams.m mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/plots.m mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/recup.m mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/where2.m mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/where2_v1_final.mat mode change 100755 => 100644 targets/PROJECTS/LOCALIZATION/where2_vf.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_ch_est.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_ofdm_mod.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_ofdm_rx.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_ofdm_tx.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_tls_ap.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_tls_diag.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/f_tls_svd.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/s_beamforming.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/s_calib.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/s_draw_F.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/s_init_params.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/s_run_meas.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/alterproj.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/beamforming.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/calibration.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/genorthqpskseq.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/genrandpskseq.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/initparams.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/initparams2.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/ofdm_mod.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/readme.txt mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/runmeas_mimo.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m mode change 100755 => 100644 targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m mode change 100755 => 100644 targets/README.txt mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/load_module.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/nas_enb.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/nas_ue.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_emos.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_rf.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_ue.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/start_ue2.sh mode change 100755 => 100644 targets/RT/LAUNCH_SCRIPTS/stop_rf.sh mode change 100755 => 100644 targets/RT/USER/.runinfo mode change 100755 => 100644 targets/RT/USER/.ue.nvram mode change 100755 => 100644 targets/RT/USER/.ue_emm.nvram mode change 100755 => 100644 targets/RT/USER/.usim.nvram mode change 100755 => 100644 targets/RT/USER/TOOLS/thread_ipc.c mode change 100755 => 100644 targets/RT/USER/TOOLS/thread_ipc.h mode change 100755 => 100644 targets/RT/USER/eNB_exmimo2.gtkw mode change 100755 => 100644 targets/RT/USER/eNB_usrp.gtkw mode change 100755 => 100644 targets/RT/USER/exmimo2_2arxg.lime mode change 100755 => 100644 targets/RT/USER/exmimo2_2brxg.lime mode change 100755 => 100644 targets/RT/USER/init_b200.sh mode change 100755 => 100644 targets/RT/USER/init_exmimo.sh mode change 100755 => 100644 targets/RT/USER/init_exmimo2.sh mode change 100755 => 100644 targets/RT/USER/lte-enb.c mode change 100755 => 100644 targets/RT/USER/lte-ru.c mode change 100755 => 100644 targets/RT/USER/lte-softmodem.c mode change 100755 => 100644 targets/RT/USER/lte-softmodem.h mode change 100755 => 100644 targets/RT/USER/lte-ue.c mode change 100755 => 100644 targets/RT/USER/rau_if4_single_thread.gtkw mode change 100755 => 100644 targets/RT/USER/rcc_if4.gtkw mode change 100755 => 100644 targets/RT/USER/rcc_if5.gtkw mode change 100755 => 100644 targets/RT/USER/rfsim.h mode change 100755 => 100644 targets/RT/USER/rru_if4p5_single_thread.gtkw mode change 100755 => 100644 targets/RT/USER/rru_if4p5_usrp.gtkw mode change 100755 => 100644 targets/RT/USER/rru_if5_usrp.gtkw mode change 100755 => 100644 targets/RT/USER/rt_wrapper.c mode change 100755 => 100644 targets/RT/USER/rt_wrapper.h mode change 100755 => 100644 targets/RT/USER/stats.c mode change 100755 => 100644 targets/RT/USER/stats.fd mode change 100755 => 100644 targets/RT/USER/stats.h mode change 100755 => 100644 targets/RT/USER/ue_exmimo2.gtkw mode change 100755 => 100644 targets/RT/USER/ue_usrp.gtkw mode change 100755 => 100644 targets/SCRIPTS/install_asn1.sh mode change 100755 => 100644 targets/TEST/AT_COMMANDS/Makefile mode change 100755 => 100644 targets/TEST/AT_COMMANDS/oaisim.c mode change 100755 => 100644 targets/TEST/OAI/README mode change 100755 => 100644 targets/TEST/OAI/case01.py mode change 100755 => 100644 targets/TEST/OAI/case02.py mode change 100755 => 100644 targets/TEST/OAI/case03.py mode change 100755 => 100644 targets/TEST/OAI/case04.py mode change 100755 => 100644 targets/TEST/OAI/case05.py mode change 100755 => 100644 targets/TEST/OAI/case11.py mode change 100755 => 100644 targets/TEST/OAI/case12.py mode change 100755 => 100644 targets/TEST/OAI/case13.py mode change 100755 => 100644 targets/TEST/OAI/core.py mode change 100755 => 100644 targets/TEST/OAI/log.py mode change 100755 => 100644 targets/TEST/OAI/openair.py mode change 100755 => 100644 targets/TEST/OAI/test01.py mode change 100755 => 100644 targets/TEST/OAI/test02.py mode change 100755 => 100644 targets/TEST/PACKET_TRACER/Makefile mode change 100755 => 100644 targets/TEST/PACKET_TRACER/README.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/Msg4.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/sib1.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/sib2.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/messages/sib3.txt mode change 100755 => 100644 targets/TEST/PACKET_TRACER/pt.c mode change 100755 => 100644 targets/TEST/PDCP/Makefile mode change 100755 => 100644 targets/TEST/PDCP/readme.txt mode change 100755 => 100644 targets/TEST/PDCP/test_pdcp.c mode change 100755 => 100644 targets/TEST/PDCP/test_pdcp.h mode change 100755 => 100644 targets/TEST/PDCP/test_util.h mode change 100755 => 100644 targets/TEST/PDCP/todo.txt mode change 100755 => 100644 targets/TEST/PDCP/with_rlc/Makefile.data_bearer mode change 100755 => 100644 targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt mode change 100755 => 100644 targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c mode change 100755 => 100644 targets/TEST/RLC_AM_V9.3.0/Makefile mode change 100755 => 100644 targets/TEST/RLC_AM_V9.3.0/oaisim.c mode change 100755 => 100644 targets/TEST/RLC_UM_V9.3.0/Makefile mode change 100755 => 100644 targets/TEST/RLC_UM_V9.3.0/oaisim.c mode change 100755 => 100644 targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp mode change 100755 => 100644 targets/TEST/ROHDE_SCHWARZ/Makefile mode change 100755 => 100644 targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp mode change 100755 => 100644 targets/TEST/ROHDE_SCHWARZ/TcpClient.h mode change 100755 => 100644 targets/itti_vcd_tasks.sav diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml old mode 100755 new mode 100644 diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/NOTICE.txt b/NOTICE.txt old mode 100755 new mode 100644 diff --git a/README.txt b/README.txt old mode 100755 new mode 100644 diff --git a/ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf b/ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/at_commands/CMakeLists.txt b/cmake_targets/at_commands/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/core.py b/cmake_targets/autotests/core.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/log.py b/cmake_targets/autotests/log.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/templates/index.html b/cmake_targets/autotests/templates/index.html old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/templates/testcase_report.html b/cmake_targets/autotests/templates/testcase_report.html old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/testsuite_ue_noS1.xml b/cmake_targets/autotests/testsuite_ue_noS1.xml old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml b/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/tools/lib_autotest.py b/cmake_targets/autotests/tools/lib_autotest.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/tools/lib_autotest_analyser.py b/cmake_targets/autotests/tools/lib_autotest_analyser.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/tools/wdial.bandrich.conf b/cmake_targets/autotests/tools/wdial.bandrich.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/alu_epc.bash b/cmake_targets/autotests/v2/actions/alu_epc.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/alu_epc_stop.bash b/cmake_targets/autotests/v2/actions/alu_epc_stop.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/alu_hss.bash b/cmake_targets/autotests/v2/actions/alu_hss.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/bandrich.txt b/cmake_targets/autotests/v2/actions/bandrich.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/client_tcp.bash b/cmake_targets/autotests/v2/actions/client_tcp.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/client_udp.bash b/cmake_targets/autotests/v2/actions/client_udp.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/clone_repository.bash b/cmake_targets/autotests/v2/actions/clone_repository.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/compilation.bash b/cmake_targets/autotests/v2/actions/compilation.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/execution.bash b/cmake_targets/autotests/v2/actions/execution.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/execution_compile.bash b/cmake_targets/autotests/v2/actions/execution_compile.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/modem.py b/cmake_targets/autotests/v2/actions/modem.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/run_enb.bash b/cmake_targets/autotests/v2/actions/run_enb.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/server_tcp.bash b/cmake_targets/autotests/v2/actions/server_tcp.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/server_udp.bash b/cmake_targets/autotests/v2/actions/server_udp.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/start_3276.bash b/cmake_targets/autotests/v2/actions/start_3276.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/start_3276.py b/cmake_targets/autotests/v2/actions/start_3276.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.bash b/cmake_targets/autotests/v2/actions/start_bandrich.bash old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.py b/cmake_targets/autotests/v2/actions/start_bandrich.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/stop_3276.py b/cmake_targets/autotests/v2/actions/stop_3276.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/stop_bandrich.py b/cmake_targets/autotests/v2/actions/stop_bandrich.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/wvdial.3276.conf b/cmake_targets/autotests/v2/actions/wvdial.3276.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf b/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/alu_test.py b/cmake_targets/autotests/v2/alu_test.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/connection.py b/cmake_targets/autotests/v2/connection.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/machine_list.py b/cmake_targets/autotests/v2/machine_list.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/main.py b/cmake_targets/autotests/v2/main.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/task.py b/cmake_targets/autotests/v2/task.py old mode 100755 new mode 100644 diff --git a/cmake_targets/autotests/v2/utils.py b/cmake_targets/autotests/v2/utils.py old mode 100755 new mode 100644 diff --git a/cmake_targets/doxygen/CMakeLists.txt b/cmake_targets/doxygen/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/epc_test/CMakeLists.template b/cmake_targets/epc_test/CMakeLists.template old mode 100755 new mode 100644 diff --git a/cmake_targets/lte-simulators/CMakeLists.txt b/cmake_targets/lte-simulators/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/lte_noS1_build_oai/CMakeLists.template b/cmake_targets/lte_noS1_build_oai/CMakeLists.template old mode 100755 new mode 100644 diff --git a/cmake_targets/nas_sim_tools/CMakeLists.txt b/cmake_targets/nas_sim_tools/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/oaisim_build_oai/CMakeLists.template b/cmake_targets/oaisim_build_oai/CMakeLists.template old mode 100755 new mode 100644 diff --git a/cmake_targets/oaisim_mme_build_oai/CMakeLists.template b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template old mode 100755 new mode 100644 diff --git a/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template b/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template old mode 100755 new mode 100644 diff --git a/cmake_targets/s1c_mme_test/CMakeLists.template b/cmake_targets/s1c_mme_test/CMakeLists.template old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/Kbuild.cmake b/cmake_targets/tools/Kbuild.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/CMakeParseArguments.cmake b/cmake_targets/tools/MODULES/CMakeParseArguments.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake b/cmake_targets/tools/MODULES/CMakeUserFindMySQL.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/CMakeUserUseBison.cmake b/cmake_targets/tools/MODULES/CMakeUserUseBison.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake b/cmake_targets/tools/MODULES/CMakeUserUseFlex.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindFreeDiameter.cmake b/cmake_targets/tools/MODULES/FindFreeDiameter.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindGCCXML.cmake b/cmake_targets/tools/MODULES/FindGCCXML.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindGcrypt.cmake b/cmake_targets/tools/MODULES/FindGcrypt.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindGnuTLS.cmake b/cmake_targets/tools/MODULES/FindGnuTLS.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindKbuild.cmake b/cmake_targets/tools/MODULES/FindKbuild.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindLibXml2.cmake b/cmake_targets/tools/MODULES/FindLibXml2.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindMySQL.cmake b/cmake_targets/tools/MODULES/FindMySQL.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindNettle.cmake b/cmake_targets/tools/MODULES/FindNettle.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindPostgreSQL.cmake b/cmake_targets/tools/MODULES/FindPostgreSQL.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/FindSCTP.cmake b/cmake_targets/tools/MODULES/FindSCTP.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/Kbuild.cmake b/cmake_targets/tools/MODULES/Kbuild.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/cmake_useful.cmake b/cmake_targets/tools/MODULES/cmake_useful.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/kbuild_system.cmake b/cmake_targets/tools/MODULES/kbuild_system.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/kmodule.cmake b/cmake_targets/tools/MODULES/kmodule.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/MODULES/path_prefixes.cmake b/cmake_targets/tools/MODULES/path_prefixes.cmake old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/asn1tostruct.py b/cmake_targets/tools/asn1tostruct.py old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/exmimo2_2arxg.lime b/cmake_targets/tools/exmimo2_2arxg.lime old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/exmimo2_2brxg.lime b/cmake_targets/tools/exmimo2_2brxg.lime old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/exmimo_stop_octave.m b/cmake_targets/tools/exmimo_stop_octave.m old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff b/cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff b/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff b/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff old mode 100755 new mode 100644 diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper old mode 100755 new mode 100644 diff --git a/common/config/config_cmdline.c b/common/config/config_cmdline.c old mode 100755 new mode 100644 diff --git a/common/config/config_load_configmodule.c b/common/config/config_load_configmodule.c old mode 100755 new mode 100644 diff --git a/common/config/config_load_configmodule.h b/common/config/config_load_configmodule.h old mode 100755 new mode 100644 diff --git a/common/config/config_paramdesc.h b/common/config/config_paramdesc.h old mode 100755 new mode 100644 diff --git a/common/config/config_userapi.c b/common/config/config_userapi.c old mode 100755 new mode 100644 diff --git a/common/config/config_userapi.h b/common/config/config_userapi.h old mode 100755 new mode 100644 diff --git a/common/config/libconfig/config_libconfig.c b/common/config/libconfig/config_libconfig.c old mode 100755 new mode 100644 diff --git a/common/config/libconfig/config_libconfig.h b/common/config/libconfig/config_libconfig.h old mode 100755 new mode 100644 diff --git a/common/config/libconfig/config_libconfig_private.h b/common/config/libconfig/config_libconfig_private.h old mode 100755 new mode 100644 diff --git a/common/ran_context.h b/common/ran_context.h old mode 100755 new mode 100644 diff --git a/common/utils/LOG/README.txt b/common/utils/LOG/README.txt old mode 100755 new mode 100644 diff --git a/common/utils/LOG/log_extern.h b/common/utils/LOG/log_extern.h old mode 100755 new mode 100644 diff --git a/common/utils/LOG/log_if.h b/common/utils/LOG/log_if.h old mode 100755 new mode 100644 diff --git a/common/utils/LOG/vcd_signal_dumper.c b/common/utils/LOG/vcd_signal_dumper.c old mode 100755 new mode 100644 diff --git a/common/utils/LOG/vcd_signal_dumper.h b/common/utils/LOG/vcd_signal_dumper.h old mode 100755 new mode 100644 diff --git a/common/utils/T/.gitignore b/common/utils/T/.gitignore old mode 100755 new mode 100644 diff --git a/common/utils/T/Makefile b/common/utils/T/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/README b/common/utils/T/README old mode 100755 new mode 100644 diff --git a/common/utils/T/T.c b/common/utils/T/T.c old mode 100755 new mode 100644 diff --git a/common/utils/T/T.h b/common/utils/T/T.h old mode 100755 new mode 100644 diff --git a/common/utils/T/T_defs.h b/common/utils/T/T_defs.h old mode 100755 new mode 100644 diff --git a/common/utils/T/T_messages.txt b/common/utils/T/T_messages.txt old mode 100755 new mode 100644 diff --git a/common/utils/T/defs.h b/common/utils/T/defs.h old mode 100755 new mode 100644 diff --git a/common/utils/T/generate_Txx.c b/common/utils/T/generate_Txx.c old mode 100755 new mode 100644 diff --git a/common/utils/T/genids.c b/common/utils/T/genids.c old mode 100755 new mode 100644 diff --git a/common/utils/T/local_tracer.c b/common/utils/T/local_tracer.c old mode 100755 new mode 100644 diff --git a/common/utils/T/plot.c b/common/utils/T/plot.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracee/Makefile b/common/utils/T/tracee/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracee/README b/common/utils/T/tracee/README old mode 100755 new mode 100644 diff --git a/common/utils/T/tracee/tracee.c b/common/utils/T/tracee/tracee.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/Makefile b/common/utils/T/tracer/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/config.c b/common/utils/T/tracer/config.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/config.h b/common/utils/T/tracer/config.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/database.c b/common/utils/T/tracer/database.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/database.h b/common/utils/T/tracer/database.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/defs.h b/common/utils/T/tracer/defs.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/enb.c b/common/utils/T/tracer/enb.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/event.c b/common/utils/T/tracer/event.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/event.h b/common/utils/T/tracer/event.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/event_selector.c b/common/utils/T/tracer/event_selector.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/event_selector.h b/common/utils/T/tracer/event_selector.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/extract_config.c b/common/utils/T/tracer/extract_config.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/extract_input_subframe.c b/common/utils/T/tracer/extract_input_subframe.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/filter/Makefile b/common/utils/T/tracer/filter/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/filter/filter.c b/common/utils/T/tracer/filter/filter.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/filter/filter.h b/common/utils/T/tracer/filter/filter.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui.c b/common/utils/T/tracer/gui.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/Makefile b/common/utils/T/tracer/gui/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/container.c b/common/utils/T/tracer/gui/container.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/event.c b/common/utils/T/tracer/gui/event.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/gui.c b/common/utils/T/tracer/gui/gui.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/gui.h b/common/utils/T/tracer/gui/gui.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/gui_defs.h b/common/utils/T/tracer/gui/gui_defs.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/image.c b/common/utils/T/tracer/gui/image.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/init.c b/common/utils/T/tracer/gui/init.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/label.c b/common/utils/T/tracer/gui/label.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/loop.c b/common/utils/T/tracer/gui/loop.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/notify.c b/common/utils/T/tracer/gui/notify.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/positioner.c b/common/utils/T/tracer/gui/positioner.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/space.c b/common/utils/T/tracer/gui/space.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/test.c b/common/utils/T/tracer/gui/test.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/textarea.c b/common/utils/T/tracer/gui/textarea.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/textlist.c b/common/utils/T/tracer/gui/textlist.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/timeline.c b/common/utils/T/tracer/gui/timeline.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/toplevel_window.c b/common/utils/T/tracer/gui/toplevel_window.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/widget.c b/common/utils/T/tracer/gui/widget.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/x.c b/common/utils/T/tracer/gui/x.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/x.h b/common/utils/T/tracer/gui/x.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/x_defs.h b/common/utils/T/tracer/gui/x_defs.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/gui/xy_plot.c b/common/utils/T/tracer/gui/xy_plot.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/hacks/Makefile b/common/utils/T/tracer/hacks/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/hacks/dump_nack_signal.c b/common/utils/T/tracer/hacks/dump_nack_signal.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/hacks/time_meas.c b/common/utils/T/tracer/hacks/time_meas.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/hacks/timeplot.c b/common/utils/T/tracer/hacks/timeplot.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/handler.c b/common/utils/T/tracer/handler.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/handler.h b/common/utils/T/tracer/handler.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/Makefile b/common/utils/T/tracer/logger/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/framelog.c b/common/utils/T/tracer/logger/framelog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/iqdotlog.c b/common/utils/T/tracer/logger/iqdotlog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/iqlog.c b/common/utils/T/tracer/logger/iqlog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/logger.c b/common/utils/T/tracer/logger/logger.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/logger.h b/common/utils/T/tracer/logger/logger.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/logger_defs.h b/common/utils/T/tracer/logger/logger_defs.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/textlog.c b/common/utils/T/tracer/logger/textlog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/throughputlog.c b/common/utils/T/tracer/logger/throughputlog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/ticked_ttilog.c b/common/utils/T/tracer/logger/ticked_ttilog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/ticklog.c b/common/utils/T/tracer/logger/ticklog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/timelog.c b/common/utils/T/tracer/logger/timelog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/logger/ttilog.c b/common/utils/T/tracer/logger/ttilog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/macpdu2wireshark.c b/common/utils/T/tracer/macpdu2wireshark.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/openair_logo.h b/common/utils/T/tracer/openair_logo.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/openair_logo.png b/common/utils/T/tracer/openair_logo.png old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/packet-mac-lte.h b/common/utils/T/tracer/packet-mac-lte.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/plot.c b/common/utils/T/tracer/plot.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/record.c b/common/utils/T/tracer/record.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/replay.c b/common/utils/T/tracer/replay.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/textlog.c b/common/utils/T/tracer/textlog.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/ue.c b/common/utils/T/tracer/ue.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/utils.c b/common/utils/T/tracer/utils.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/utils.h b/common/utils/T/tracer/utils.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/vcd.c b/common/utils/T/tracer/vcd.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/Makefile b/common/utils/T/tracer/view/Makefile old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/scrolltti.c b/common/utils/T/tracer/view/scrolltti.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/stdout.c b/common/utils/T/tracer/view/stdout.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/textlist.c b/common/utils/T/tracer/view/textlist.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/ticktime.c b/common/utils/T/tracer/view/ticktime.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/time.c b/common/utils/T/tracer/view/time.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/tti.c b/common/utils/T/tracer/view/tti.c old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/view.h b/common/utils/T/tracer/view/view.h old mode 100755 new mode 100644 diff --git a/common/utils/T/tracer/view/xy.c b/common/utils/T/tracer/view/xy.c old mode 100755 new mode 100644 diff --git a/common/utils/asn1_conversions.h b/common/utils/asn1_conversions.h old mode 100755 new mode 100644 diff --git a/common/utils/assertions.h b/common/utils/assertions.h old mode 100755 new mode 100644 diff --git a/common/utils/backtrace.c b/common/utils/backtrace.c old mode 100755 new mode 100644 diff --git a/common/utils/backtrace.h b/common/utils/backtrace.h old mode 100755 new mode 100644 diff --git a/common/utils/collection/queue.h b/common/utils/collection/queue.h old mode 100755 new mode 100644 diff --git a/common/utils/collection/tree.h b/common/utils/collection/tree.h old mode 100755 new mode 100644 diff --git a/common/utils/hashtable/hashtable.c b/common/utils/hashtable/hashtable.c old mode 100755 new mode 100644 diff --git a/common/utils/hashtable/hashtable.h b/common/utils/hashtable/hashtable.h old mode 100755 new mode 100644 diff --git a/common/utils/hashtable/obj_hashtable.c b/common/utils/hashtable/obj_hashtable.c old mode 100755 new mode 100644 diff --git a/common/utils/hashtable/obj_hashtable.h b/common/utils/hashtable/obj_hashtable.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/AUTHORS b/common/utils/itti_analyzer/AUTHORS old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/ChangeLog b/common/utils/itti_analyzer/ChangeLog old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/INSTALL b/common/utils/itti_analyzer/INSTALL old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/Makefile.am b/common/utils/itti_analyzer/Makefile.am old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/NEWS b/common/utils/itti_analyzer/NEWS old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/README b/common/utils/itti_analyzer/README old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/common/itti_types.h b/common/utils/itti_analyzer/common/itti_types.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/common/logs.h b/common/utils/itti_analyzer/common/logs.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/common/queue.h b/common/utils/itti_analyzer/common/queue.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/common/rc.h b/common/utils/itti_analyzer/common/rc.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/configure.ac b/common/utils/itti_analyzer/configure.ac old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/filters.xml b/common/utils/itti_analyzer/filters.xml old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/filters_mme.xml b/common/utils/itti_analyzer/filters_mme.xml old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/filters_ue_enb.xml b/common/utils/itti_analyzer/filters_ue_enb.xml old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/itti_analyzer.c b/common/utils/itti_analyzer/itti_analyzer.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/Makefile.am b/common/utils/itti_analyzer/libbuffers/Makefile.am old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/buffers.c b/common/utils/itti_analyzer/libbuffers/buffers.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/buffers.h b/common/utils/itti_analyzer/libbuffers/buffers.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/file.c b/common/utils/itti_analyzer/libbuffers/file.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/file.h b/common/utils/itti_analyzer/libbuffers/file.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/socket.c b/common/utils/itti_analyzer/libbuffers/socket.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libbuffers/socket.h b/common/utils/itti_analyzer/libbuffers/socket.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/Makefile.am b/common/utils/itti_analyzer/libparser/Makefile.am old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/array_type.c b/common/utils/itti_analyzer/libparser/array_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/array_type.h b/common/utils/itti_analyzer/libparser/array_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/enum_type.c b/common/utils/itti_analyzer/libparser/enum_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/enum_type.h b/common/utils/itti_analyzer/libparser/enum_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.c b/common/utils/itti_analyzer/libparser/enum_value_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.h b/common/utils/itti_analyzer/libparser/enum_value_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/field_type.h b/common/utils/itti_analyzer/libparser/field_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/file_type.c b/common/utils/itti_analyzer/libparser/file_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/file_type.h b/common/utils/itti_analyzer/libparser/file_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.c b/common/utils/itti_analyzer/libparser/fundamental_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.h b/common/utils/itti_analyzer/libparser/fundamental_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/intertask_contexts.h b/common/utils/itti_analyzer/libparser/intertask_contexts.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/pointer_type.h b/common/utils/itti_analyzer/libparser/pointer_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/reference_type.c b/common/utils/itti_analyzer/libparser/reference_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/reference_type.h b/common/utils/itti_analyzer/libparser/reference_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/struct_type.h b/common/utils/itti_analyzer/libparser/struct_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/typedef_type.h b/common/utils/itti_analyzer/libparser/typedef_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/types.c b/common/utils/itti_analyzer/libparser/types.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/types.h b/common/utils/itti_analyzer/libparser/types.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/union_type.h b/common/utils/itti_analyzer/libparser/union_type.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/xml_parse.c b/common/utils/itti_analyzer/libparser/xml_parse.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libparser/xml_parse.h b/common/utils/itti_analyzer/libparser/xml_parse.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libresolver/Makefile.am b/common/utils/itti_analyzer/libresolver/Makefile.am old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libresolver/locate_root.c b/common/utils/itti_analyzer/libresolver/locate_root.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libresolver/locate_root.h b/common/utils/itti_analyzer/libresolver/locate_root.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libresolver/resolvers.c b/common/utils/itti_analyzer/libresolver/resolvers.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libresolver/resolvers.h b/common/utils/itti_analyzer/libresolver/resolvers.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/Makefile.am b/common/utils/itti_analyzer/libui/Makefile.am old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.h b/common/utils/itti_analyzer/libui/ui_callbacks.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_filters.c b/common/utils/itti_analyzer/libui/ui_filters.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_filters.h b/common/utils/itti_analyzer/libui/ui_filters.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_interface.c b/common/utils/itti_analyzer/libui/ui_interface.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_interface.h b/common/utils/itti_analyzer/libui/ui_interface.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.c b/common/utils/itti_analyzer/libui/ui_main_screen.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.h b/common/utils/itti_analyzer/libui/ui_main_screen.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.c b/common/utils/itti_analyzer/libui/ui_menu_bar.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.h b/common/utils/itti_analyzer/libui/ui_menu_bar.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_notebook.c b/common/utils/itti_analyzer/libui/ui_notebook.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_notebook.h b/common/utils/itti_analyzer/libui/ui_notebook.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.c b/common/utils/itti_analyzer/libui/ui_notif_dlg.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.h b/common/utils/itti_analyzer/libui/ui_notif_dlg.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_notifications.c b/common/utils/itti_analyzer/libui/ui_notifications.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_notifications.h b/common/utils/itti_analyzer/libui/ui_notifications.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.c b/common/utils/itti_analyzer/libui/ui_tree_view.c old mode 100755 new mode 100644 diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.h b/common/utils/itti_analyzer/libui/ui_tree_view.h old mode 100755 new mode 100644 diff --git a/common/utils/load_module_shlib.c b/common/utils/load_module_shlib.c old mode 100755 new mode 100644 diff --git a/common/utils/load_module_shlib.h b/common/utils/load_module_shlib.h old mode 100755 new mode 100644 diff --git a/common/utils/memory_pools.c b/common/utils/memory_pools.c old mode 100755 new mode 100644 diff --git a/common/utils/memory_pools.h b/common/utils/memory_pools.h old mode 100755 new mode 100644 diff --git a/common/utils/msc/msc.c b/common/utils/msc/msc.c old mode 100755 new mode 100644 diff --git a/common/utils/msc/msc.h b/common/utils/msc/msc.h old mode 100755 new mode 100644 diff --git a/common/utils/system.c b/common/utils/system.c old mode 100755 new mode 100644 diff --git a/common/utils/system.h b/common/utils/system.h old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv.c b/common/utils/telnetsrv/telnetsrv.c old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv.h b/common/utils/telnetsrv/telnetsrv.h old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv_loader.h b/common/utils/telnetsrv/telnetsrv_loader.h old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv_phycmd.c b/common/utils/telnetsrv/telnetsrv_phycmd.c old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv_phycmd.h b/common/utils/telnetsrv/telnetsrv_phycmd.h old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.c b/common/utils/telnetsrv/telnetsrv_proccmd.c old mode 100755 new mode 100644 diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.h b/common/utils/telnetsrv/telnetsrv_proccmd.h old mode 100755 new mode 100644 diff --git a/common/utils/time_utils.h b/common/utils/time_utils.h old mode 100755 new mode 100644 diff --git a/common/utils/utils.c b/common/utils/utils.c old mode 100755 new mode 100644 diff --git a/common/utils/utils.h b/common/utils/utils.h old mode 100755 new mode 100644 diff --git a/nfapi/oai_integration/nfapi_vnf.h b/nfapi/oai_integration/nfapi_vnf.h old mode 100755 new mode 100644 diff --git a/oaienv b/oaienv old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte.c b/openair1/PHY/CODING/3gpplte.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte_sse.c b/openair1/PHY/CODING/3gpplte_sse.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder.c b/openair1/PHY/CODING/3gpplte_turbo_decoder.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/Makefile b/openair1/PHY/CODING/Makefile old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/Makefile.arm b/openair1/PHY/CODING/Makefile.arm old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/README.txt b/openair1/PHY/CODING/README.txt old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/TESTBENCH/Makefile b/openair1/PHY/CODING/TESTBENCH/Makefile old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/TESTBENCH/README.txt b/openair1/PHY/CODING/TESTBENCH/README.txt old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/TESTBENCH/ltetest.c b/openair1/PHY/CODING/TESTBENCH/ltetest.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/TESTBENCH/pdcch_test.c b/openair1/PHY/CODING/TESTBENCH/pdcch_test.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/TESTBENCH/viterbi_test.c b/openair1/PHY/CODING/TESTBENCH/viterbi_test.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/ccoding_byte.c b/openair1/PHY/CODING/ccoding_byte.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/ccoding_byte_lte.c b/openair1/PHY/CODING/ccoding_byte_lte.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/coding_defs.h b/openair1/PHY/CODING/coding_defs.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/coding_extern.h b/openair1/PHY/CODING/coding_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/crc_byte.c b/openair1/PHY/CODING/crc_byte.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/lte_interleaver_inline.h b/openair1/PHY/CODING/lte_interleaver_inline.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/lte_rate_matching.c b/openair1/PHY/CODING/lte_rate_matching.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/lte_segmentation.c b/openair1/PHY/CODING/lte_segmentation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/lte_tf.m b/openair1/PHY/CODING/lte_tf.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/scrambler.h b/openair1/PHY/CODING/scrambler.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/viterbi.c b/openair1/PHY/CODING/viterbi.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/CODING/viterbi_lte.c b/openair1/PHY/CODING/viterbi_lte.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/README.txt b/openair1/PHY/INIT/README.txt old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/init_extern.h b/openair1/PHY/INIT/init_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/init_top.c b/openair1/PHY/INIT/init_top.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/init_vars.h b/openair1/PHY/INIT/init_vars.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/lte_param_init.c b/openair1/PHY/INIT/lte_param_init.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/lte_parms.c b/openair1/PHY/INIT/lte_parms.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/INIT/phy_init.h b/openair1/PHY/INIT/phy_init.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/README.txt b/openair1/PHY/LTE_ESTIMATION/README.txt old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/adjust_gain.c b/openair1/PHY/LTE_ESTIMATION/adjust_gain.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m b/openair1/PHY/LTE_ESTIMATION/bf_freq_domain_filters.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/filt16_32.h b/openair1/PHY/LTE_ESTIMATION/filt16_32.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/filt96_32.h b/openair1/PHY/LTE_ESTIMATION/filt96_32.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m b/openair1/PHY/LTE_ESTIMATION/freq_domain_filters.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/freq_equalization.c b/openair1/PHY/LTE_ESTIMATION/freq_equalization.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c b/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c b/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_estimation.h b/openair1/PHY/LTE_ESTIMATION/lte_estimation.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_estimation_extern.h b/openair1/PHY/LTE_ESTIMATION/lte_estimation_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_estimation_vars.h b/openair1/PHY/LTE_ESTIMATION/lte_estimation_vars.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_ESTIMATION/pss6144.h b/openair1/PHY/LTE_ESTIMATION/pss6144.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/README.txt b/openair1/PHY/LTE_REFSIG/README.txt old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/gen_mod_table.m b/openair1/PHY/LTE_REFSIG/gen_mod_table.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c b/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c b/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c b/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_gold.c b/openair1/PHY/LTE_REFSIG/lte_gold.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c b/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_refsig.h b/openair1/PHY/LTE_REFSIG/lte_refsig.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_ul.m b/openair1/PHY/LTE_REFSIG/lte_ul.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/lte_ul_ref.c b/openair1/PHY/LTE_REFSIG/lte_ul_ref.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/mod_table.h b/openair1/PHY/LTE_REFSIG/mod_table.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/primary_synch.h b/openair1/PHY/LTE_REFSIG/primary_synch.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_REFSIG/primary_synch.m b/openair1/PHY/LTE_REFSIG/primary_synch.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/README.txt b/openair1/PHY/LTE_TRANSPORT/README.txt old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dci.h b/openair1/PHY/LTE_TRANSPORT/dci.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/group_hopping.c b/openair1/PHY/LTE_TRANSPORT/group_hopping.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.h b/openair1/PHY/LTE_TRANSPORT/if4_tools.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/if5_tools.c b/openair1/PHY/LTE_TRANSPORT/if5_tools.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/if5_tools.h b/openair1/PHY/LTE_TRANSPORT/if5_tools.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/lte_mcs.c b/openair1/PHY/LTE_TRANSPORT/lte_mcs.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h b/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/mdci.h b/openair1/PHY/LTE_TRANSPORT/mdci.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pbch.c b/openair1/PHY/LTE_TRANSPORT/pbch.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pcfich.c b/openair1/PHY/LTE_TRANSPORT/pcfich.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pilots.c b/openair1/PHY/LTE_TRANSPORT/pilots.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c b/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pmch.c b/openair1/PHY/LTE_TRANSPORT/pmch.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/power_control.c b/openair1/PHY/LTE_TRANSPORT/power_control.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pss.c b/openair1/PHY/LTE_TRANSPORT/pss.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/pucch_extern.h b/openair1/PHY/LTE_TRANSPORT/pucch_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/rar_tools.c b/openair1/PHY/LTE_TRANSPORT/rar_tools.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/sss.c b/openair1/PHY/LTE_TRANSPORT/sss.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/transport_eNB.h b/openair1/PHY/LTE_TRANSPORT/transport_eNB.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/transport_extern.h b/openair1/PHY/LTE_TRANSPORT/transport_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/transport_vars.h b/openair1/PHY/LTE_TRANSPORT/transport_vars.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/uci_common.h b/openair1/PHY/LTE_TRANSPORT/uci_common.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/uci_tools.c b/openair1/PHY/LTE_TRANSPORT/uci_tools.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_TRANSPORT/vrb_maps.m b/openair1/PHY/LTE_TRANSPORT/vrb_maps.m old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c b/openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_decoding.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_decoding.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_llr_computation_avx2.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/drs_modulation.c b/openair1/PHY/LTE_UE_TRANSPORT/drs_modulation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/get_pmi.c b/openair1/PHY/LTE_UE_TRANSPORT/get_pmi.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c b/openair1/PHY/LTE_UE_TRANSPORT/initial_sync.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.h b/openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/pch_ue.c b/openair1/PHY/LTE_UE_TRANSPORT/pch_ue.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/slss.c b/openair1/PHY/LTE_UE_TRANSPORT/slss.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/srs_modulation.c b/openair1/PHY/LTE_UE_TRANSPORT/srs_modulation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h b/openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/ulsch_coding.c b/openair1/PHY/LTE_UE_TRANSPORT/ulsch_coding.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c b/openair1/PHY/LTE_UE_TRANSPORT/ulsch_modulation.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/beamforming.c b/openair1/PHY/MODULATION/beamforming.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/compute_bf_weights.c b/openair1/PHY/MODULATION/compute_bf_weights.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/ofdm_mod.c b/openair1/PHY/MODULATION/ofdm_mod.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/prach625Hz.h b/openair1/PHY/MODULATION/prach625Hz.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/slot_fep.c b/openair1/PHY/MODULATION/slot_fep.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/slot_fep_mbsfn.c b/openair1/PHY/MODULATION/slot_fep_mbsfn.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/slot_fep_ul.c b/openair1/PHY/MODULATION/slot_fep_ul.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/MODULATION/ul_7_5_kHz.c b/openair1/PHY/MODULATION/ul_7_5_kHz.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/Makefile.inc b/openair1/PHY/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/8bit_rxdemux.c b/openair1/PHY/TOOLS/8bit_rxdemux.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/8bit_txmux.c b/openair1/PHY/TOOLS/8bit_txmux.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/Makefile b/openair1/PHY/TOOLS/Makefile old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/alaw_lut.h b/openair1/PHY/TOOLS/alaw_lut.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/angle.c b/openair1/PHY/TOOLS/angle.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/cadd_sv.c b/openair1/PHY/TOOLS/cadd_sv.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/cadd_vv.c b/openair1/PHY/TOOLS/cadd_vv.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/cdot_prod.c b/openair1/PHY/TOOLS/cdot_prod.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/cmult_sv.c b/openair1/PHY/TOOLS/cmult_sv.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/cmult_vv.c b/openair1/PHY/TOOLS/cmult_vv.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/costable.h b/openair1/PHY/TOOLS/costable.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/dB_routines.c b/openair1/PHY/TOOLS/dB_routines.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/dB_routines.h b/openair1/PHY/TOOLS/dB_routines.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/invSqrt.c b/openair1/PHY/TOOLS/invSqrt.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/log2_approx.c b/openair1/PHY/TOOLS/log2_approx.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/lte_dfts.c b/openair1/PHY/TOOLS/lte_dfts.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/lte_phy_scope.c b/openair1/PHY/TOOLS/lte_phy_scope.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/lte_phy_scope.h b/openair1/PHY/TOOLS/lte_phy_scope.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/lte_phy_scope_tm4.c b/openair1/PHY/TOOLS/lte_phy_scope_tm4.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/lut.c b/openair1/PHY/TOOLS/lut.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/memory_routines.c b/openair1/PHY/TOOLS/memory_routines.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/read_F.c b/openair1/PHY/TOOLS/read_F.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/signal_energy.c b/openair1/PHY/TOOLS/signal_energy.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/smbv.c b/openair1/PHY/TOOLS/smbv.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/smbv.h b/openair1/PHY/TOOLS/smbv.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/sqrt.c b/openair1/PHY/TOOLS/sqrt.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/time_meas.c b/openair1/PHY/TOOLS/time_meas.c old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/time_meas.h b/openair1/PHY/TOOLS/time_meas.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/tools_defs.h b/openair1/PHY/TOOLS/tools_defs.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/tools_extern.h b/openair1/PHY/TOOLS/tools_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/TOOLS/tools_vars.h b/openair1/PHY/TOOLS/tools_vars.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/defs_eNB.h b/openair1/PHY/defs_eNB.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/impl_defs_lte.h b/openair1/PHY/impl_defs_lte.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/impl_defs_top.h b/openair1/PHY/impl_defs_top.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/phy_extern.h b/openair1/PHY/phy_extern.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/phy_vars.h b/openair1/PHY/phy_vars.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/sse_intrin.h b/openair1/PHY/sse_intrin.h old mode 100755 new mode 100644 diff --git a/openair1/PHY/types.h b/openair1/PHY/types.h old mode 100755 new mode 100644 diff --git a/openair1/README.TXT b/openair1/README.TXT old mode 100755 new mode 100644 diff --git a/openair1/SCHED/Makefile.inc b/openair1/SCHED/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED/fapi_l1.h b/openair1/SCHED/fapi_l1.h old mode 100755 new mode 100644 diff --git a/openair1/SCHED/phy_mac_stub.c b/openair1/SCHED/phy_mac_stub.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED/phy_procedures_lte_common.c b/openair1/SCHED/phy_procedures_lte_common.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED/ru_procedures.c b/openair1/SCHED/ru_procedures.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED/sched_common.h b/openair1/SCHED/sched_common.h old mode 100755 new mode 100644 diff --git a/openair1/SCHED_UE/phy_procedures_lte_ue.c b/openair1/SCHED_UE/phy_procedures_lte_ue.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED_UE/pucch_pc.c b/openair1/SCHED_UE/pucch_pc.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED_UE/srs_pc.c b/openair1/SCHED_UE/srs_pc.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc b/openair1/SIMULATION/ETH_TRANSPORT/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/README.txt b/openair1/SIMULATION/ETH_TRANSPORT/README.txt old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c b/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/defs.h b/openair1/SIMULATION/ETH_TRANSPORT/defs.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c b/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/extern.h b/openair1/SIMULATION/ETH_TRANSPORT/extern.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c b/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/proto.h b/openair1/SIMULATION/ETH_TRANSPORT/proto.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/socket.c b/openair1/SIMULATION/ETH_TRANSPORT/socket.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/socket.h b/openair1/SIMULATION/ETH_TRANSPORT/socket.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/ETH_TRANSPORT/vars.h b/openair1/SIMULATION/ETH_TRANSPORT/vars.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/IEEEtran.cls old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_adv.tex old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl.tex old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/bare_jrnl_compsoc.tex old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/create_plots.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/delta_BLER_1.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_beta_training.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/polyfit_delta_BLER.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/sinr_Eff_Calc.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_abstraction.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m b/openair1/SIMULATION/LTE_PHY/Abstraction/Training/training_top_script.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m b/openair1/SIMULATION/LTE_PHY/Abstraction/beta_training_EESM.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m b/openair1/SIMULATION/LTE_PHY/Abstraction/data_collection_mode5.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m b/openair1/SIMULATION/LTE_PHY/Abstraction/data_extraction.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m b/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m b/openair1/SIMULATION/LTE_PHY/Abstraction/delta_BLER_1.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m b/openair1/SIMULATION/LTE_PHY/Abstraction/demap_q.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m b/openair1/SIMULATION/LTE_PHY/Abstraction/opposite_q.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs0.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs1.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs10.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs11.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs12.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs13.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs14.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs15.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs16.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs17.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs18.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs19.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs2.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs20.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs21.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs22.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs23.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs24.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs25.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs26.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs27.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs3.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs4.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs5.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs6.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs7.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs8.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results/bler_tx1_chan18_nrx1_mcs9.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs0.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs1.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs10.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs11.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs12.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs13.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs14.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs15.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs16.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs17.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs18.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs19.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs2.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs20.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs21.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs22.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs23.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs24.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs25.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs26.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs27.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs3.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs4.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs5.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs6.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs7.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs8.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/Perf_Curves_Abs/awgn_bler_tx1_mcs9.csv old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_0.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_100.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_119.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_150.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_200.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_250.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_300.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_350.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_400.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_450.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_500.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_550.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_66.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/bler_80.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m b/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/eval_results.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/README.txt b/openair1/SIMULATION/LTE_PHY/README.txt old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/embms_20_25.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/oai_embms_r39-1.png old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdcch_20MHz_awgn.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt b/openair1/SIMULATION/LTE_PHY/REFERENCE_DATA/pdsch.txt old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex b/openair1/SIMULATION/LTE_PHY/blerCurvesTemplate.tex old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/blerSimus.zip b/openair1/SIMULATION/LTE_PHY/blerSimus.zip old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/fancyheadings.sty b/openair1/SIMULATION/LTE_PHY/fancyheadings.sty old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/framegen.c b/openair1/SIMULATION/LTE_PHY/framegen.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.c b/openair1/SIMULATION/LTE_PHY/gpib_send.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.h b/openair1/SIMULATION/LTE_PHY/gpib_send.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/mat2wv.m b/openair1/SIMULATION/LTE_PHY/mat2wv.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pbch_awgn.txt b/openair1/SIMULATION/LTE_PHY/pbch_awgn.txt old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt b/openair1/SIMULATION/LTE_PHY/pbch_awgn_interp.txt old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pbchsim.c b/openair1/SIMULATION/LTE_PHY/pbchsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m b/openair1/SIMULATION/LTE_PHY/pdcch_eval_results.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pdcchsim.c b/openair1/SIMULATION/LTE_PHY/pdcchsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/p b/openair1/SIMULATION/LTE_PHY/plotTools/p old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m b/openair1/SIMULATION/LTE_PHY/plotTools/plotTool.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_PePu.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_channel_SePu.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_channels.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_constellations.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ce_prec_ul.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_dl_ch_est.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_floating_point_signals.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_ce_.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_prec_dl.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_srs_rxF.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_tx_bf.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m b/openair1/SIMULATION/LTE_PHY/plotTools/plot_txdata.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/prachsim.c b/openair1/SIMULATION/LTE_PHY/prachsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h b/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c b/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/scansim.c b/openair1/SIMULATION/LTE_PHY/scansim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/signalanalyzer.c b/openair1/SIMULATION/LTE_PHY/signalanalyzer.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/signalanalyzer.h b/openair1/SIMULATION/LTE_PHY/signalanalyzer.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/syncsim.c b/openair1/SIMULATION/LTE_PHY/syncsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/test.c b/openair1/SIMULATION/LTE_PHY/test.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/ulsim2.c b/openair1/SIMULATION/LTE_PHY/ulsim2.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/LTE_PHY/unitary_defs.h b/openair1/SIMULATION/LTE_PHY/unitary_defs.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/Makefile.inc b/openair1/SIMULATION/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/RF/Makefile b/openair1/SIMULATION/RF/Makefile old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/RF/README.txt b/openair1/SIMULATION/RF/README.txt old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/RF/adc.c b/openair1/SIMULATION/RF/adc.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/RF/dac.c b/openair1/SIMULATION/RF/dac.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/RF/rf.c b/openair1/SIMULATION/RF/rf.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/RF/rf.h b/openair1/SIMULATION/RF/rf.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/abstraction.c b/openair1/SIMULATION/TOOLS/abstraction.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/ch_desc_proto.c b/openair1/SIMULATION/TOOLS/ch_desc_proto.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/corr_mat.m b/openair1/SIMULATION/TOOLS/corr_mat.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/gauss.c b/openair1/SIMULATION/TOOLS/gauss.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/llr_quantization.c b/openair1/SIMULATION/TOOLS/llr_quantization.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/multipath_channel.c b/openair1/SIMULATION/TOOLS/multipath_channel.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/multipath_tv_channel.c b/openair1/SIMULATION/TOOLS/multipath_tv_channel.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/random_channel.c b/openair1/SIMULATION/TOOLS/random_channel.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/rangen_double.c b/openair1/SIMULATION/TOOLS/rangen_double.c old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/scm.m b/openair1/SIMULATION/TOOLS/scm.m old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/scm_corrmat.h b/openair1/SIMULATION/TOOLS/scm_corrmat.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/sim.h b/openair1/SIMULATION/TOOLS/sim.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/taus.c b/openair1/SIMULATION/TOOLS/taus.c old mode 100755 new mode 100644 diff --git a/openair2/COMMON/as_message.h b/openair2/COMMON/as_message.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/commonDef.h b/openair2/COMMON/commonDef.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/gtpv1_u_messages_def.h b/openair2/COMMON/gtpv1_u_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/gtpv1_u_messages_types.h b/openair2/COMMON/gtpv1_u_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/intertask_interface_conf.h b/openair2/COMMON/intertask_interface_conf.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/mac_messages_def.h b/openair2/COMMON/mac_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/mac_messages_types.h b/openair2/COMMON/mac_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/mac_primitives.h b/openair2/COMMON/mac_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/mac_rlc_primitives.h b/openair2/COMMON/mac_rlc_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/mac_rrc_primitives.h b/openair2/COMMON/mac_rrc_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/messages_def.h b/openair2/COMMON/messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/messages_types.h b/openair2/COMMON/messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/nas_messages_def.h b/openair2/COMMON/nas_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/nas_messages_types.h b/openair2/COMMON/nas_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/networkDef.h b/openair2/COMMON/networkDef.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/openair_defs.h b/openair2/COMMON/openair_defs.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/pdcp_messages_def.h b/openair2/COMMON/pdcp_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/pdcp_messages_types.h b/openair2/COMMON/pdcp_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/phy_messages_def.h b/openair2/COMMON/phy_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/phy_messages_types.h b/openair2/COMMON/phy_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/platform_constants.h b/openair2/COMMON/platform_constants.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/platform_types.h b/openair2/COMMON/platform_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/ral_messages_def.h b/openair2/COMMON/ral_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/ral_messages_types.h b/openair2/COMMON/ral_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rlc_messages_def.h b/openair2/COMMON/rlc_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rlc_messages_types.h b/openair2/COMMON/rlc_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rrc_messages_def.h b/openair2/COMMON/rrc_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rrm_config_structs.h b/openair2/COMMON/rrm_config_structs.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rrm_constants.h b/openair2/COMMON/rrm_constants.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/rtos_header.h b/openair2/COMMON/rtos_header.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/s1ap_messages_def.h b/openair2/COMMON/s1ap_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/s1ap_messages_types.h b/openair2/COMMON/s1ap_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/sctp_messages_def.h b/openair2/COMMON/sctp_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/sctp_messages_types.h b/openair2/COMMON/sctp_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/tasks_def.h b/openair2/COMMON/tasks_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/udp_messages_def.h b/openair2/COMMON/udp_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/udp_messages_types.h b/openair2/COMMON/udp_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/x2ap_messages_def.h b/openair2/COMMON/x2ap_messages_def.h old mode 100755 new mode 100644 diff --git a/openair2/COMMON/x2ap_messages_types.h b/openair2/COMMON/x2ap_messages_types.h old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/Doxyfile b/openair2/DOCS/DOXYGEN/Doxyfile old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/DLC_arch.png b/openair2/DOCS/DOXYGEN/images/DLC_arch.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/Diapositive6.JPG b/openair2/DOCS/DOXYGEN/images/Diapositive6.JPG old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/Framing.png b/openair2/DOCS/DOXYGEN/images/Framing.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/Framing.vsd b/openair2/DOCS/DOXYGEN/images/Framing.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC Services.vsd b/openair2/DOCS/DOXYGEN/images/MAC Services.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Measurements.png b/openair2/DOCS/DOXYGEN/images/MAC_Measurements.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd b/openair2/DOCS/DOXYGEN/images/MAC_Measurements.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Services.eps b/openair2/DOCS/DOXYGEN/images/MAC_Services.eps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Services.vsd b/openair2/DOCS/DOXYGEN/images/MAC_Services.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Services2.eps b/openair2/DOCS/DOXYGEN/images/MAC_Services2.eps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Services2.png b/openair2/DOCS/DOXYGEN/images/MAC_Services2.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd b/openair2/DOCS/DOXYGEN/images/MAC_Services2.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_arch.eps b/openair2/DOCS/DOXYGEN/images/MAC_arch.eps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG b/openair2/DOCS/DOXYGEN/images/MAC_architecture.JPG old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png b/openair2/DOCS/DOXYGEN/images/OFDM Transmitter.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd b/openair2/DOCS/DOXYGEN/images/OFDM Transmitter.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/PHY_arch.eps b/openair2/DOCS/DOXYGEN/images/PHY_arch.eps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/PHY_arch.png b/openair2/DOCS/DOXYGEN/images/PHY_arch.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/PHY_arch.vsd b/openair2/DOCS/DOXYGEN/images/PHY_arch.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/QAM modulation.png b/openair2/DOCS/DOXYGEN/images/QAM modulation.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/QAM modulation.vsd b/openair2/DOCS/DOXYGEN/images/QAM modulation.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/QAMmodulation.png b/openair2/DOCS/DOXYGEN/images/QAMmodulation.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/Transmission.pdf b/openair2/DOCS/DOXYGEN/images/Transmission.pdf old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/Transmission.png b/openair2/DOCS/DOXYGEN/images/Transmission.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/Transmission.ps b/openair2/DOCS/DOXYGEN/images/Transmission.ps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/cellular_topology.doc b/openair2/DOCS/DOXYGEN/images/cellular_topology.doc old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/cellular_topology.pdf b/openair2/DOCS/DOXYGEN/images/cellular_topology.pdf old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/cellular_topology_small.png b/openair2/DOCS/DOXYGEN/images/cellular_topology_small.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/channel server.png b/openair2/DOCS/DOXYGEN/images/channel server.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/channel server.vsd b/openair2/DOCS/DOXYGEN/images/channel server.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/convolutional.png b/openair2/DOCS/DOXYGEN/images/convolutional.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/convolutional.vsd b/openair2/DOCS/DOXYGEN/images/convolutional.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/irs_dcf.jpg b/openair2/DOCS/DOXYGEN/images/irs_dcf.jpg old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/irs_pcf.jpg b/openair2/DOCS/DOXYGEN/images/irs_pcf.jpg old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/layer2_stack.jpg b/openair2/DOCS/DOXYGEN/images/layer2_stack.jpg old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/layer2_stack.pdf b/openair2/DOCS/DOXYGEN/images/layer2_stack.pdf old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/layer2_stack.png b/openair2/DOCS/DOXYGEN/images/layer2_stack.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mac_channels.png b/openair2/DOCS/DOXYGEN/images/mac_channels.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf b/openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.pdf old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png b/openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd b/openair2/DOCS/DOXYGEN/images/mac_w3g4f_mac_channels.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mac_wbs.jpg b/openair2/DOCS/DOXYGEN/images/mac_wbs.jpg old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/macphynet.eps b/openair2/DOCS/DOXYGEN/images/macphynet.eps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/macphynet.png b/openair2/DOCS/DOXYGEN/images/macphynet.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mesh_frame.pdf b/openair2/DOCS/DOXYGEN/images/mesh_frame.pdf old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mesh_topology.pdf b/openair2/DOCS/DOXYGEN/images/mesh_topology.pdf old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/mesh_topology_small.png b/openair2/DOCS/DOXYGEN/images/mesh_topology_small.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/scrambler.png b/openair2/DOCS/DOXYGEN/images/scrambler.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/scrambler.vsd b/openair2/DOCS/DOXYGEN/images/scrambler.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/w3g4f_framing.png b/openair2/DOCS/DOXYGEN/images/w3g4f_framing.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd b/openair2/DOCS/DOXYGEN/images/w3g4f_framing.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd b/openair2/DOCS/DOXYGEN/images/widens_mac_channels.vsd old mode 100755 new mode 100644 diff --git a/openair2/DOCS/Documentation/flow.txt b/openair2/DOCS/Documentation/flow.txt old mode 100755 new mode 100644 diff --git a/openair2/DOCS/TEMPLATES/CODE/Doxyfile b/openair2/DOCS/TEMPLATES/CODE/Doxyfile old mode 100755 new mode 100644 diff --git a/openair2/DOCS/TEMPLATES/CODE/example_doxy.h b/openair2/DOCS/TEMPLATES/CODE/example_doxy.h old mode 100755 new mode 100644 diff --git a/openair2/DOCS/TEMPLATES/CODE/images/arch.eps b/openair2/DOCS/TEMPLATES/CODE/images/arch.eps old mode 100755 new mode 100644 diff --git a/openair2/DOCS/TEMPLATES/CODE/images/arch.png b/openair2/DOCS/TEMPLATES/CODE/images/arch.png old mode 100755 new mode 100644 diff --git a/openair2/DOCS/TEMPLATES/README/Readme.doxy b/openair2/DOCS/TEMPLATES/README/Readme.doxy old mode 100755 new mode 100644 diff --git a/openair2/DOCS/TEMPLATES/README/readme.txt b/openair2/DOCS/TEMPLATES/README/readme.txt old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/PDCP/flexran_agent_pdcp_defs.h b/openair2/ENB_APP/CONTROL_MODULES/PDCP/flexran_agent_pdcp_defs.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/config_common.proto b/openair2/ENB_APP/MESSAGES/V2/config_common.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/config_messages.proto b/openair2/ENB_APP/MESSAGES/V2/config_messages.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/control_delegation.proto b/openair2/ENB_APP/MESSAGES/V2/control_delegation.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto b/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/flexran.proto b/openair2/ENB_APP/MESSAGES/V2/flexran.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/header.proto b/openair2/ENB_APP/MESSAGES/V2/header.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto b/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/stats_common.proto b/openair2/ENB_APP/MESSAGES/V2/stats_common.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/stats_messages.proto b/openair2/ENB_APP/MESSAGES/V2/stats_messages.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/MESSAGES/V2/time_common.proto b/openair2/ENB_APP/MESSAGES/V2/time_common.proto old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/Makefile.inc b/openair2/ENB_APP/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/NB_IoT_config.h b/openair2/ENB_APP/NB_IoT_config.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/NB_IoT_interface.h b/openair2/ENB_APP/NB_IoT_interface.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/RRC_config_tools.h b/openair2/ENB_APP/RRC_config_tools.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/enb_app.c b/openair2/ENB_APP/enb_app.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/enb_app.h b/openair2/ENB_APP/enb_app.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/enb_config.h b/openair2/ENB_APP/enb_config.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent.c b/openair2/ENB_APP/flexran_agent.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent.h b/openair2/ENB_APP/flexran_agent.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_async.c b/openair2/ENB_APP/flexran_agent_async.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_async.h b/openair2/ENB_APP/flexran_agent_async.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_common.c b/openair2/ENB_APP/flexran_agent_common.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_common.h b/openair2/ENB_APP/flexran_agent_common.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_common_internal.c b/openair2/ENB_APP/flexran_agent_common_internal.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_common_internal.h b/openair2/ENB_APP/flexran_agent_common_internal.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_defs.h b/openair2/ENB_APP/flexran_agent_defs.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_extern.h b/openair2/ENB_APP/flexran_agent_extern.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_handler.c b/openair2/ENB_APP/flexran_agent_handler.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_net_comm.c b/openair2/ENB_APP/flexran_agent_net_comm.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_net_comm.h b/openair2/ENB_APP/flexran_agent_net_comm.h old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_task_manager.c b/openair2/ENB_APP/flexran_agent_task_manager.c old mode 100755 new mode 100644 diff --git a/openair2/ENB_APP/flexran_agent_task_manager.h b/openair2/ENB_APP/flexran_agent_task_manager.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_mch.c b/openair2/LAYER2/MAC/eNB_scheduler_mch.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/l1_helpers.c b/openair2/LAYER2/MAC/l1_helpers.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/lte_transport_init.c b/openair2/LAYER2/MAC/lte_transport_init.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/mac_extern.h b/openair2/LAYER2/MAC/mac_extern.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/mac_proto.h b/openair2/LAYER2/MAC/mac_proto.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/main.c b/openair2/LAYER2/MAC/main.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/Makefile.inc b/openair2/LAYER2/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/Makefile b/openair2/LAYER2/RLC/UM_v9.3.0/Makefile old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/README b/openair2/LAYER2/RLC/UM_v9.3.0/README old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/mac_primitives.h b/openair2/LAYER2/RLC/mac_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc.c b/openair2/LAYER2/RLC/rlc.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc.h b/openair2/LAYER2/RLC/rlc.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc_def.h b/openair2/LAYER2/RLC/rlc_def.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc_def_lte.h b/openair2/LAYER2/RLC/rlc_def_lte.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc_mac.c b/openair2/LAYER2/RLC/rlc_mac.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc_mpls.c b/openair2/LAYER2/RLC/rlc_mpls.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc_primitives.h b/openair2/LAYER2/RLC/rlc_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/RLC/rlc_rrc.c b/openair2/LAYER2/RLC/rlc_rrc.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/openair2_proc.c b/openair2/LAYER2/openair2_proc.c old mode 100755 new mode 100644 diff --git a/openair2/LAYER2/register.h b/openair2/LAYER2/register.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/RB_TOOL/Makefile b/openair2/NETWORK_DRIVER/LITE/RB_TOOL/Makefile old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/classifier.c b/openair2/NETWORK_DRIVER/LITE/classifier.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/common.c b/openair2/NETWORK_DRIVER/LITE/common.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/constant.h b/openair2/NETWORK_DRIVER/LITE/constant.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/device.c b/openair2/NETWORK_DRIVER/LITE/device.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/ioctl.c b/openair2/NETWORK_DRIVER/LITE/ioctl.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/ioctl.h b/openair2/NETWORK_DRIVER/LITE/ioctl.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/local.h b/openair2/NETWORK_DRIVER/LITE/local.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/netlink.c b/openair2/NETWORK_DRIVER/LITE/netlink.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/proto_extern.h b/openair2/NETWORK_DRIVER/LITE/proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/sap.h b/openair2/NETWORK_DRIVER/LITE/sap.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/LITE/tool.c b/openair2/NETWORK_DRIVER/LITE/tool.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/Makefile old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c b/openair2/NETWORK_DRIVER/MESH/TESTBENCH/testbench.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/classifier.c b/openair2/NETWORK_DRIVER/MESH/classifier.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/common.c b/openair2/NETWORK_DRIVER/MESH/common.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/constant.h b/openair2/NETWORK_DRIVER/MESH/constant.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/device.c b/openair2/NETWORK_DRIVER/MESH/device.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/ioctl.c b/openair2/NETWORK_DRIVER/MESH/ioctl.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/ioctl.h b/openair2/NETWORK_DRIVER/MESH/ioctl.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/local.h b/openair2/NETWORK_DRIVER/MESH/local.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/mesh.c b/openair2/NETWORK_DRIVER/MESH/mesh.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/netlink.c b/openair2/NETWORK_DRIVER/MESH/netlink.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/proto_extern.h b/openair2/NETWORK_DRIVER/MESH/proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h b/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/sap.h b/openair2/NETWORK_DRIVER/MESH/sap.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/MESH/tool.c b/openair2/NETWORK_DRIVER/MESH/tool.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/README b/openair2/NETWORK_DRIVER/UE_IP/README old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/common.c b/openair2/NETWORK_DRIVER/UE_IP/common.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/constant.h b/openair2/NETWORK_DRIVER/UE_IP/constant.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/device.c b/openair2/NETWORK_DRIVER/UE_IP/device.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/local.h b/openair2/NETWORK_DRIVER/UE_IP/local.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/netlink.c b/openair2/NETWORK_DRIVER/UE_IP/netlink.c old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h b/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/NETWORK_DRIVER/UE_IP/sap.h b/openair2/NETWORK_DRIVER/UE_IP/sap.h old mode 100755 new mode 100644 diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c old mode 100755 new mode 100644 diff --git a/openair2/PHY_INTERFACE/IF_Module.h b/openair2/PHY_INTERFACE/IF_Module.h old mode 100755 new mode 100644 diff --git a/openair2/PHY_INTERFACE/mac_phy_primitives.c b/openair2/PHY_INTERFACE/mac_phy_primitives.c old mode 100755 new mode 100644 diff --git a/openair2/PHY_INTERFACE/mac_phy_primitives.h b/openair2/PHY_INTERFACE/mac_phy_primitives.h old mode 100755 new mode 100644 diff --git a/openair2/PHY_INTERFACE/phy_interface_extern.h b/openair2/PHY_INTERFACE/phy_interface_extern.h old mode 100755 new mode 100644 diff --git a/openair2/PHY_INTERFACE/phy_interface_vars.h b/openair2/PHY_INTERFACE/phy_interface_vars.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/L2_interface_ue.c b/openair2/RRC/LTE/L2_interface_ue.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/Makefile.inc b/openair2/RRC/LTE/MESSAGES/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/README.txt b/openair2/RRC/LTE/MESSAGES/README.txt old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.h b/openair2/RRC/LTE/MESSAGES/asn1_msg.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1_patch b/openair2/RRC/LTE/MESSAGES/asn1_patch old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-860.txt b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-860.txt old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-a20.txt b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-a20.txt old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-ah0.txt old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-c60.txt b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/36331-c60.txt old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-86.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-a20.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-ah0.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-InterNodeDefinitions-c60.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn.orig old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-ah0.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-c60.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-86.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-a20.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-ah0.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-UE-Variables-c60.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spec.pl old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-10.21.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-10.21.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-11.18.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-11.18.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-12.16.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-12.16.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-13.9.1.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-13.9.1.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.4.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.4.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.6.2.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.6.2.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.1.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.1.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.1.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.1.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-8.21.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-8.21.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-9.18.0.asn1 b/openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-9.18.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/plmn_data.h b/openair2/RRC/LTE/plmn_data.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_2_rrm_msg.c b/openair2/RRC/LTE/rrc_2_rrm_msg.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_UE_ral.c b/openair2/RRC/LTE/rrc_UE_ral.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_UE_ral.h b/openair2/RRC/LTE/rrc_UE_ral.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_defs.h b/openair2/RRC/LTE/rrc_defs.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_GTPV1U.c b/openair2/RRC/LTE/rrc_eNB_GTPV1U.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_GTPV1U.h b/openair2/RRC/LTE/rrc_eNB_GTPV1U.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.h b/openair2/RRC/LTE/rrc_eNB_S1AP.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_UE_context.c b/openair2/RRC/LTE/rrc_eNB_UE_context.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_UE_context.h b/openair2/RRC/LTE/rrc_eNB_UE_context.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_ral.c b/openair2/RRC/LTE/rrc_eNB_ral.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_eNB_ral.h b/openair2/RRC/LTE/rrc_eNB_ral.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_extern.h b/openair2/RRC/LTE/rrc_extern.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_proto.h b/openair2/RRC/LTE/rrc_proto.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_rrm_interface.c b/openair2/RRC/LTE/rrc_rrm_interface.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_rrm_interface.h b/openair2/RRC/LTE/rrc_rrm_interface.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_types.h b/openair2/RRC/LTE/rrc_types.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrc_vars.h b/openair2/RRC/LTE/rrc_vars.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/rrm_2_rrc_msg.c b/openair2/RRC/LTE/rrm_2_rrc_msg.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/utils.c b/openair2/RRC/LTE/utils.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/NAS/Makefile.inc b/openair2/RRC/NAS/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair2/RRC/NAS/nas_config.c b/openair2/RRC/NAS/nas_config.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/NAS/nas_config.h b/openair2/RRC/NAS/nas_config.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/NAS/rb_config.c b/openair2/RRC/NAS/rb_config.c old mode 100755 new mode 100644 diff --git a/openair2/RRC/NAS/rb_config.h b/openair2/RRC/NAS/rb_config.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/link_manager.c b/openair2/UTIL/ASYNC_IF/link_manager.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/link_manager.h b/openair2/UTIL/ASYNC_IF/link_manager.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/message_queue.c b/openair2/UTIL/ASYNC_IF/message_queue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/message_queue.h b/openair2/UTIL/ASYNC_IF/message_queue.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/ringbuffer_queue.c b/openair2/UTIL/ASYNC_IF/ringbuffer_queue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/ringbuffer_queue.h b/openair2/UTIL/ASYNC_IF/ringbuffer_queue.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/socket_link.c b/openair2/UTIL/ASYNC_IF/socket_link.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/ASYNC_IF/socket_link.h b/openair2/UTIL/ASYNC_IF/socket_link.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/BIGPHYS/bigphys.c b/openair2/UTIL/BIGPHYS/bigphys.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/BIGPHYS/defs.h b/openair2/UTIL/BIGPHYS/defs.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/CLI/cli.c b/openair2/UTIL/CLI/cli.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/CLI/cli.h b/openair2/UTIL/CLI/cli.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/CLI/cli_cmd.c b/openair2/UTIL/CLI/cli_cmd.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/CLI/cli_if.h b/openair2/UTIL/CLI/cli_if.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/CLI/cli_server.c b/openair2/UTIL/CLI/cli_server.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/FIFO/pad_list.c b/openair2/UTIL/FIFO/pad_list.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/FIFO/pad_list.h b/openair2/UTIL/FIFO/pad_list.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/FIFO/types.h b/openair2/UTIL/FIFO/types.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/building.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/dirs old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc/liblfds611.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.def old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.sln old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/liblfds611.vcproj old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.linux b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.linux old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.windows b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/makefile.windows old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/readme.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_build_readme.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_dynamic_lib_build.bat old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/runme_before_win_kernel_static_lib_build.bat old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.dynamic old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/sources.static old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/dirs old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/driver_entry_readme.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_body.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_internal_wrapper.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_delete.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_get_and_set.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_new.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_pop_push.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist/lfds611_freelist_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_abstraction_test_helpers.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_free.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_aligned_malloc.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds/lfds611_liblfds_readme.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_delete.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_new.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue/lfds611_queue_queue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_delete.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_get_and_put.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_new.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer/lfds611_ringbuffer_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_delete.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_get_and_set.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_link.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist/lfds611_slist_new.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_delete.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_new.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack/lfds611_stack_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/liblfds611_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt b/openair2/UTIL/LFDS/liblfds6.1.1/test/building.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux b/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.linux old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.windows b/openair2/UTIL/LFDS/liblfds6.1.1/test/makefile.windows old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_cpu_count.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_start.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/abstraction_thread_wait.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_freelist.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_queue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_ringbuffer.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/benchmark_stack.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/misc.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/structures.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_abstraction.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_freelist.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_queue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_ringbuffer.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_slist.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c b/openair2/UTIL/LFDS/liblfds6.1.1/test/src/test_stack.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln b/openair2/UTIL/LFDS/liblfds6.1.1/test/test.sln old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj b/openair2/UTIL/LFDS/liblfds6.1.1/test/test.vcproj old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_and_gnumake/Makefile b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_and_gnumake/Makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Kbuild old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Makefile b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/gcc_kbuild_and_gnumake/Makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/liblfds700.def old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/makefile b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/sdk_for_windows_7_and_gnumake/makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.def old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.sln old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.filters old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012/liblfds700.vcxproj.user old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/driver_entry.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.def old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.sln old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.filters old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2012_and_wdk_8.0/liblfds700.vcxproj.user old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/driver_entry.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.def old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.sln old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.filters old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/visual_studio_professional_2013_and_wdk_8.1/liblfds700.vcxproj.user old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/dirs old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/driver_entry_renamed_to_avoid_compiler_warning.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/liblfds700.def old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/readme_before_win_kernel_build.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_dynamic_lib_build.bat old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/runme_before_win_kernel_static_lib_build.bat old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.dynamic old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/build/wdk_7.1/sources.static old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_btree_addonly_unbalanced.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_freelist.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_hash_addonly.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_ordered_singlylinked.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_list_addonly_singlylinked_unordered.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_misc.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_compiler.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_operating_system.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_porting_abstraction_layer_processor.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_queue_bounded_singleconsumer_singleproducer.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_ringbuffer.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700/lfds700_stack.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_get.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_insert.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced/lfds700_btree_addonly_unbalanced_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_pop.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_push.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist/lfds700_freelist_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_get.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_insert.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_iterate.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly/lfds700_hash_addonly_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_get.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_insert.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked/lfds700_list_addonly_ordered_singlylinked_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_get.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_insert.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered/lfds700_list_addonly_singlylinked_unordered_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_globals.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_prng.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc/lfds700_misc_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_dequeue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_enqueue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue/lfds700_queue_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_dequeue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_enqueue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer/lfds700_queue_bounded_singleconsumer_singleproducer_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_read.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer/lfds700_ringbuffer_write.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_cleanup.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_init.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_pop.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_push.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack/lfds700_stack_query.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/liblfds700_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/gcc_and_gnumake/Makefile b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/gcc_and_gnumake/Makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/sdk_for_windows_7_and_gnumake/makefile b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/sdk_for_windows_7_and_gnumake/makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.sln old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.filters old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.user b/openair2/UTIL/LFDS/liblfds7.0.0/test/build/visual_studio_professional_2012/test.vcxproj.user old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/main.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/misc.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_fail_and_overwrite.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_btree_addonly_unbalanced_random_adds_overwrite.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_popping_and_pushing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_pushing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_freelist_rapid_popping_and_pushing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_iterate.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_fail_and_overwrite.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_hash_addonly_random_adds_overwrite.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_ordered_singlylinked_new_ordered_with_cursor.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_after.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_end.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_list_addonly_singlylinked_unordered_new_start.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_cas.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_dcas.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_porting_abstraction_layer_atomic_exchange.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_dequeuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_bounded_singleconsumer_singleproducer_enqueuing_and_dequeuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_dequeuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_and_dequeuing_with_free.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_enqueuing_with_malloc_and_dequeuing_with_free.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_queue_rapid_enqueuing_and_dequeuing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_reading_and_writing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_ringbuffer_writing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_alignment.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_popping_and_pushing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_pushing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_lfds700_stack_rapid_popping_and_pushing.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_get_logical_core_ids.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_operating_system.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_start.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/test_porting_abstraction_layer_thread_wait.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_cmdline.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_memory_helpers.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h b/openair2/UTIL/LFDS/liblfds7.0.0/test/src/util_thread_starter.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LISTS/list.c b/openair2/UTIL/LISTS/list.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LISTS/list.h b/openair2/UTIL/LISTS/list.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/LISTS/list2.c b/openair2/UTIL/LISTS/list2.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MATH/crc_byte.c b/openair2/UTIL/MATH/crc_byte.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MATH/oml.c b/openair2/UTIL/MATH/oml.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MATH/oml.h b/openair2/UTIL/MATH/oml.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MATH/random.c b/openair2/UTIL/MATH/random.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MATH/random_proto_extern.h b/openair2/UTIL/MATH/random_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MATH/taus.c b/openair2/UTIL/MATH/taus.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MEM/mem_block.c b/openair2/UTIL/MEM/mem_block.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MEM/mem_block.h b/openair2/UTIL/MEM/mem_block.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MEM/mem_mngt.c b/openair2/UTIL/MEM/mem_mngt.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MEM/mem_mngt_proto_extern.h b/openair2/UTIL/MEM/mem_mngt_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/MEM/mem_pool.h b/openair2/UTIL/MEM/mem_pool.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/Makefile.inc b/openair2/UTIL/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/.directory b/openair2/UTIL/OCG/.directory old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/Doxyfile b/openair2/UTIL/OCG/Doxyfile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG.c b/openair2/UTIL/OCG/OCG.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG.h b/openair2/UTIL/OCG/OCG.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_call_emu.c b/openair2/UTIL/OCG/OCG_call_emu.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_call_emu.h b/openair2/UTIL/OCG/OCG_call_emu.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_config_mobi.c b/openair2/UTIL/OCG/OCG_config_mobi.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_config_mobi.h b/openair2/UTIL/OCG/OCG_config_mobi.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_create_dir.c b/openair2/UTIL/OCG/OCG_create_dir.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_create_dir.h b/openair2/UTIL/OCG/OCG_create_dir.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_detect_file.c b/openair2/UTIL/OCG/OCG_detect_file.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_detect_file.h b/openair2/UTIL/OCG/OCG_detect_file.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_extern.h b/openair2/UTIL/OCG/OCG_extern.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_generate_report.c b/openair2/UTIL/OCG/OCG_generate_report.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_generate_report.h b/openair2/UTIL/OCG/OCG_generate_report.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_get_opt.c b/openair2/UTIL/OCG/OCG_get_opt.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_get_opt.h b/openair2/UTIL/OCG/OCG_get_opt.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_if.h b/openair2/UTIL/OCG/OCG_if.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_parse_XML.c b/openair2/UTIL/OCG/OCG_parse_XML.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_parse_XML.h b/openair2/UTIL/OCG/OCG_parse_XML.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_parse_filename.c b/openair2/UTIL/OCG/OCG_parse_filename.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_parse_filename.h b/openair2/UTIL/OCG/OCG_parse_filename.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_save_XML.c b/openair2/UTIL/OCG/OCG_save_XML.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_save_XML.h b/openair2/UTIL/OCG/OCG_save_XML.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/OCG_vars.h b/openair2/UTIL/OCG/OCG_vars.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml b/openair2/UTIL/OCG/XML_to_mobigen/RWMEmulator.xml old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/eurecom_20110208110244.xml b/openair2/UTIL/OCG/eurecom_20110208110244.xml old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml b/openair2/UTIL/OCG/local_XML/Lusheng.20110208110244.xml old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/makefile b/openair2/UTIL/OCG/makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/readme.txt b/openair2/UTIL/OCG/readme.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OCG/temp_output/OCG_report.xml b/openair2/UTIL/OCG/temp_output/OCG_report.xml old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf b/openair2/UTIL/OMG/OMG_TRACE_DESCRIPTION.pdf old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/README.TXT b/openair2/UTIL/OMG/README.TXT old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf b/openair2/UTIL/OMG/TRACE/OMG_TRACE_update.pdf old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/README.TXT b/openair2/UTIL/OMG/TRACE/README.TXT old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/example_trace.tr b/openair2/UTIL/OMG/TRACE/example_trace.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/handover.tr b/openair2/UTIL/OMG/TRACE/handover.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/handover_1ue.tr b/openair2/UTIL/OMG/TRACE/handover_1ue.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr b/openair2/UTIL/OMG/TRACE/hexagonal_eNBs.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/mobility_2ues.tr b/openair2/UTIL/OMG/TRACE/mobility_2ues.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/mobility_3ues.tr b/openair2/UTIL/OMG/TRACE/mobility_3ues.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/regular.tr b/openair2/UTIL/OMG/TRACE/regular.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/static_1enb.tr b/openair2/UTIL/OMG/TRACE/static_1enb.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/static_2ues.tr b/openair2/UTIL/OMG/TRACE/static_2ues.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/TRACE/zero_speed.tr b/openair2/UTIL/OMG/TRACE/zero_speed.tr old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/common.c b/openair2/UTIL/OMG/common.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/defs.h b/openair2/UTIL/OMG/defs.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/grid.c b/openair2/UTIL/OMG/grid.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/grid.h b/openair2/UTIL/OMG/grid.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/job.c b/openair2/UTIL/OMG/job.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/makefile b/openair2/UTIL/OMG/makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/makefile_old b/openair2/UTIL/OMG/makefile_old old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/makefile_standalone b/openair2/UTIL/OMG/makefile_standalone old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/mobility.txt b/openair2/UTIL/OMG/mobility.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/mobility_parser.c b/openair2/UTIL/OMG/mobility_parser.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/mobility_parser.h b/openair2/UTIL/OMG/mobility_parser.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/omg.c b/openair2/UTIL/OMG/omg.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/omg.h b/openair2/UTIL/OMG/omg.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/omg_constants.h b/openair2/UTIL/OMG/omg_constants.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/omg_hashtable.c b/openair2/UTIL/OMG/omg_hashtable.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/omg_hashtable.h b/openair2/UTIL/OMG/omg_hashtable.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/omg_vars.h b/openair2/UTIL/OMG/omg_vars.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/rwalk.c b/openair2/UTIL/OMG/rwalk.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/rwalk.h b/openair2/UTIL/OMG/rwalk.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/rwp.c b/openair2/UTIL/OMG/rwp.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/rwp.h b/openair2/UTIL/OMG/rwp.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/static.c b/openair2/UTIL/OMG/static.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/static.h b/openair2/UTIL/OMG/static.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/steadystaterwp.c b/openair2/UTIL/OMG/steadystaterwp.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/steadystaterwp.h b/openair2/UTIL/OMG/steadystaterwp.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/trace.c b/openair2/UTIL/OMG/trace.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/trace.h b/openair2/UTIL/OMG/trace.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/trace_hashtable.c b/openair2/UTIL/OMG/trace_hashtable.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMG/trace_hashtable.h b/openair2/UTIL/OMG/trace_hashtable.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/README.txt b/openair2/UTIL/OMV/README.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/blue.png b/openair2/UTIL/OMV/blue.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/communicationthread.cpp b/openair2/UTIL/OMV/communicationthread.cpp old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/communicationthread.h b/openair2/UTIL/OMV/communicationthread.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/green.png b/openair2/UTIL/OMV/green.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/jpg.jpeg b/openair2/UTIL/OMV/jpg.jpeg old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/mus.png b/openair2/UTIL/OMV/mus.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/mywindow.cpp b/openair2/UTIL/OMV/mywindow.cpp old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/mywindow.h b/openair2/UTIL/OMV/mywindow.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/new.jpg b/openair2/UTIL/OMV/new.jpg old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/new2.jpg b/openair2/UTIL/OMV/new2.jpg old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/omv.cpp b/openair2/UTIL/OMV/omv.cpp old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/openglwidget.cpp b/openair2/UTIL/OMV/openglwidget.cpp old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/openglwidget.h b/openair2/UTIL/OMV/openglwidget.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/red.png b/openair2/UTIL/OMV/red.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/structures.h b/openair2/UTIL/OMV/structures.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/white.png b/openair2/UTIL/OMV/white.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OMV/wow.png b/openair2/UTIL/OMV/wow.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OPT/README.txt b/openair2/UTIL/OPT/README.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OPT/mac_pcap.h b/openair2/UTIL/OPT/mac_pcap.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OPT/opt.h b/openair2/UTIL/OPT/opt.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OPT/packet-mac-lte.h b/openair2/UTIL/OPT/packet-mac-lte.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OPT/probe.c b/openair2/UTIL/OPT/probe.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OPT/vars.h b/openair2/UTIL/OPT/vars.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/README b/openair2/UTIL/OSA/README old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_defs.h b/openair2/UTIL/OSA/osa_defs.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_internal.h b/openair2/UTIL/OSA/osa_internal.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_key_deriver.c b/openair2/UTIL/OSA/osa_key_deriver.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_rijndael.c b/openair2/UTIL/OSA/osa_rijndael.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_rijndael.h b/openair2/UTIL/OSA/osa_rijndael.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_snow3g.c b/openair2/UTIL/OSA/osa_snow3g.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_snow3g.h b/openair2/UTIL/OSA/osa_snow3g.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_stream_eea.c b/openair2/UTIL/OSA/osa_stream_eea.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSA/osa_stream_eia.c b/openair2/UTIL/OSA/osa_stream_eia.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/OCG.pid b/openair2/UTIL/OSD/OCG.pid old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/OpenAirEmu.conf b/openair2/UTIL/OSD/OpenAirEmu.conf old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/Platform_is_running.php b/openair2/UTIL/OSD/Platform_is_running.php old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/README.txt b/openair2/UTIL/OSD/README.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/blueprint.css b/openair2/UTIL/OSD/css/blueprint.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/fix-ie-rtl.css b/openair2/UTIL/OSD/css/fix-ie-rtl.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/fix-ie.css b/openair2/UTIL/OSD/css/fix-ie.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/ie.css b/openair2/UTIL/OSD/css/ie.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/ie6.css b/openair2/UTIL/OSD/css/ie6.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/images/false.png b/openair2/UTIL/OSD/css/images/false.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/images/false2.png b/openair2/UTIL/OSD/css/images/false2.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/images/lquote.png b/openair2/UTIL/OSD/css/images/lquote.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/images/true.png b/openair2/UTIL/OSD/css/images/true.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/images/warning.png b/openair2/UTIL/OSD/css/images/warning.png old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/print.css b/openair2/UTIL/OSD/css/print.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/screen.css b/openair2/UTIL/OSD/css/screen.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/css/style.css b/openair2/UTIL/OSD/css/style.css old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/form.php b/openair2/UTIL/OSD/form.php old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/header.php b/openair2/UTIL/OSD/header.php old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/httpd-result.conf b/openair2/UTIL/OSD/httpd-result.conf old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/index.php b/openair2/UTIL/OSD/index.php old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/jquery/jquery.js b/openair2/UTIL/OSD/jquery/jquery.js old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/recep.php b/openair2/UTIL/OSD/recep.php old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OSD/toto.php b/openair2/UTIL/OSD/toto.php old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/Doxyfile b/openair2/UTIL/OTG/Doxyfile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/help_OTGplot.txt b/openair2/UTIL/OTG/help_OTGplot.txt old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/main.c b/openair2/UTIL/OTG/main.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/makefile b/openair2/UTIL/OTG/makefile old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg.c b/openair2/UTIL/OTG/otg.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg.h b/openair2/UTIL/OTG/otg.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_config.h b/openair2/UTIL/OTG/otg_config.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_defs.h b/openair2/UTIL/OTG/otg_defs.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_externs.h b/openair2/UTIL/OTG/otg_externs.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_form.c b/openair2/UTIL/OTG/otg_form.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_form.h b/openair2/UTIL/OTG/otg_form.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_kpi.c b/openair2/UTIL/OTG/otg_kpi.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_kpi.h b/openair2/UTIL/OTG/otg_kpi.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_models.c b/openair2/UTIL/OTG/otg_models.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_models.h b/openair2/UTIL/OTG/otg_models.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_rx.c b/openair2/UTIL/OTG/otg_rx.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_rx.h b/openair2/UTIL/OTG/otg_rx.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_rx_socket.c b/openair2/UTIL/OTG/otg_rx_socket.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_rx_socket.h b/openair2/UTIL/OTG/otg_rx_socket.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_tx.c b/openair2/UTIL/OTG/otg_tx.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_tx.h b/openair2/UTIL/OTG/otg_tx.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_tx_socket.c b/openair2/UTIL/OTG/otg_tx_socket.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_tx_socket.h b/openair2/UTIL/OTG/otg_tx_socket.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/otg_vars.h b/openair2/UTIL/OTG/otg_vars.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/OTG/traffic_config.h b/openair2/UTIL/OTG/traffic_config.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TIMER/umts_timer.c b/openair2/UTIL/TIMER/umts_timer.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TIMER/umts_timer.h b/openair2/UTIL/TIMER/umts_timer.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TIMER/umts_timer_proto_extern.h b/openair2/UTIL/TIMER/umts_timer_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TIMER/umts_timer_struct.h b/openair2/UTIL/TIMER/umts_timer_struct.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TRACE/fifo_printf.c b/openair2/UTIL/TRACE/fifo_printf.c old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TRACE/fifo_printf.h b/openair2/UTIL/TRACE/fifo_printf.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TRACE/fifo_printf_proto_extern.h b/openair2/UTIL/TRACE/fifo_printf_proto_extern.h old mode 100755 new mode 100644 diff --git a/openair2/UTIL/TRACE/print.h b/openair2/UTIL/TRACE/print.h old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R10/x2ap-10.7.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R10/x2ap-10.7.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R11/x2ap-11.9.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R11/x2ap-11.9.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R12/x2ap-12.8.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R12/x2ap-12.8.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R13/x2ap-13.7.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R13/x2ap-13.7.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R14/x2ap-14.6.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R14/x2ap-14.6.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.1.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.1.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.2.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R15/x2ap-15.2.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R8/x2ap-8.9.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R8/x2ap-8.9.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/R9/x2ap-9.6.0.asn1 b/openair2/X2AP/MESSAGES/ASN1/R9/x2ap-9.6.0.asn1 old mode 100755 new mode 100644 diff --git a/openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py b/openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py old mode 100755 new mode 100644 diff --git a/openair2/X2AP/Makefile.inc b/openair2/X2AP/Makefile.inc old mode 100755 new mode 100644 diff --git a/openair2/X2AP/x2ap_common.c b/openair2/X2AP/x2ap_common.c old mode 100755 new mode 100644 diff --git a/openair2/X2AP/x2ap_common.h b/openair2/X2AP/x2ap_common.h old mode 100755 new mode 100644 diff --git a/openair2/X2AP/x2ap_eNB.h b/openair2/X2AP/x2ap_eNB.h old mode 100755 new mode 100644 diff --git a/openair2/X2AP/x2ap_eNB_encoder.c b/openair2/X2AP/x2ap_eNB_encoder.c old mode 100755 new mode 100644 diff --git a/openair2/X2AP/x2ap_eNB_handler.h b/openair2/X2AP/x2ap_eNB_handler.h old mode 100755 new mode 100644 diff --git a/openair2/X2AP/x2ap_eNB_management_procedures.h b/openair2/X2AP/x2ap_eNB_management_procedures.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/as_message.h b/openair3/COMMON/as_message.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/common_types.h b/openair3/COMMON/common_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/gtpv1_u_messages_def.h b/openair3/COMMON/gtpv1_u_messages_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/gtpv1_u_messages_types.h b/openair3/COMMON/gtpv1_u_messages_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/intertask_interface_conf.h b/openair3/COMMON/intertask_interface_conf.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/messages_def.h b/openair3/COMMON/messages_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/messages_types.h b/openair3/COMMON/messages_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/nas_messages_def.h b/openair3/COMMON/nas_messages_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/nas_messages_types.h b/openair3/COMMON/nas_messages_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/s1ap_messages_def.h b/openair3/COMMON/s1ap_messages_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/s1ap_messages_types.h b/openair3/COMMON/s1ap_messages_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/sctp_messages_def.h b/openair3/COMMON/sctp_messages_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/sctp_messages_types.h b/openair3/COMMON/sctp_messages_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/security_types.h b/openair3/COMMON/security_types.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/tasks_def.h b/openair3/COMMON/tasks_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/udp_messages_def.h b/openair3/COMMON/udp_messages_def.h old mode 100755 new mode 100644 diff --git a/openair3/COMMON/udp_messages_types.h b/openair3/COMMON/udp_messages_types.h old mode 100755 new mode 100644 diff --git a/openair3/DOCS/DOXYGEN/Doxyfile.in b/openair3/DOCS/DOXYGEN/Doxyfile.in old mode 100755 new mode 100644 diff --git a/openair3/DOCS/DOXYGEN/Makefile.am b/openair3/DOCS/DOXYGEN/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf b/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.pdf old mode 100755 new mode 100644 diff --git a/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex b/openair3/DOCS/Latex/DefaultBearer/DefaultBearer.tex old mode 100755 new mode 100644 diff --git a/openair3/DOCS/Latex/EPC/EPC.pdf b/openair3/DOCS/Latex/EPC/EPC.pdf old mode 100755 new mode 100644 diff --git a/openair3/DOCS/Latex/EPC/EPC.tex b/openair3/DOCS/Latex/EPC/EPC.tex old mode 100755 new mode 100644 diff --git a/openair3/DOCS/Latex/EPC/Makefile b/openair3/DOCS/Latex/EPC/Makefile old mode 100755 new mode 100644 diff --git a/openair3/DOCS/Makefile.am b/openair3/DOCS/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/Makefile.am b/openair3/GTPV1-U/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/Makefile.eNB b/openair3/GTPV1-U/Makefile.eNB old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u.h b/openair3/GTPV1-U/gtpv1u.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u_eNB.c b/openair3/GTPV1-U/gtpv1u_eNB.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u_eNB_defs.h b/openair3/GTPV1-U/gtpv1u_eNB_defs.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u_eNB_task.h b/openair3/GTPV1-U/gtpv1u_eNB_task.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u_sgw_defs.h b/openair3/GTPV1-U/gtpv1u_sgw_defs.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u_task.c b/openair3/GTPV1-U/gtpv1u_task.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/gtpv1u_teid_pool.c b/openair3/GTPV1-U/gtpv1u_teid_pool.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/AUTHORS b/openair3/GTPV1-U/nw-gtpv1u/AUTHORS old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/COPYING b/openair3/GTPV1-U/nw-gtpv1u/COPYING old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/ChangeLog b/openair3/GTPV1-U/nw-gtpv1u/ChangeLog old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/NEWS b/openair3/GTPV1-U/nw-gtpv1u/NEWS old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/README b/openair3/GTPV1-U/nw-gtpv1u/README old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h b/openair3/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwLog.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwTypes.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h b/openair3/GTPV1-U/nw-gtpv1u/shared/NwUtils.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c b/openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am b/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in b/openair3/GTPV1-U/nw-gtpv1u/test-app/Makefile.in old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h old mode 100755 new mode 100644 diff --git a/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c b/openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/Makefile b/openair3/NAS/COMMON/API/NETWORK/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/as_message.c b/openair3/NAS/COMMON/API/NETWORK/as_message.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/as_message.h b/openair3/NAS/COMMON/API/NETWORK/as_message.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/l2_message.h b/openair3/NAS/COMMON/API/NETWORK/l2_message.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/nas_message.c b/openair3/NAS/COMMON/API/NETWORK/nas_message.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/nas_message.h b/openair3/NAS/COMMON/API/NETWORK/nas_message.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/network_api.c b/openair3/NAS/COMMON/API/NETWORK/network_api.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/API/NETWORK/network_api.h b/openair3/NAS/COMMON/API/NETWORK/network_api.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachAccept.c b/openair3/NAS/COMMON/EMM/MSG/AttachAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachAccept.h b/openair3/NAS/COMMON/EMM/MSG/AttachAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachComplete.c b/openair3/NAS/COMMON/EMM/MSG/AttachComplete.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachComplete.h b/openair3/NAS/COMMON/EMM/MSG/AttachComplete.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachReject.c b/openair3/NAS/COMMON/EMM/MSG/AttachReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachReject.h b/openair3/NAS/COMMON/EMM/MSG/AttachReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachRequest.c b/openair3/NAS/COMMON/EMM/MSG/AttachRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AttachRequest.h b/openair3/NAS/COMMON/EMM/MSG/AttachRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationFailure.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c b/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h b/openair3/NAS/COMMON/EMM/MSG/AuthenticationResponse.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c b/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h b/openair3/NAS/COMMON/EMM/MSG/CsServiceNotification.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachAccept.c b/openair3/NAS/COMMON/EMM/MSG/DetachAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachAccept.h b/openair3/NAS/COMMON/EMM/MSG/DetachAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachRequest.c b/openair3/NAS/COMMON/EMM/MSG/DetachRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/DetachRequest.h b/openair3/NAS/COMMON/EMM/MSG/DetachRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c b/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h b/openair3/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmInformation.c b/openair3/NAS/COMMON/EMM/MSG/EmmInformation.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmInformation.h b/openair3/NAS/COMMON/EMM/MSG/EmmInformation.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmStatus.c b/openair3/NAS/COMMON/EMM/MSG/EmmStatus.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/EmmStatus.h b/openair3/NAS/COMMON/EMM/MSG/EmmStatus.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c b/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h b/openair3/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h b/openair3/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c b/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h b/openair3/NAS/COMMON/EMM/MSG/IdentityRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c b/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h b/openair3/NAS/COMMON/EMM/MSG/IdentityResponse.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/Makefile b/openair3/NAS/COMMON/EMM/MSG/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h b/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h b/openair3/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c b/openair3/NAS/COMMON/EMM/MSG/SecurityModeCommand.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c b/openair3/NAS/COMMON/EMM/MSG/SecurityModeComplete.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c b/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h b/openair3/NAS/COMMON/EMM/MSG/SecurityModeReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceReject.c b/openair3/NAS/COMMON/EMM/MSG/ServiceReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceReject.h b/openair3/NAS/COMMON/EMM/MSG/ServiceReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c b/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h b/openair3/NAS/COMMON/EMM/MSG/ServiceRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h b/openair3/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c b/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h b/openair3/NAS/COMMON/EMM/MSG/UplinkNasTransport.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_cause.h b/openair3/NAS/COMMON/EMM/MSG/emm_cause.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_msg.c b/openair3/NAS/COMMON/EMM/MSG/emm_msg.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_msg.h b/openair3/NAS/COMMON/EMM/MSG/emm_msg.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h b/openair3/NAS/COMMON/EMM/MSG/emm_msgDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h b/openair3/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c b/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h b/openair3/NAS/COMMON/ESM/MSG/EsmInformationRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c b/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h b/openair3/NAS/COMMON/ESM/MSG/EsmInformationResponse.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmStatus.c b/openair3/NAS/COMMON/ESM/MSG/EsmStatus.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/EsmStatus.h b/openair3/NAS/COMMON/ESM/MSG/EsmStatus.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/Makefile b/openair3/NAS/COMMON/ESM/MSG/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h b/openair3/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h b/openair3/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h b/openair3/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_cause.h b/openair3/NAS/COMMON/ESM/MSG/esm_cause.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_msg.c b/openair3/NAS/COMMON/ESM/MSG/esm_msg.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_msg.h b/openair3/NAS/COMMON/ESM/MSG/esm_msg.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h b/openair3/NAS/COMMON/ESM/MSG/esm_msgDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AccessPointName.c b/openair3/NAS/COMMON/IES/AccessPointName.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AccessPointName.h b/openair3/NAS/COMMON/IES/AccessPointName.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateResult.c b/openair3/NAS/COMMON/IES/AdditionalUpdateResult.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateResult.h b/openair3/NAS/COMMON/IES/AdditionalUpdateResult.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateType.c b/openair3/NAS/COMMON/IES/AdditionalUpdateType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AdditionalUpdateType.h b/openair3/NAS/COMMON/IES/AdditionalUpdateType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c b/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h b/openair3/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c b/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h b/openair3/NAS/COMMON/IES/AuthenticationFailureParameter.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c b/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h b/openair3/NAS/COMMON/IES/AuthenticationParameterAutn.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterRand.c b/openair3/NAS/COMMON/IES/AuthenticationParameterRand.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationParameterRand.h b/openair3/NAS/COMMON/IES/AuthenticationParameterRand.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c b/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h b/openair3/NAS/COMMON/IES/AuthenticationResponseParameter.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c b/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h b/openair3/NAS/COMMON/IES/CipheringKeySequenceNumber.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/Cli.c b/openair3/NAS/COMMON/IES/Cli.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/Cli.h b/openair3/NAS/COMMON/IES/Cli.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/CsfbResponse.c b/openair3/NAS/COMMON/IES/CsfbResponse.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/CsfbResponse.h b/openair3/NAS/COMMON/IES/CsfbResponse.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/DaylightSavingTime.c b/openair3/NAS/COMMON/IES/DaylightSavingTime.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/DaylightSavingTime.h b/openair3/NAS/COMMON/IES/DaylightSavingTime.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/DetachType.c b/openair3/NAS/COMMON/IES/DetachType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/DetachType.h b/openair3/NAS/COMMON/IES/DetachType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/DrxParameter.c b/openair3/NAS/COMMON/IES/DrxParameter.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/DrxParameter.h b/openair3/NAS/COMMON/IES/DrxParameter.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EmergencyNumberList.c b/openair3/NAS/COMMON/IES/EmergencyNumberList.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EmergencyNumberList.h b/openair3/NAS/COMMON/IES/EmergencyNumberList.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EmmCause.c b/openair3/NAS/COMMON/IES/EmmCause.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EmmCause.h b/openair3/NAS/COMMON/IES/EmmCause.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsAttachResult.c b/openair3/NAS/COMMON/IES/EpsAttachResult.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsAttachResult.h b/openair3/NAS/COMMON/IES/EpsAttachResult.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsAttachType.c b/openair3/NAS/COMMON/IES/EpsAttachType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsAttachType.h b/openair3/NAS/COMMON/IES/EpsAttachType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsBearerContextStatus.c b/openair3/NAS/COMMON/IES/EpsBearerContextStatus.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsBearerContextStatus.h b/openair3/NAS/COMMON/IES/EpsBearerContextStatus.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsBearerIdentity.c b/openair3/NAS/COMMON/IES/EpsBearerIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsBearerIdentity.h b/openair3/NAS/COMMON/IES/EpsBearerIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsMobileIdentity.c b/openair3/NAS/COMMON/IES/EpsMobileIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsMobileIdentity.h b/openair3/NAS/COMMON/IES/EpsMobileIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c b/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h b/openair3/NAS/COMMON/IES/EpsNetworkFeatureSupport.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsQualityOfService.c b/openair3/NAS/COMMON/IES/EpsQualityOfService.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsQualityOfService.h b/openair3/NAS/COMMON/IES/EpsQualityOfService.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateResult.c b/openair3/NAS/COMMON/IES/EpsUpdateResult.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateResult.h b/openair3/NAS/COMMON/IES/EpsUpdateResult.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateType.c b/openair3/NAS/COMMON/IES/EpsUpdateType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EpsUpdateType.h b/openair3/NAS/COMMON/IES/EpsUpdateType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EsmCause.c b/openair3/NAS/COMMON/IES/EsmCause.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EsmCause.h b/openair3/NAS/COMMON/IES/EsmCause.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c b/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h b/openair3/NAS/COMMON/IES/EsmInformationTransferFlag.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EsmMessageContainer.c b/openair3/NAS/COMMON/IES/EsmMessageContainer.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/EsmMessageContainer.h b/openair3/NAS/COMMON/IES/EsmMessageContainer.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/GprsTimer.c b/openair3/NAS/COMMON/IES/GprsTimer.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/GprsTimer.h b/openair3/NAS/COMMON/IES/GprsTimer.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/GutiType.c b/openair3/NAS/COMMON/IES/GutiType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/GutiType.h b/openair3/NAS/COMMON/IES/GutiType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/IdentityType2.c b/openair3/NAS/COMMON/IES/IdentityType2.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/IdentityType2.h b/openair3/NAS/COMMON/IES/IdentityType2.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ImeisvRequest.c b/openair3/NAS/COMMON/IES/ImeisvRequest.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ImeisvRequest.h b/openair3/NAS/COMMON/IES/ImeisvRequest.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c b/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h b/openair3/NAS/COMMON/IES/KsiAndSequenceNumber.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LcsClientIdentity.c b/openair3/NAS/COMMON/IES/LcsClientIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LcsClientIdentity.h b/openair3/NAS/COMMON/IES/LcsClientIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LcsIndicator.c b/openair3/NAS/COMMON/IES/LcsIndicator.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LcsIndicator.h b/openair3/NAS/COMMON/IES/LcsIndicator.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c b/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h b/openair3/NAS/COMMON/IES/LinkedEpsBearerIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c b/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h b/openair3/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LocationAreaIdentification.c b/openair3/NAS/COMMON/IES/LocationAreaIdentification.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/LocationAreaIdentification.h b/openair3/NAS/COMMON/IES/LocationAreaIdentification.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/Makefile b/openair3/NAS/COMMON/IES/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MessageType.c b/openair3/NAS/COMMON/IES/MessageType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MessageType.h b/openair3/NAS/COMMON/IES/MessageType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MobileIdentity.c b/openair3/NAS/COMMON/IES/MobileIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MobileIdentity.h b/openair3/NAS/COMMON/IES/MobileIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark2.c b/openair3/NAS/COMMON/IES/MobileStationClassmark2.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark2.h b/openair3/NAS/COMMON/IES/MobileStationClassmark2.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark3.c b/openair3/NAS/COMMON/IES/MobileStationClassmark3.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MobileStationClassmark3.h b/openair3/NAS/COMMON/IES/MobileStationClassmark3.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MsNetworkCapability.c b/openair3/NAS/COMMON/IES/MsNetworkCapability.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MsNetworkCapability.h b/openair3/NAS/COMMON/IES/MsNetworkCapability.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c b/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h b/openair3/NAS/COMMON/IES/MsNetworkFeatureSupport.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasKeySetIdentifier.c b/openair3/NAS/COMMON/IES/NasKeySetIdentifier.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasKeySetIdentifier.h b/openair3/NAS/COMMON/IES/NasKeySetIdentifier.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasMessageContainer.c b/openair3/NAS/COMMON/IES/NasMessageContainer.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasMessageContainer.h b/openair3/NAS/COMMON/IES/NasMessageContainer.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasRequestType.c b/openair3/NAS/COMMON/IES/NasRequestType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasRequestType.h b/openair3/NAS/COMMON/IES/NasRequestType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c b/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h b/openair3/NAS/COMMON/IES/NasSecurityAlgorithms.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NetworkName.c b/openair3/NAS/COMMON/IES/NetworkName.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/NetworkName.h b/openair3/NAS/COMMON/IES/NetworkName.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/Nonce.c b/openair3/NAS/COMMON/IES/Nonce.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/Nonce.h b/openair3/NAS/COMMON/IES/Nonce.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PTmsiSignature.c b/openair3/NAS/COMMON/IES/PTmsiSignature.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PTmsiSignature.h b/openair3/NAS/COMMON/IES/PTmsiSignature.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PacketFlowIdentifier.c b/openair3/NAS/COMMON/IES/PacketFlowIdentifier.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PacketFlowIdentifier.h b/openair3/NAS/COMMON/IES/PacketFlowIdentifier.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PagingIdentity.c b/openair3/NAS/COMMON/IES/PagingIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PagingIdentity.h b/openair3/NAS/COMMON/IES/PagingIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PdnAddress.c b/openair3/NAS/COMMON/IES/PdnAddress.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PdnAddress.h b/openair3/NAS/COMMON/IES/PdnAddress.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PdnType.c b/openair3/NAS/COMMON/IES/PdnType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PdnType.h b/openair3/NAS/COMMON/IES/PdnType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PlmnList.c b/openair3/NAS/COMMON/IES/PlmnList.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/PlmnList.h b/openair3/NAS/COMMON/IES/PlmnList.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c b/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h b/openair3/NAS/COMMON/IES/ProcedureTransactionIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c b/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h b/openair3/NAS/COMMON/IES/ProtocolConfigurationOptions.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ProtocolDiscriminator.c b/openair3/NAS/COMMON/IES/ProtocolDiscriminator.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ProtocolDiscriminator.h b/openair3/NAS/COMMON/IES/ProtocolDiscriminator.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/QualityOfService.c b/openair3/NAS/COMMON/IES/QualityOfService.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/QualityOfService.h b/openair3/NAS/COMMON/IES/QualityOfService.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/RadioPriority.c b/openair3/NAS/COMMON/IES/RadioPriority.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/RadioPriority.h b/openair3/NAS/COMMON/IES/RadioPriority.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/SecurityHeaderType.c b/openair3/NAS/COMMON/IES/SecurityHeaderType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/SecurityHeaderType.h b/openair3/NAS/COMMON/IES/SecurityHeaderType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ServiceType.c b/openair3/NAS/COMMON/IES/ServiceType.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ServiceType.h b/openair3/NAS/COMMON/IES/ServiceType.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ShortMac.c b/openair3/NAS/COMMON/IES/ShortMac.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/ShortMac.h b/openair3/NAS/COMMON/IES/ShortMac.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/SsCode.c b/openair3/NAS/COMMON/IES/SsCode.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/SsCode.h b/openair3/NAS/COMMON/IES/SsCode.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/SupportedCodecList.c b/openair3/NAS/COMMON/IES/SupportedCodecList.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/SupportedCodecList.h b/openair3/NAS/COMMON/IES/SupportedCodecList.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TimeZone.c b/openair3/NAS/COMMON/IES/TimeZone.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TimeZone.h b/openair3/NAS/COMMON/IES/TimeZone.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TimeZoneAndTime.c b/openair3/NAS/COMMON/IES/TimeZoneAndTime.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TimeZoneAndTime.h b/openair3/NAS/COMMON/IES/TimeZoneAndTime.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TmsiStatus.c b/openair3/NAS/COMMON/IES/TmsiStatus.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TmsiStatus.h b/openair3/NAS/COMMON/IES/TmsiStatus.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentity.c b/openair3/NAS/COMMON/IES/TrackingAreaIdentity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentity.h b/openair3/NAS/COMMON/IES/TrackingAreaIdentity.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c b/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h b/openair3/NAS/COMMON/IES/TrackingAreaIdentityList.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c b/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h b/openair3/NAS/COMMON/IES/TrafficFlowAggregateDescription.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowTemplate.c b/openair3/NAS/COMMON/IES/TrafficFlowTemplate.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TrafficFlowTemplate.h b/openair3/NAS/COMMON/IES/TrafficFlowTemplate.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TransactionIdentifier.c b/openair3/NAS/COMMON/IES/TransactionIdentifier.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/TransactionIdentifier.h b/openair3/NAS/COMMON/IES/TransactionIdentifier.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/UeNetworkCapability.c b/openair3/NAS/COMMON/IES/UeNetworkCapability.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/UeNetworkCapability.h b/openair3/NAS/COMMON/IES/UeNetworkCapability.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c b/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h b/openair3/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/UeSecurityCapability.c b/openair3/NAS/COMMON/IES/UeSecurityCapability.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/UeSecurityCapability.h b/openair3/NAS/COMMON/IES/UeSecurityCapability.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c b/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h b/openair3/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/Makefile b/openair3/NAS/COMMON/UTIL/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/OctetString.c b/openair3/NAS/COMMON/UTIL/OctetString.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/OctetString.h b/openair3/NAS/COMMON/UTIL/OctetString.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/TLVDecoder.c b/openair3/NAS/COMMON/UTIL/TLVDecoder.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/TLVDecoder.h b/openair3/NAS/COMMON/UTIL/TLVDecoder.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/TLVEncoder.c b/openair3/NAS/COMMON/UTIL/TLVEncoder.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/TLVEncoder.h b/openair3/NAS/COMMON/UTIL/TLVEncoder.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/device.c b/openair3/NAS/COMMON/UTIL/device.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/device.h b/openair3/NAS/COMMON/UTIL/device.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/memory.c b/openair3/NAS/COMMON/UTIL/memory.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/memory.h b/openair3/NAS/COMMON/UTIL/memory.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/nas_log.h b/openair3/NAS/COMMON/UTIL/nas_log.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/nas_timer.c b/openair3/NAS/COMMON/UTIL/nas_timer.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/nas_timer.h b/openair3/NAS/COMMON/UTIL/nas_timer.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/parser.c b/openair3/NAS/COMMON/UTIL/parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/parser.h b/openair3/NAS/COMMON/UTIL/parser.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/socket.c b/openair3/NAS/COMMON/UTIL/socket.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/socket.h b/openair3/NAS/COMMON/UTIL/socket.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/stty.c b/openair3/NAS/COMMON/UTIL/stty.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/tst/Makefile b/openair3/NAS/COMMON/UTIL/tst/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/tst/timer.c b/openair3/NAS/COMMON/UTIL/tst/timer.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/UTIL/tst/timer_debug.txt b/openair3/NAS/COMMON/UTIL/tst/timer_debug.txt old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/commonDef.h b/openair3/NAS/COMMON/commonDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/networkDef.h b/openair3/NAS/COMMON/networkDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/securityDef.h b/openair3/NAS/COMMON/securityDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/COMMON/userDef.h b/openair3/NAS/COMMON/userDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/Makefile b/openair3/NAS/TEST/AS_SIMULATOR/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_data.c b/openair3/NAS/TEST/AS_SIMULATOR/as_data.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_data.h b/openair3/NAS/TEST/AS_SIMULATOR/as_data.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_process.c b/openair3/NAS/TEST/AS_SIMULATOR/as_process.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_process.h b/openair3/NAS/TEST/AS_SIMULATOR/as_process.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c b/openair3/NAS/TEST/AS_SIMULATOR/as_simulator.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c b/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h b/openair3/NAS/TEST/AS_SIMULATOR/as_simulator_parser.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_data.c b/openair3/NAS/TEST/AS_SIMULATOR/nas_data.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_data.h b/openair3/NAS/TEST/AS_SIMULATOR/nas_data.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_process.c b/openair3/NAS/TEST/AS_SIMULATOR/nas_process.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/AS_SIMULATOR/nas_process.h b/openair3/NAS/TEST/AS_SIMULATOR/nas_process.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/ActivatePDN.png b/openair3/NAS/TEST/MSC/ActivatePDN.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/AuthenticationReject.png b/openair3/NAS/TEST/MSC/AuthenticationReject.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/DeactivatePDN.png b/openair3/NAS/TEST/MSC/DeactivatePDN.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/InitialAttach.png b/openair3/NAS/TEST/MSC/InitialAttach.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/InitialAttachReject.png b/openair3/NAS/TEST/MSC/InitialAttachReject.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/NomalDetach.png b/openair3/NAS/TEST/MSC/NomalDetach.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/README b/openair3/NAS/TEST/MSC/README old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/MSC/SwitchOffDetach.png b/openair3/NAS/TEST/MSC/SwitchOffDetach.png old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/NETWORK/Makefile b/openair3/NAS/TEST/NETWORK/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/NETWORK/README b/openair3/NAS/TEST/NETWORK/README old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/NETWORK/network_parser.c b/openair3/NAS/TEST/NETWORK/network_parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/NETWORK/network_parser.h b/openair3/NAS/TEST/NETWORK/network_parser.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/NETWORK/network_simulator.c b/openair3/NAS/TEST/NETWORK/network_simulator.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/USER/Makefile b/openair3/NAS/TEST/USER/Makefile old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/USER/user_parser.c b/openair3/NAS/TEST/USER/user_parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/USER/user_parser.h b/openair3/NAS/TEST/USER/user_parser.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TEST/USER/user_simulator.c b/openair3/NAS/TEST/USER/user_simulator.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf2uedata.c b/openair3/NAS/TOOLS/conf2uedata.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf2uedata.h b/openair3/NAS/TOOLS/conf2uedata.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_emm.c b/openair3/NAS/TOOLS/conf_emm.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_emm.h b/openair3/NAS/TOOLS/conf_emm.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_network.c b/openair3/NAS/TOOLS/conf_network.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_network.h b/openair3/NAS/TOOLS/conf_network.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_parser.c b/openair3/NAS/TOOLS/conf_parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_parser.h b/openair3/NAS/TOOLS/conf_parser.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_user_data.c b/openair3/NAS/TOOLS/conf_user_data.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_user_data.h b/openair3/NAS/TOOLS/conf_user_data.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_user_plmn.c b/openair3/NAS/TOOLS/conf_user_plmn.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_user_plmn.h b/openair3/NAS/TOOLS/conf_user_plmn.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_usim.c b/openair3/NAS/TOOLS/conf_usim.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/conf_usim.h b/openair3/NAS/TOOLS/conf_usim.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/display.c b/openair3/NAS/TOOLS/display.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/display.h b/openair3/NAS/TOOLS/display.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/fs.c b/openair3/NAS/TOOLS/fs.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/fs.h b/openair3/NAS/TOOLS/fs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/network.h b/openair3/NAS/TOOLS/network.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/nvram.c b/openair3/NAS/TOOLS/nvram.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/ue_bcom_test.conf b/openair3/NAS/TOOLS/ue_bcom_test.conf old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf b/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/ue_tcl_test.conf b/openair3/NAS/TOOLS/ue_tcl_test.conf old mode 100755 new mode 100644 diff --git a/openair3/NAS/TOOLS/usim.c b/openair3/NAS/TOOLS/usim.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/at_command.c b/openair3/NAS/UE/API/USER/at_command.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/at_command.h b/openair3/NAS/UE/API/USER/at_command.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/at_error.c b/openair3/NAS/UE/API/USER/at_error.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/at_error.h b/openair3/NAS/UE/API/USER/at_error.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/at_response.c b/openair3/NAS/UE/API/USER/at_response.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/at_response.h b/openair3/NAS/UE/API/USER/at_response.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.c b/openair3/NAS/UE/API/USER/tst/at_parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.in b/openair3/NAS/UE/API/USER/tst/at_parser.in old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.in.bis b/openair3/NAS/UE/API/USER/tst/at_parser.in.bis old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.out b/openair3/NAS/UE/API/USER/tst/at_parser.out old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/tst/at_parser.out.bis b/openair3/NAS/UE/API/USER/tst/at_parser.out.bis old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/tst/smartcom.txt b/openair3/NAS/UE/API/USER/tst/smartcom.txt old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/user_api.c b/openair3/NAS/UE/API/USER/user_api.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/user_api.h b/openair3/NAS/UE/API/USER/user_api.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/user_api_defs.h b/openair3/NAS/UE/API/USER/user_api_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/user_indication.c b/openair3/NAS/UE/API/USER/user_indication.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USER/user_indication.h b/openair3/NAS/UE/API/USER/user_indication.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USIM/aka_functions.c b/openair3/NAS/UE/API/USIM/aka_functions.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USIM/aka_functions.h b/openair3/NAS/UE/API/USIM/aka_functions.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USIM/usim_api.c b/openair3/NAS/UE/API/USIM/usim_api.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/API/USIM/usim_api.h b/openair3/NAS/UE/API/USIM/usim_api.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/Attach.c b/openair3/NAS/UE/EMM/Attach.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/Authentication.c b/openair3/NAS/UE/EMM/Authentication.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/Authentication.h b/openair3/NAS/UE/EMM/Authentication.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/Detach.c b/openair3/NAS/UE/EMM/Detach.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/EmmStatusHdl.c b/openair3/NAS/UE/EMM/EmmStatusHdl.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/Identification.c b/openair3/NAS/UE/EMM/Identification.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/IdleMode.c b/openair3/NAS/UE/EMM/IdleMode.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/IdleMode.h b/openair3/NAS/UE/EMM/IdleMode.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/IdleMode_defs.h b/openair3/NAS/UE/EMM/IdleMode_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/LowerLayer.c b/openair3/NAS/UE/EMM/LowerLayer.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/LowerLayer.h b/openair3/NAS/UE/EMM/LowerLayer.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/LowerLayer_defs.h b/openair3/NAS/UE/EMM/LowerLayer_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregistered.c b/openair3/NAS/UE/EMM/SAP/EmmDeregistered.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c b/openair3/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmNull.c b/openair3/NAS/UE/EMM/SAP/EmmNull.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegistered.c b/openair3/NAS/UE/EMM/SAP/EmmRegistered.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c b/openair3/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c b/openair3/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_as.c b/openair3/NAS/UE/EMM/SAP/emm_as.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_as.h b/openair3/NAS/UE/EMM/SAP/emm_as.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_asDef.h b/openair3/NAS/UE/EMM/SAP/emm_asDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_esm.c b/openair3/NAS/UE/EMM/SAP/emm_esm.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_esm.h b/openair3/NAS/UE/EMM/SAP/emm_esm.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_esmDef.h b/openair3/NAS/UE/EMM/SAP/emm_esmDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_fsm.c b/openair3/NAS/UE/EMM/SAP/emm_fsm.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_fsm.h b/openair3/NAS/UE/EMM/SAP/emm_fsm.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_recv.c b/openair3/NAS/UE/EMM/SAP/emm_recv.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_recv.h b/openair3/NAS/UE/EMM/SAP/emm_recv.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_reg.c b/openair3/NAS/UE/EMM/SAP/emm_reg.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_reg.h b/openair3/NAS/UE/EMM/SAP/emm_reg.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_regDef.h b/openair3/NAS/UE/EMM/SAP/emm_regDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_sap.c b/openair3/NAS/UE/EMM/SAP/emm_sap.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_sap.h b/openair3/NAS/UE/EMM/SAP/emm_sap.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_send.c b/openair3/NAS/UE/EMM/SAP/emm_send.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SAP/emm_send.h b/openair3/NAS/UE/EMM/SAP/emm_send.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SecurityModeControl.c b/openair3/NAS/UE/EMM/SecurityModeControl.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/SecurityModeControl.h b/openair3/NAS/UE/EMM/SecurityModeControl.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/ServiceRequestHdl.c b/openair3/NAS/UE/EMM/ServiceRequestHdl.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/TrackingAreaUpdate.c b/openair3/NAS/UE/EMM/TrackingAreaUpdate.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emmData.h b/openair3/NAS/UE/EMM/emmData.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emm_fsm_defs.h b/openair3/NAS/UE/EMM/emm_fsm_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emm_main.c b/openair3/NAS/UE/EMM/emm_main.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emm_main.h b/openair3/NAS/UE/EMM/emm_main.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emm_proc.h b/openair3/NAS/UE/EMM/emm_proc.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emm_proc_defs.h b/openair3/NAS/UE/EMM/emm_proc_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/EMM/emm_timers.h b/openair3/NAS/UE/EMM/emm_timers.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c b/openair3/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c b/openair3/NAS/UE/ESM/DefaultEpsBearerContextActivation.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c b/openair3/NAS/UE/ESM/EpsBearerContextDeactivation.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/EsmStatusHdl.c b/openair3/NAS/UE/ESM/EsmStatusHdl.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/PdnConnectivity.c b/openair3/NAS/UE/ESM/PdnConnectivity.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/PdnDisconnect.c b/openair3/NAS/UE/ESM/PdnDisconnect.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_recv.c b/openair3/NAS/UE/ESM/SAP/esm_recv.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_recv.h b/openair3/NAS/UE/ESM/SAP/esm_recv.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_sap.c b/openair3/NAS/UE/ESM/SAP/esm_sap.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_sap.h b/openair3/NAS/UE/ESM/SAP/esm_sap.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_sapDef.h b/openair3/NAS/UE/ESM/SAP/esm_sapDef.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_send.c b/openair3/NAS/UE/ESM/SAP/esm_send.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/SAP/esm_send.h b/openair3/NAS/UE/ESM/SAP/esm_send.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esmData.h b/openair3/NAS/UE/ESM/esmData.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_ebr.c b/openair3/NAS/UE/ESM/esm_ebr.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_ebr.h b/openair3/NAS/UE/ESM/esm_ebr.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_ebr_context.c b/openair3/NAS/UE/ESM/esm_ebr_context.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_ebr_context.h b/openair3/NAS/UE/ESM/esm_ebr_context.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_ip.c b/openair3/NAS/UE/ESM/esm_ip.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_main.c b/openair3/NAS/UE/ESM/esm_main.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_main.h b/openair3/NAS/UE/ESM/esm_main.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_proc.h b/openair3/NAS/UE/ESM/esm_proc.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_pt.c b/openair3/NAS/UE/ESM/esm_pt.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_pt.h b/openair3/NAS/UE/ESM/esm_pt.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/ESM/esm_pt_defs.h b/openair3/NAS/UE/ESM/esm_pt_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/UEprocess.c b/openair3/NAS/UE/UEprocess.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_itti_messaging.c b/openair3/NAS/UE/nas_itti_messaging.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_itti_messaging.h b/openair3/NAS/UE/nas_itti_messaging.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_network.c b/openair3/NAS/UE/nas_network.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_network.h b/openair3/NAS/UE/nas_network.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_parser.c b/openair3/NAS/UE/nas_parser.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_parser.h b/openair3/NAS/UE/nas_parser.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_proc.c b/openair3/NAS/UE/nas_proc.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_proc.h b/openair3/NAS/UE/nas_proc.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_proc_defs.h b/openair3/NAS/UE/nas_proc_defs.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_ue_task.c b/openair3/NAS/UE/nas_ue_task.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_ue_task.h b/openair3/NAS/UE/nas_ue_task.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_user.c b/openair3/NAS/UE/nas_user.c old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/nas_user.h b/openair3/NAS/UE/nas_user.h old mode 100755 new mode 100644 diff --git a/openair3/NAS/UE/user_defs.h b/openair3/NAS/UE/user_defs.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R10/s1ap-10.9.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R10/s1ap-10.9.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R11/s1ap-11.8.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R11/s1ap-11.8.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R12/s1ap-12.7.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R12/s1ap-12.7.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R13/s1ap-13.6.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R13/s1ap-13.6.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.5.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.5.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.6.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R14/s1ap-14.6.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.1.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.1.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.2.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R15/s1ap-15.2.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R8/s1ap-8.10.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R8/s1ap-8.10.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/R9/s1ap-9.10.0.asn1 b/openair3/S1AP/MESSAGES/ASN1/R9/s1ap-9.10.0.asn1 old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/README b/openair3/S1AP/MESSAGES/ASN1/README old mode 100755 new mode 100644 diff --git a/openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py b/openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_common.c b/openair3/S1AP/s1ap_common.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_common.h b/openair3/S1AP/s1ap_common.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB.c b/openair3/S1AP/s1ap_eNB.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB.h b/openair3/S1AP/s1ap_eNB.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_context_management_procedures.c b/openair3/S1AP/s1ap_eNB_context_management_procedures.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_context_management_procedures.h b/openair3/S1AP/s1ap_eNB_context_management_procedures.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_decoder.c b/openair3/S1AP/s1ap_eNB_decoder.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_decoder.h b/openair3/S1AP/s1ap_eNB_decoder.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_default_values.h b/openair3/S1AP/s1ap_eNB_default_values.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_defs.h b/openair3/S1AP/s1ap_eNB_defs.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_encoder.c b/openair3/S1AP/s1ap_eNB_encoder.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_encoder.h b/openair3/S1AP/s1ap_eNB_encoder.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_handlers.c b/openair3/S1AP/s1ap_eNB_handlers.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_handlers.h b/openair3/S1AP/s1ap_eNB_handlers.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_itti_messaging.c b/openair3/S1AP/s1ap_eNB_itti_messaging.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_itti_messaging.h b/openair3/S1AP/s1ap_eNB_itti_messaging.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_management_procedures.c b/openair3/S1AP/s1ap_eNB_management_procedures.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_management_procedures.h b/openair3/S1AP/s1ap_eNB_management_procedures.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_nas_procedures.c b/openair3/S1AP/s1ap_eNB_nas_procedures.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_nas_procedures.h b/openair3/S1AP/s1ap_eNB_nas_procedures.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_nnsf.c b/openair3/S1AP/s1ap_eNB_nnsf.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_nnsf.h b/openair3/S1AP/s1ap_eNB_nnsf.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_overload.c b/openair3/S1AP/s1ap_eNB_overload.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_overload.h b/openair3/S1AP/s1ap_eNB_overload.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_trace.c b/openair3/S1AP/s1ap_eNB_trace.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_trace.h b/openair3/S1AP/s1ap_eNB_trace.h old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_ue_context.c b/openair3/S1AP/s1ap_eNB_ue_context.c old mode 100755 new mode 100644 diff --git a/openair3/S1AP/s1ap_eNB_ue_context.h b/openair3/S1AP/s1ap_eNB_ue_context.h old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_common.c b/openair3/SCTP/sctp_common.c old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_common.h b/openair3/SCTP/sctp_common.h old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_default_values.h b/openair3/SCTP/sctp_default_values.h old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_eNB_defs.h b/openair3/SCTP/sctp_eNB_defs.h old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_eNB_itti_messaging.c b/openair3/SCTP/sctp_eNB_itti_messaging.c old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_eNB_itti_messaging.h b/openair3/SCTP/sctp_eNB_itti_messaging.h old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_eNB_task.c b/openair3/SCTP/sctp_eNB_task.c old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_eNB_task.h b/openair3/SCTP/sctp_eNB_task.h old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_primitives_client.c b/openair3/SCTP/sctp_primitives_client.c old mode 100755 new mode 100644 diff --git a/openair3/SCTP/sctp_primitives_client.h b/openair3/SCTP/sctp_primitives_client.h old mode 100755 new mode 100644 diff --git a/openair3/SECU/kdf.c b/openair3/SECU/kdf.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/key_nas_deriver.c b/openair3/SECU/key_nas_deriver.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/key_nas_encryption.c b/openair3/SECU/key_nas_encryption.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/nas_stream_eea1.c b/openair3/SECU/nas_stream_eea1.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/nas_stream_eea2.c b/openair3/SECU/nas_stream_eea2.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/nas_stream_eia1.c b/openair3/SECU/nas_stream_eia1.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/nas_stream_eia2.c b/openair3/SECU/nas_stream_eia2.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/rijndael.c b/openair3/SECU/rijndael.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/rijndael.h b/openair3/SECU/rijndael.h old mode 100755 new mode 100644 diff --git a/openair3/SECU/secu_defs.h b/openair3/SECU/secu_defs.h old mode 100755 new mode 100644 diff --git a/openair3/SECU/snow3g.c b/openair3/SECU/snow3g.c old mode 100755 new mode 100644 diff --git a/openair3/SECU/snow3g.h b/openair3/SECU/snow3g.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/generate_scenario.c b/openair3/TEST/EPC_TEST/generate_scenario.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/generate_scenario.h b/openair3/TEST/EPC_TEST/generate_scenario.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario.c b/openair3/TEST/EPC_TEST/play_scenario.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario.h b/openair3/TEST/EPC_TEST/play_scenario.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_decode.c b/openair3/TEST/EPC_TEST/play_scenario_decode.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_display.c b/openair3/TEST/EPC_TEST/play_scenario_display.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_fsm.c b/openair3/TEST/EPC_TEST/play_scenario_fsm.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_parse.c b/openair3/TEST/EPC_TEST/play_scenario_parse.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h b/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/EPC_TEST/play_scenario_sctp.c b/openair3/TEST/EPC_TEST/play_scenario_sctp.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/Makefile.am b/openair3/TEST/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_client_test.c b/openair3/TEST/oaisim_mme_client_test.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_itti_test.c b/openair3/TEST/oaisim_mme_itti_test.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_list_benchmark.c b/openair3/TEST/oaisim_mme_list_benchmark.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_s1ap_test.c b/openair3/TEST/oaisim_mme_s1ap_test.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_sctp_test.c b/openair3/TEST/oaisim_mme_sctp_test.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c.c b/openair3/TEST/oaisim_mme_test_s1c.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c.h b/openair3/TEST/oaisim_mme_test_s1c.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.c b/openair3/TEST/oaisim_mme_test_s1c_s1ap.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.h b/openair3/TEST/oaisim_mme_test_s1c_s1ap.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario.c b/openair3/TEST/oaisim_mme_test_s1c_scenario.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario.h b/openair3/TEST/oaisim_mme_test_s1c_scenario.h old mode 100755 new mode 100644 diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario1.c b/openair3/TEST/oaisim_mme_test_s1c_scenario1.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_aes128_cmac_encrypt.c b/openair3/TEST/test_aes128_cmac_encrypt.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_aes128_ctr_decrypt.c b/openair3/TEST/test_aes128_ctr_decrypt.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_aes128_ctr_encrypt.c b/openair3/TEST/test_aes128_ctr_encrypt.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_kdf.c b/openair3/TEST/test_kdf.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_s1ap.c b/openair3/TEST/test_s1ap.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu.c b/openair3/TEST/test_secu.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_kenb.c b/openair3/TEST/test_secu_kenb.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_knas.c b/openair3/TEST/test_secu_knas.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_knas_encrypt_eea1.c b/openair3/TEST/test_secu_knas_encrypt_eea1.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_knas_encrypt_eea2.c b/openair3/TEST/test_secu_knas_encrypt_eea2.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_knas_encrypt_eia1.c b/openair3/TEST/test_secu_knas_encrypt_eia1.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_knas_encrypt_eia2.c b/openair3/TEST/test_secu_knas_encrypt_eia2.c old mode 100755 new mode 100644 diff --git a/openair3/TEST/test_secu_knas_stream_int.c b/openair3/TEST/test_secu_knas_stream_int.c old mode 100755 new mode 100644 diff --git a/openair3/UDP/udp_eNB_task.c b/openair3/UDP/udp_eNB_task.c old mode 100755 new mode 100644 diff --git a/openair3/UDP/udp_eNB_task.h b/openair3/UDP/udp_eNB_task.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/CONF/COPYING b/openair3/UTILS/CONF/COPYING old mode 100755 new mode 100644 diff --git a/openair3/UTILS/Makefile.am b/openair3/UTILS/Makefile.am old mode 100755 new mode 100644 diff --git a/openair3/UTILS/conversions.c b/openair3/UTILS/conversions.c old mode 100755 new mode 100644 diff --git a/openair3/UTILS/conversions.h b/openair3/UTILS/conversions.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/enum_string.c b/openair3/UTILS/enum_string.c old mode 100755 new mode 100644 diff --git a/openair3/UTILS/enum_string.h b/openair3/UTILS/enum_string.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mcc_mnc_itu.c b/openair3/UTILS/mcc_mnc_itu.c old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mcc_mnc_itu.h b/openair3/UTILS/mcc_mnc_itu.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mme_config.c b/openair3/UTILS/mme_config.c old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mme_config.h b/openair3/UTILS/mme_config.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mme_default_values.h b/openair3/UTILS/mme_default_values.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mme_parser.y b/openair3/UTILS/mme_parser.y old mode 100755 new mode 100644 diff --git a/openair3/UTILS/mme_scanner.l b/openair3/UTILS/mme_scanner.l old mode 100755 new mode 100644 diff --git a/openair3/UTILS/queue.h b/openair3/UTILS/queue.h old mode 100755 new mode 100644 diff --git a/openair3/UTILS/tree.h b/openair3/UTILS/tree.h old mode 100755 new mode 100644 diff --git a/pre-commit b/pre-commit old mode 100755 new mode 100644 diff --git a/svn2git/README.txt b/svn2git/README.txt old mode 100755 new mode 100644 diff --git a/svn2git/authors.txt b/svn2git/authors.txt old mode 100755 new mode 100644 diff --git a/svn2git/authors_original.txt b/svn2git/authors_original.txt old mode 100755 new mode 100644 diff --git a/svn2git/authors_original_java_output.txt b/svn2git/authors_original_java_output.txt old mode 100755 new mode 100644 diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/COMMON/common_lib.c b/targets/ARCH/COMMON/common_lib.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc b/targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc old mode 100755 new mode 100644 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h b/targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi b/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs b/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm b/targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit b/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf b/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.ipf old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk b/targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd b/targets/ARCH/EXMIMO/BITSTREAM/fpga.cmd old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd b/targets/ARCH/EXMIMO/BITSTREAM/prom_generate.cmd old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd b/targets/ARCH/EXMIMO/BITSTREAM/prom_load.cmd old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DEFS/openair_device.h b/targets/ARCH/EXMIMO/DEFS/openair_device.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DEFS/pcie_interface.h b/targets/ARCH/EXMIMO/DEFS/pcie_interface.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/Makefile b/targets/ARCH/EXMIMO/DRIVER/eurecom/Makefile old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh b/targets/ARCH/EXMIMO/DRIVER/eurecom/compile.sh old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/Makefile b/targets/ARCH/EXMIMO/DRIVER/exmimo3/Makefile old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh b/targets/ARCH/EXMIMO/DRIVER/exmimo3/compile.sh old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/readme.txt b/targets/ARCH/EXMIMO/DRIVER/readme.txt old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/Makefile b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/Makefile old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.sh old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile b/targets/ARCH/EXMIMO/USERSPACE/LIB/Makefile old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/Makefile old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/Makefile old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/OFDM_TX_FRAME.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/QAM_MOD.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/bitplots.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_rx_iqimbalance.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_snr_nf.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo2_tx_iqimbalance.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_config_off.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_loopback.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_multicard.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/exmimo_test_tx_rx.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/freq_calibration.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/initial_sync.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/lime_cal_rx.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/limeparms.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/phasenoise.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfl.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rfldec.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_exmimo_freq.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_calibration_rffe.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec_multicard_sync.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_multicard_sync.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig_ofdm.m old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/LimeSDR.ini b/targets/ARCH/LMSSDR/LimeSDR.ini old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini b/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini b/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini b/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini b/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp b/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp old mode 100755 new mode 100644 diff --git a/targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp b/targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp old mode 100755 new mode 100644 diff --git a/targets/ARCH/mobipass/interface.c b/targets/ARCH/mobipass/interface.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/mobipass/mobipass.c b/targets/ARCH/mobipass/mobipass.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/mobipass/mobipass.h b/targets/ARCH/mobipass/mobipass.h old mode 100755 new mode 100644 diff --git a/targets/ARCH/mobipass/queues.c b/targets/ARCH/mobipass/queues.c old mode 100755 new mode 100644 diff --git a/targets/ARCH/mobipass/queues.h b/targets/ARCH/mobipass/queues.h old mode 100755 new mode 100644 diff --git a/targets/COMMON/Makefile.inc b/targets/COMMON/Makefile.inc old mode 100755 new mode 100644 diff --git a/targets/COMMON/create_tasks.c b/targets/COMMON/create_tasks.c old mode 100755 new mode 100644 diff --git a/targets/COMMON/create_tasks.h b/targets/COMMON/create_tasks.h old mode 100755 new mode 100644 diff --git a/targets/COMMON/openairinterface5g_limits.h b/targets/COMMON/openairinterface5g_limits.h old mode 100755 new mode 100644 diff --git a/targets/COMMON/threads_t.h b/targets/COMMON/threads_t.h old mode 100755 new mode 100644 diff --git a/targets/DOCS/Doxyfile b/targets/DOCS/Doxyfile old mode 100755 new mode 100644 diff --git a/targets/DOCS/E-UTRAN_User_Guide.docx b/targets/DOCS/E-UTRAN_User_Guide.docx old mode 100755 new mode 100644 diff --git a/targets/DOCS/E-UTRAN_User_Guide.pdf b/targets/DOCS/E-UTRAN_User_Guide.pdf old mode 100755 new mode 100644 diff --git a/targets/DOCS/images/oai_logo.png b/targets/DOCS/images/oai_logo.png old mode 100755 new mode 100644 diff --git a/targets/DOCS/oai_L1_L2_procedures.ipe b/targets/DOCS/oai_L1_L2_procedures.ipe old mode 100755 new mode 100644 diff --git a/targets/Makefile.common b/targets/Makefile.common old mode 100755 new mode 100644 diff --git a/targets/Makerules b/targets/Makerules old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf b/targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.calisson.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf b/targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.memphis.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf b/targets/PROJECTS/CENTOS-LTE-EPC-INTEGRATION/CONF/enb.centos.nord.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/E-MBMS/enb.conf b/targets/PROJECTS/E-MBMS/enb.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/oaiL1.nfapi.usrpb210.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/filesave0811.mat b/targets/PROJECTS/LOCALIZATION/filesave0811.mat old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/generation.m b/targets/PROJECTS/LOCALIZATION/generation.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/initial_sync.m b/targets/PROJECTS/LOCALIZATION/initial_sync.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/initparams.m b/targets/PROJECTS/LOCALIZATION/initparams.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/plots.m b/targets/PROJECTS/LOCALIZATION/plots.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/recup.m b/targets/PROJECTS/LOCALIZATION/recup.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/where2.m b/targets/PROJECTS/LOCALIZATION/where2.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/where2_v1_final.mat b/targets/PROJECTS/LOCALIZATION/where2_v1_final.mat old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/LOCALIZATION/where2_vf.m b/targets/PROJECTS/LOCALIZATION/where2_vf.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_ch_est.m b/targets/PROJECTS/TDDREC/f_ch_est.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_ofdm_mod.m b/targets/PROJECTS/TDDREC/f_ofdm_mod.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_ofdm_rx.m b/targets/PROJECTS/TDDREC/f_ofdm_rx.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_ofdm_tx.m b/targets/PROJECTS/TDDREC/f_ofdm_tx.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_tls_ap.m b/targets/PROJECTS/TDDREC/f_tls_ap.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_tls_diag.m b/targets/PROJECTS/TDDREC/f_tls_diag.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/f_tls_svd.m b/targets/PROJECTS/TDDREC/f_tls_svd.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/s_beamforming.m b/targets/PROJECTS/TDDREC/s_beamforming.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/s_calib.m b/targets/PROJECTS/TDDREC/s_calib.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/s_draw_F.m b/targets/PROJECTS/TDDREC/s_draw_F.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/s_init_params.m b/targets/PROJECTS/TDDREC/s_init_params.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/s_run_meas.m b/targets/PROJECTS/TDDREC/s_run_meas.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/alterproj.m b/targets/PROJECTS/TDDREC/v0/alterproj.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/beamforming.m b/targets/PROJECTS/TDDREC/v0/beamforming.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/calibration.m b/targets/PROJECTS/TDDREC/v0/calibration.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/genorthqpskseq.m b/targets/PROJECTS/TDDREC/v0/genorthqpskseq.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/genrandpskseq.m b/targets/PROJECTS/TDDREC/v0/genrandpskseq.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/initparams.m b/targets/PROJECTS/TDDREC/v0/initparams.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/initparams2.m b/targets/PROJECTS/TDDREC/v0/initparams2.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/ofdm_mod.m b/targets/PROJECTS/TDDREC/v0/ofdm_mod.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/readme.txt b/targets/PROJECTS/TDDREC/v0/readme.txt old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m b/targets/PROJECTS/TDDREC/v0/runmeas_full_duplex.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m b/targets/PROJECTS/TDDREC/v0/runmeas_long_chanest.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_mimo.m b/targets/PROJECTS/TDDREC/v0/runmeas_mimo.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m b/targets/PROJECTS/TDDREC/v0/runmeas_wduplex.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m b/targets/PROJECTS/TDDREC/v0/runmeas_woduplex.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m b/targets/PROJECTS/TDDREC/v4_CH_EST/f_ch_est.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m b/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_rx.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m b/targets/PROJECTS/TDDREC/v4_CH_EST/f_ofdm_tx.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m b/targets/PROJECTS/TDDREC/v4_CH_EST/s_H_est.m old mode 100755 new mode 100644 diff --git a/targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m b/targets/PROJECTS/TDDREC/v4_CH_EST/s_init_params.m old mode 100755 new mode 100644 diff --git a/targets/README.txt b/targets/README.txt old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/load_module.sh b/targets/RT/LAUNCH_SCRIPTS/load_module.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh b/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh b/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh b/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_emos.sh b/targets/RT/LAUNCH_SCRIPTS/start_emos.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_rf.sh b/targets/RT/LAUNCH_SCRIPTS/start_rf.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh b/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_ue.sh b/targets/RT/LAUNCH_SCRIPTS/start_ue.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh b/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh old mode 100755 new mode 100644 diff --git a/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh b/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh old mode 100755 new mode 100644 diff --git a/targets/RT/USER/.runinfo b/targets/RT/USER/.runinfo old mode 100755 new mode 100644 diff --git a/targets/RT/USER/.ue.nvram b/targets/RT/USER/.ue.nvram old mode 100755 new mode 100644 diff --git a/targets/RT/USER/.ue_emm.nvram b/targets/RT/USER/.ue_emm.nvram old mode 100755 new mode 100644 diff --git a/targets/RT/USER/.usim.nvram b/targets/RT/USER/.usim.nvram old mode 100755 new mode 100644 diff --git a/targets/RT/USER/TOOLS/thread_ipc.c b/targets/RT/USER/TOOLS/thread_ipc.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/TOOLS/thread_ipc.h b/targets/RT/USER/TOOLS/thread_ipc.h old mode 100755 new mode 100644 diff --git a/targets/RT/USER/eNB_exmimo2.gtkw b/targets/RT/USER/eNB_exmimo2.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/eNB_usrp.gtkw b/targets/RT/USER/eNB_usrp.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/exmimo2_2arxg.lime b/targets/RT/USER/exmimo2_2arxg.lime old mode 100755 new mode 100644 diff --git a/targets/RT/USER/exmimo2_2brxg.lime b/targets/RT/USER/exmimo2_2brxg.lime old mode 100755 new mode 100644 diff --git a/targets/RT/USER/init_b200.sh b/targets/RT/USER/init_b200.sh old mode 100755 new mode 100644 diff --git a/targets/RT/USER/init_exmimo.sh b/targets/RT/USER/init_exmimo.sh old mode 100755 new mode 100644 diff --git a/targets/RT/USER/init_exmimo2.sh b/targets/RT/USER/init_exmimo2.sh old mode 100755 new mode 100644 diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/lte-softmodem.h b/targets/RT/USER/lte-softmodem.h old mode 100755 new mode 100644 diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rau_if4_single_thread.gtkw b/targets/RT/USER/rau_if4_single_thread.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rcc_if4.gtkw b/targets/RT/USER/rcc_if4.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rcc_if5.gtkw b/targets/RT/USER/rcc_if5.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rfsim.h b/targets/RT/USER/rfsim.h old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rru_if4p5_single_thread.gtkw b/targets/RT/USER/rru_if4p5_single_thread.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rru_if4p5_usrp.gtkw b/targets/RT/USER/rru_if4p5_usrp.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rru_if5_usrp.gtkw b/targets/RT/USER/rru_if5_usrp.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rt_wrapper.c b/targets/RT/USER/rt_wrapper.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/rt_wrapper.h b/targets/RT/USER/rt_wrapper.h old mode 100755 new mode 100644 diff --git a/targets/RT/USER/stats.c b/targets/RT/USER/stats.c old mode 100755 new mode 100644 diff --git a/targets/RT/USER/stats.fd b/targets/RT/USER/stats.fd old mode 100755 new mode 100644 diff --git a/targets/RT/USER/stats.h b/targets/RT/USER/stats.h old mode 100755 new mode 100644 diff --git a/targets/RT/USER/ue_exmimo2.gtkw b/targets/RT/USER/ue_exmimo2.gtkw old mode 100755 new mode 100644 diff --git a/targets/RT/USER/ue_usrp.gtkw b/targets/RT/USER/ue_usrp.gtkw old mode 100755 new mode 100644 diff --git a/targets/SCRIPTS/install_asn1.sh b/targets/SCRIPTS/install_asn1.sh old mode 100755 new mode 100644 diff --git a/targets/TEST/AT_COMMANDS/Makefile b/targets/TEST/AT_COMMANDS/Makefile old mode 100755 new mode 100644 diff --git a/targets/TEST/AT_COMMANDS/oaisim.c b/targets/TEST/AT_COMMANDS/oaisim.c old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/README b/targets/TEST/OAI/README old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case01.py b/targets/TEST/OAI/case01.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case02.py b/targets/TEST/OAI/case02.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case03.py b/targets/TEST/OAI/case03.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case04.py b/targets/TEST/OAI/case04.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case05.py b/targets/TEST/OAI/case05.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case11.py b/targets/TEST/OAI/case11.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case12.py b/targets/TEST/OAI/case12.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/case13.py b/targets/TEST/OAI/case13.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/core.py b/targets/TEST/OAI/core.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/log.py b/targets/TEST/OAI/log.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/openair.py b/targets/TEST/OAI/openair.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/test01.py b/targets/TEST/OAI/test01.py old mode 100755 new mode 100644 diff --git a/targets/TEST/OAI/test02.py b/targets/TEST/OAI/test02.py old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/Makefile b/targets/TEST/PACKET_TRACER/Makefile old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/README.txt b/targets/TEST/PACKET_TRACER/README.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/Msg4.txt b/targets/TEST/PACKET_TRACER/messages/Msg4.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt b/targets/TEST/PACKET_TRACER/messages/rrcconnectionreconfiguration.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt b/targets/TEST/PACKET_TRACER/messages/rrcconnectionsetup.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/sib1.txt b/targets/TEST/PACKET_TRACER/messages/sib1.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/sib2.txt b/targets/TEST/PACKET_TRACER/messages/sib2.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt b/targets/TEST/PACKET_TRACER/messages/sib2_3_oai.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt b/targets/TEST/PACKET_TRACER/messages/sib2_3_oai_Rel10.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/messages/sib3.txt b/targets/TEST/PACKET_TRACER/messages/sib3.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PACKET_TRACER/pt.c b/targets/TEST/PACKET_TRACER/pt.c old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/Makefile b/targets/TEST/PDCP/Makefile old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/readme.txt b/targets/TEST/PDCP/readme.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/test_pdcp.c b/targets/TEST/PDCP/test_pdcp.c old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/test_pdcp.h b/targets/TEST/PDCP/test_pdcp.h old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/test_util.h b/targets/TEST/PDCP/test_util.h old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/todo.txt b/targets/TEST/PDCP/todo.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/with_rlc/Makefile.data_bearer b/targets/TEST/PDCP/with_rlc/Makefile.data_bearer old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt b/targets/TEST/PDCP/with_rlc/readme_test_pdcp_rlc.txt old mode 100755 new mode 100644 diff --git a/targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c b/targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c old mode 100755 new mode 100644 diff --git a/targets/TEST/RLC_AM_V9.3.0/Makefile b/targets/TEST/RLC_AM_V9.3.0/Makefile old mode 100755 new mode 100644 diff --git a/targets/TEST/RLC_AM_V9.3.0/oaisim.c b/targets/TEST/RLC_AM_V9.3.0/oaisim.c old mode 100755 new mode 100644 diff --git a/targets/TEST/RLC_UM_V9.3.0/Makefile b/targets/TEST/RLC_UM_V9.3.0/Makefile old mode 100755 new mode 100644 diff --git a/targets/TEST/RLC_UM_V9.3.0/oaisim.c b/targets/TEST/RLC_UM_V9.3.0/oaisim.c old mode 100755 new mode 100644 diff --git a/targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp b/targets/TEST/ROHDE_SCHWARZ/EthernetRawCommand.cpp old mode 100755 new mode 100644 diff --git a/targets/TEST/ROHDE_SCHWARZ/Makefile b/targets/TEST/ROHDE_SCHWARZ/Makefile old mode 100755 new mode 100644 diff --git a/targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp b/targets/TEST/ROHDE_SCHWARZ/TcpClient.cpp old mode 100755 new mode 100644 diff --git a/targets/TEST/ROHDE_SCHWARZ/TcpClient.h b/targets/TEST/ROHDE_SCHWARZ/TcpClient.h old mode 100755 new mode 100644 diff --git a/targets/itti_vcd_tasks.sav b/targets/itti_vcd_tasks.sav old mode 100755 new mode 100644 From cae1ed0b119c7ca2b5c453d5cc5746da264cf286 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 15 Jan 2019 21:31:29 +0100 Subject: [PATCH 104/109] changed some AssertFatal into LOG_E + return(-1) --- openair2/LAYER2/MAC/config.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c index 68e9e52eb8..3252bb6b92 100644 --- a/openair2/LAYER2/MAC/config.c +++ b/openair2/LAYER2/MAC/config.c @@ -892,11 +892,15 @@ int rrc_mac_config_req_eNB(module_id_t Mod_idP, } } // mib != NULL + // SRB2_lchan_config->choice.explicitValue.ul_SpecificParameters->logicalChannelGroup if (logicalChannelConfig != NULL) { // check for eMTC specific things UE_id = find_UE_id(Mod_idP, rntiP); - AssertFatal(UE_id>=0,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + if (UE_id<0) { + LOG_E(MAC,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + return(-1); + } if (logicalChannelConfig) { UE_list->UE_template[CC_idP][UE_id].lcgidmap[logicalChannelIdentity] = *logicalChannelConfig->ul_SpecificParameters->logicalChannelGroup; UE_list->UE_template[CC_idP][UE_id].lcgidpriority[logicalChannelIdentity] = logicalChannelConfig->ul_SpecificParameters->priority; @@ -905,7 +909,10 @@ int rrc_mac_config_req_eNB(module_id_t Mod_idP, if (physicalConfigDedicated != NULL) { UE_id = find_UE_id(Mod_idP, rntiP); - AssertFatal(UE_id>=0,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + if (UE_id<0) { + LOG_E(MAC,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + return(-1); + } UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated = physicalConfigDedicated; LOG_I(MAC,"Added physicalConfigDedicated %p for %d.%d\n",physicalConfigDedicated,CC_idP,UE_id); } @@ -914,7 +921,10 @@ int rrc_mac_config_req_eNB(module_id_t Mod_idP, #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)) if (sCellToAddMod_r10 != NULL) { - UE_id = find_UE_id(Mod_idP, rntiP); + if (UE_id<0) { + LOG_E(MAC,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); + return(-1); + } AssertFatal(UE_id>=0,"Configuration received for unknown UE (%x), shouldn't happen\n",rntiP); config_dedicated_scell(Mod_idP, rntiP, sCellToAddMod_r10); } From 023b6ebc293aae9228100ad8684fa68ebfa15dfb Mon Sep 17 00:00:00 2001 From: haswell Date: Sat, 19 Jan 2019 16:02:59 +0100 Subject: [PATCH 105/109] testing LTE-M configuration --- openair1/SCHED/fapi_l1.c | 30 ++++++++++++------------- openair2/LAYER2/MAC/eNB_scheduler.c | 1 + openair2/LAYER2/MAC/eNB_scheduler_bch.c | 6 ++--- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index f47e9621b9..e04f8fa480 100644 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -180,24 +180,24 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro dlsch1 = eNB->dlsch[UE_id][1]; #if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0)) - if ((rel13->pdsch_payload_type < 2) && (rel13->ue_type>0)) dlsch0->harq_ids[frame%2][subframe] = 0; + if ((rel13->pdsch_payload_type < 2) && (rel13->ue_type>0)) dlsch0->harq_ids[proc->frame_tx%2][proc->subframe_tx] = 0; #endif - harq_pid = dlsch0->harq_ids[frame%2][subframe]; + harq_pid = dlsch0->harq_ids[proc->frame_tx%2][proc->subframe_tx]; AssertFatal((harq_pid>=0) && (harq_pid<8),"harq_pid %d not in 0...7 frame:%d subframe:%d subframe(TX):%d rnti:%x UE_id:%d dlsch0[harq_ids:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d]\n", harq_pid, frame,subframe, proc->subframe_tx,rel8->rnti,UE_id, - dlsch0->harq_ids[frame%2][0], - dlsch0->harq_ids[frame%2][1], - dlsch0->harq_ids[frame%2][2], - dlsch0->harq_ids[frame%2][3], - dlsch0->harq_ids[frame%2][4], - dlsch0->harq_ids[frame%2][5], - dlsch0->harq_ids[frame%2][6], - dlsch0->harq_ids[frame%2][7], - dlsch0->harq_ids[frame%2][8], - dlsch0->harq_ids[frame%2][9] + dlsch0->harq_ids[proc->frame_tx%2][0], + dlsch0->harq_ids[proc->frame_tx%2][1], + dlsch0->harq_ids[proc->frame_tx%2][2], + dlsch0->harq_ids[proc->frame_tx%2][3], + dlsch0->harq_ids[proc->frame_tx%2][4], + dlsch0->harq_ids[proc->frame_tx%2][5], + dlsch0->harq_ids[proc->frame_tx%2][6], + dlsch0->harq_ids[proc->frame_tx%2][7], + dlsch0->harq_ids[proc->frame_tx%2][8], + dlsch0->harq_ids[proc->frame_tx%2][9] ); dlsch0_harq = dlsch0->harq_processes[harq_pid]; dlsch1_harq = dlsch1->harq_processes[harq_pid]; @@ -223,7 +223,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro computeRhoB_eNB(rel8->pa,eNB->frame_parms.pdsch_config_common.p_b,eNB->frame_parms.nb_antenna_ports_eNB,dlsch1,dlsch1_harq->dl_power_off); } - dlsch0_harq->pdsch_start = eNB->pdcch_vars[subframe & 1].num_pdcch_symbols; + dlsch0_harq->pdsch_start = eNB->pdcch_vars[proc->subframe_tx & 1].num_pdcch_symbols; if (dlsch0_harq->round==0) { //get pointer to SDU if this a new SDU if(sdu == NULL) { @@ -265,7 +265,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro dlsch0_harq = dlsch0->harq_processes[0]; dlsch0_harq->pdu = sdu; - if (proc->frame_tx < 200) LOG_D(PHY,"NFAPI: frame %d, subframe %d: Programming SI-BR (%d) => %d\n",proc->frame_tx,proc->subframe_tx,rel13->pdsch_payload_type,UE_id); + if (proc->frame_tx < 200) LOG_I(PHY,"NFAPI: frame %d, subframe %d (TX %d.%d): Programming SI-BR (%d) => %d\n",frame,subframe,proc->frame_tx,proc->subframe_tx,rel13->pdsch_payload_type,UE_id); dlsch0->rnti = 0xFFFF; dlsch0->Kmimo = 1; @@ -274,7 +274,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro dlsch0->i0 = rel13->initial_transmission_sf_io; dlsch0_harq->pdsch_start = rel10->pdsch_start; - dlsch0->harq_ids[frame%2][proc->subframe_tx] = 0; + dlsch0->harq_ids[proc->frame_tx%2][proc->subframe_rx] = 0; dlsch0_harq->frame = proc->frame_tx; dlsch0_harq->subframe = proc->subframe_tx; diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index bd8e835174..4ebe7313e8 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -443,6 +443,7 @@ clear_nfapi_information(eNB_MAC_INST * eNB, int CC_idP, DL_req[CC_idP].dl_config_request_body.number_pdu = 0; DL_req[CC_idP].dl_config_request_body.number_pdsch_rnti = 0; DL_req[CC_idP].dl_config_request_body.transmission_power_pcfich = 6000; + DL_req[CC_idP].sfn_sf = subframeP + (frameP<<4); HI_DCI0_req->hi_dci0_request_body.sfnsf = subframeP + (frameP<<4); HI_DCI0_req->hi_dci0_request_body.number_of_dci = 0; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index 96ca1c2927..c5bea89c11 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -211,7 +211,7 @@ schedule_SIB1_BR(module_id_t module_idP, bcch_sdu_length, TBS); if ((frameP & 1023) < 200) - LOG_D(MAC, + LOG_I(MAC, "[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n", module_idP, frameP, subframeP, CC_id, bcch_sdu_length, n_NB, i, m, N_S_NB, rvidx); @@ -408,8 +408,8 @@ schedule_SI_BR(module_id_t module_idP, frame_t frameP, vrb_map[first_rb+4] = 1; vrb_map[first_rb+5] = 1; - //if ((frameP&1023) < 200) - LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", + if ((frameP&1023) < 200) + LOG_I(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", module_idP,frameP,subframeP,CC_id,(int)si_Narrowband_r13-1,rvidx, sf_mod_period,(int)si_WindowLength_BR_r13,(int)si_RepetitionPattern_r13, bcch_sdu_length); From b2748da3c957afb791fd64ec4e05b6fca95bcb20 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 20 Jan 2019 13:18:49 +0100 Subject: [PATCH 106/109] removal of warnings and excessive logging --- openair1/PHY/CODING/crc_byte.c | 33 ++++++++++++----------- openair1/SCHED/fapi_l1.c | 6 ++--- openair2/LAYER2/MAC/eNB_scheduler_bch.c | 4 +-- openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 23 ++++++++-------- 4 files changed, 35 insertions(+), 31 deletions(-) diff --git a/openair1/PHY/CODING/crc_byte.c b/openair1/PHY/CODING/crc_byte.c index f2f7e4e5c7..06a43fdb79 100644 --- a/openair1/PHY/CODING/crc_byte.c +++ b/openair1/PHY/CODING/crc_byte.c @@ -32,21 +32,6 @@ #include "PHY/types.h" -// For initialization && verification purposes, bit by bit implementation with any polynomial -// The first bit is in the MSB of each byte - -// Reference 38.212 V15.1.1 Section 5.1 (36-212 v8.6.0 , pp 8-9) -// The highest degree is set by default -/** 1000 0110 0100 1100 1111 1011 D^24 + D^23 + D^18 + D^17 + D^14 + D^11 + D^10 + D^7 + D^6 + D^5 + D^4 + D^3 + D + 1 */ -static const uint32_t poly24a = 0x864cfb00; -/** 1000 0000 0000 0000 0110 0011 D^24 + D^23 + D^6 + D^5 + D + 1 */ -static const uint32_t poly24b = 0x80006300; -/** 0001 0000 0010 0001 D^16 + D^12 + D^5 + 1 */ -static const uint32_t poly16 = 0x10210000; -/** 1000 0000 1111 D^12 + D^11 + D^3 + D^2 + D + 1 */ -static const uint32_t poly12 = 0x80F00000; -/** 1001 1011 D^8 + D^7 + D^4 + D^3 + D + 1 */ -static const uint32_t poly8 = 0x9B000000; // The following arrays are generated with the function 'crcTableInit' /** Encoding table for CRC 24A */ @@ -96,6 +81,24 @@ uint32_t crcbit (uint8_t * inputptr, int32_t octetlen, uint32_t poly) // CRC table initialization /* + RK: Note that this should be brought back and use crcTableInit instead of static declaration + Commented out to remove warning + // For initialization && verification purposes, bit by bit implementation with any polynomial + // The first bit is in the MSB of each byte + + // Reference 38.212 V15.1.1 Section 5.1 (36-212 v8.6.0 , pp 8-9) +// The highest degree is set by default +// 1000 0110 0100 1100 1111 1011 D^24 + D^23 + D^18 + D^17 + D^14 + D^11 + D^10 + D^7 + D^6 + D^5 + D^4 + D^3 + D + 1 +static const uint32_t poly24a = 0x864cfb00; +// 1000 0000 0000 0000 0110 0011 D^24 + D^23 + D^6 + D^5 + D + 1 +static const uint32_t poly24b = 0x80006300; +// 0001 0000 0010 0001 D^16 + D^12 + D^5 + 1 +static const uint32_t poly16 = 0x10210000; +// 1000 0000 1111 D^12 + D^11 + D^3 + D^2 + D + 1 +static const uint32_t poly12 = 0x80F00000; +// 1001 1011 D^8 + D^7 + D^4 + D^3 + D + 1 +static const uint32_t poly8 = 0x9B000000; + void crcTableInit (void) { uint8_t c = 0; diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index e04f8fa480..0140e63746 100644 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -73,7 +73,7 @@ void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB, LTE_eNB_MPDCCH *mpdcch_vars = &eNB->mpdcch_vars[idx]; nfapi_dl_config_mpdcch_pdu *pdu = &dl_config_pdu->mpdcch_pdu; - LOG_I(PHY,"Frame %d, Subframe %d: MDCI processing\n",proc->frame_tx,proc->subframe_tx); + LOG_D(PHY,"Frame %d, Subframe %d: MDCI processing\n",proc->frame_tx,proc->subframe_tx); // copy dci configuration into eNB structure fill_mdci_and_dlsch(eNB,proc,&mpdcch_vars->mdci_alloc[mpdcch_vars->num_dci],pdu); @@ -101,7 +101,7 @@ void handle_nfapi_hi_dci0_mpdcch_dci_pdu(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, int idx = proc->subframe_tx&1; LTE_eNB_MPDCCH *pdcch_vars = &eNB->mpdcch_vars[idx]; // copy dci configuration in to eNB structure - fill_mpdcch_dci0(eNB,proc,&pdcch_vars->mdci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->dci_pdu); + fill_mpdcch_dci0(eNB,proc,&pdcch_vars->mdci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->mpdcch_dci_pdu); } @@ -265,7 +265,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro dlsch0_harq = dlsch0->harq_processes[0]; dlsch0_harq->pdu = sdu; - if (proc->frame_tx < 200) LOG_I(PHY,"NFAPI: frame %d, subframe %d (TX %d.%d): Programming SI-BR (%d) => %d\n",frame,subframe,proc->frame_tx,proc->subframe_tx,rel13->pdsch_payload_type,UE_id); + if (proc->frame_tx < 200) LOG_D(PHY,"NFAPI: frame %d, subframe %d (TX %d.%d): Programming SI-BR (%d) => %d\n",frame,subframe,proc->frame_tx,proc->subframe_tx,rel13->pdsch_payload_type,UE_id); dlsch0->rnti = 0xFFFF; dlsch0->Kmimo = 1; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index c5bea89c11..339d4102aa 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -211,7 +211,7 @@ schedule_SIB1_BR(module_id_t module_idP, bcch_sdu_length, TBS); if ((frameP & 1023) < 200) - LOG_I(MAC, + LOG_D(MAC, "[eNB %d] Frame %d Subframe %d: SIB1_BR->DLSCH CC_id %d, Received %d bytes, scheduling on NB %d (i %d,m %d,N_S_NB %d) rvidx %d\n", module_idP, frameP, subframeP, CC_id, bcch_sdu_length, n_NB, i, m, N_S_NB, rvidx); @@ -409,7 +409,7 @@ schedule_SI_BR(module_id_t module_idP, frame_t frameP, vrb_map[first_rb+5] = 1; if ((frameP&1023) < 200) - LOG_I(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", + LOG_D(MAC,"[eNB %d] Frame %d Subframe %d: SI_BR->DLSCH CC_id %d, Narrowband %d rvidx %d (sf_mod_period %d : si_WindowLength_BR_r13 %d : si_RepetitionPattern_r13 %d) bcch_sdu_length %d\n", module_idP,frameP,subframeP,CC_id,(int)si_Narrowband_r13-1,rvidx, sf_mod_period,(int)si_WindowLength_BR_r13,(int)si_RepetitionPattern_r13, bcch_sdu_length); diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index 9a99701897..c4a6a59e2b 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -105,8 +105,6 @@ rx_sdu(const module_id_t enb_mod_idP, int lcgid_updated[4] = {0, 0, 0, 0}; UE_list_t *UE_list = &mac->UE_list; int crnti_rx = 0; - RA_t *ra = - (RA_t *) & RC.mac[enb_mod_idP]->common_channels[CC_idP].ra[0]; int first_rb = 0; rrc_eNB_ue_context_t *ue_contextP = NULL; start_meas(&mac->rx_ulsch_sdu); @@ -218,8 +216,11 @@ rx_sdu(const module_id_t enb_mod_idP, return; } } else if ((RA_id = find_RA_id(enb_mod_idP, CC_idP, current_rnti)) != -1) { // Check if this is an RA process for the rnti + + RA_t *ra = (RA_t *) & mac->common_channels[CC_idP].ra[RA_id]; + #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) - if (UE_list->UE_template[CC_idP][UE_id].rach_resource_type > 0) harq_pid=0; + if (ra->rach_resource_type > 0) harq_pid=0; #endif AssertFatal(mac->common_channels[CC_idP]. radioResourceConfigCommon->rach_ConfigCommon. @@ -230,7 +231,7 @@ rx_sdu(const module_id_t enb_mod_idP, maxHARQ_Msg3Tx); LOG_D(MAC, "[eNB %d][PUSCH %d] CC_id %d [RAPROC Msg3] Received ULSCH sdu round %d from PHY (rnti %x, RA_id %d) ul_cqi %d\n", - enb_mod_idP, harq_pid, CC_idP, ra[RA_id].msg3_round, + enb_mod_idP, harq_pid, CC_idP, ra->msg3_round, current_rnti, RA_id, ul_cqi); first_rb = ra->msg3_first_rb; @@ -238,21 +239,21 @@ rx_sdu(const module_id_t enb_mod_idP, LOG_D(MAC, "[eNB %d] CC_id %d, RA %d ULSCH in error in round %d/%d\n", enb_mod_idP, CC_idP, RA_id, - ra[RA_id].msg3_round, + ra->msg3_round, (int) mac->common_channels[CC_idP]. radioResourceConfigCommon->rach_ConfigCommon. maxHARQ_Msg3Tx); - if (ra[RA_id].msg3_round >= mac->common_channels[CC_idP].radioResourceConfigCommon->rach_ConfigCommon.maxHARQ_Msg3Tx - 1) { + if (ra->msg3_round >= mac->common_channels[CC_idP].radioResourceConfigCommon->rach_ConfigCommon.maxHARQ_Msg3Tx - 1) { cancel_ra_proc(enb_mod_idP, CC_idP, frameP, current_rnti); } else { first_rb = UE_list->UE_template[CC_idP][UE_id].first_rb_ul[harq_pid]; - ra[RA_id].msg3_round++; + ra->msg3_round++; // prepare handling of retransmission get_Msg3allocret(&mac->common_channels[CC_idP], - ra[RA_id].Msg3_subframe, ra[RA_id].Msg3_frame, - &ra[RA_id].Msg3_frame, &ra[RA_id].Msg3_subframe); - add_msg3(enb_mod_idP, CC_idP, &ra[RA_id], frameP, subframeP); + ra->Msg3_subframe, ra->Msg3_frame, + &ra->Msg3_frame, &ra->Msg3_subframe); + add_msg3(enb_mod_idP, CC_idP, ra, frameP, subframeP); } /* TODO: program NACK for PHICH? */ @@ -337,7 +338,7 @@ rx_sdu(const module_id_t enb_mod_idP, * the UE state in the eNB is wrong. */ for (ii = 0; ii < NB_RA_PROC_MAX; ii++) { - ra = &mac->common_channels[CC_idP].ra[ii]; + RA_t *ra = &mac->common_channels[CC_idP].ra[ii]; if ((ra->rnti == current_rnti) && (ra->state != IDLE)) { mac_rrc_data_ind(enb_mod_idP, From f84e52bad5d2d043a4ad484c3684e24bfd9b67ab Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 20 Jan 2019 15:39:58 +0100 Subject: [PATCH 107/109] replaced AssertFatal with LOG_E and RA procedure cancellation --- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 73213eb1c8..32166fdb9c 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -667,7 +667,11 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP, N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth); UE_id = find_UE_id(module_idP, ra->rnti); - AssertFatal(UE_id >= 0, "Can't find UE for t-crnti %x\n",ra->rnti); + if (UE_id < 0) { + LOG_E(MAC,"Can't find UE for t-crnti %x, kill RA procedure for this UE\n",ra->rnti); + cancel_ra_proc(module_idP, CC_idP, frameP, ra->rnti); + return; + } // set HARQ process round to 0 for this UE From 8e3638147dbabead3a520a32fb39e7a57b9cd9e8 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Thu, 24 Jan 2019 12:27:18 +0100 Subject: [PATCH 108/109] basic simulator: workaround: skip first simulation's frames Due to some unknown bug in the eNB (or UE, or both), the first frames are not correctly generated (or handled), which leads to a bad behavior of the simulator in some cases (seen with 100 RBs: the UE reads a bad MIB and switches to 25 RBs, which results in a deadlock in the tcp_bridge_oai driver). Let's "fix" this problem by skipping (in the driver) some frames at the beginning of the simulation. --- targets/ARCH/tcp_bridge/tcp_bridge_oai.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/targets/ARCH/tcp_bridge/tcp_bridge_oai.c b/targets/ARCH/tcp_bridge/tcp_bridge_oai.c index b0f131de91..a7bb8c00bf 100644 --- a/targets/ARCH/tcp_bridge/tcp_bridge_oai.c +++ b/targets/ARCH/tcp_bridge/tcp_bridge_oai.c @@ -354,6 +354,29 @@ int tcp_bridge_ue_first_read(openair0_device *device, openair0_timestamp *timest abort(); } + /* Due to some unknown bug in the eNB (or UE, or both), the first frames + * are not correctly generated (or handled), which leads to a bad behavior + * of the simulator in some cases (seen with 100 RBs: the UE reads a bad + * MIB and switches to 25 RBs, which results in a deadlock in this driver). + * Let's skip 10 frames to avoid this issue. + */ + for (int i = 0; i < 10 * 10; i++) { + memset(b, 0, t->samples_per_subframe * 4); + n = fullwrite(t->sock, b, t->samples_per_subframe * 4); + + if (n != t->samples_per_subframe * 4) { + printf("tcp_bridge: write error ret %d error %s\n", n, strerror(errno)); + abort(); + } + + n = fullread(t->sock, b, t->samples_per_subframe * 4); + + if (n != t->samples_per_subframe * 4) { + printf("tcp_bridge: read error ret %d error %s\n", n, strerror(errno)); + abort(); + } + } + device->trx_read_func = tcp_bridge_read_ue; return tcp_bridge_read_ue(device, timestamp, buff, nsamps, cc); } From dd63e5239cdbbe1a611985ed3cd12060fd5b9bde Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Fri, 8 Feb 2019 15:14:39 +0100 Subject: [PATCH 109/109] minor change for CI with L2 emulator (NFAPI) --- openair1/SCHED/fapi_l1.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index 0140e63746..a057b243b9 100644 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -55,6 +55,8 @@ void handle_nfapi_dci_dl_pdu(PHY_VARS_eNB *eNB, LTE_eNB_PDCCH *pdcch_vars = &eNB->pdcch_vars[idx]; nfapi_dl_config_dci_dl_pdu *pdu = &dl_config_pdu->dci_dl_pdu; + if (nfapi_mode==2) return; + LOG_D(PHY,"Frame %d, Subframe %d: DCI processing - populating pdcch_vars->dci_alloc[%d] proc:subframe_tx:%d idx:%d pdcch_vars->num_dci:%d\n",frame,subframe, pdcch_vars->num_dci, proc->subframe_tx, idx, pdcch_vars->num_dci); // copy dci configuration into eNB structure @@ -73,6 +75,8 @@ void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB, LTE_eNB_MPDCCH *mpdcch_vars = &eNB->mpdcch_vars[idx]; nfapi_dl_config_mpdcch_pdu *pdu = &dl_config_pdu->mpdcch_pdu; + if (nfapi_mode==2) return; + LOG_D(PHY,"Frame %d, Subframe %d: MDCI processing\n",proc->frame_tx,proc->subframe_tx); // copy dci configuration into eNB structure @@ -87,6 +91,8 @@ void handle_nfapi_hi_dci0_dci_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rx int idx = subframe&1; LTE_eNB_PDCCH *pdcch_vars = &eNB->pdcch_vars[idx]; + if (nfapi_mode==2) return; + //LOG_D(PHY,"%s() SFN/SF:%04d%d Before num_dci:%d\n", __FUNCTION__,frame,subframe,pdcch_vars->num_dci); // copy dci configuration in to eNB structure @@ -100,6 +106,8 @@ void handle_nfapi_hi_dci0_mpdcch_dci_pdu(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, { int idx = proc->subframe_tx&1; LTE_eNB_MPDCCH *pdcch_vars = &eNB->mpdcch_vars[idx]; + if (nfapi_mode==2) return; + // copy dci configuration in to eNB structure fill_mpdcch_dci0(eNB,proc,&pdcch_vars->mdci_alloc[pdcch_vars->num_dci], &hi_dci0_config_pdu->mpdcch_dci_pdu); } @@ -110,6 +118,8 @@ void handle_nfapi_hi_dci0_hi_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxt { LTE_eNB_PHICH *phich = &eNB->phich_vars[subframe&1]; + if (nfapi_mode==2) return; + // copy dci configuration in to eNB structure LOG_D(PHY,"Received HI PDU with value %d (rbstart %d,cshift %d)\n", hi_dci0_config_pdu->hi_pdu.hi_pdu_rel8.hi_value, @@ -130,6 +140,8 @@ void handle_nfapi_bch_pdu(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, { nfapi_dl_config_bch_pdu_rel8_t *rel8 = &dl_config_pdu->bch_pdu.bch_pdu_rel8; + if (nfapi_mode==2) return; + AssertFatal(rel8->length == 3, "BCH PDU has length %d != 3\n",rel8->length); //LOG_D(PHY,"bch_pdu: %x,%x,%x\n",sdu[0],sdu[1],sdu[2]); @@ -168,6 +180,8 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro int UE_id; int harq_pid; + if (nfapi_mode==2) return; + UE_id = find_dlsch(rel8->rnti,eNB,SEARCH_EXIST_OR_FREE); if( (UE_id<0) || (UE_id>=NUMBER_OF_UE_MAX) ){ LOG_E(PHY,"illegal UE_id found!!! rnti %04x UE_id %d\n",rel8->rnti,UE_id); @@ -420,6 +434,8 @@ void handle_ulsch_harq_pdu( LTE_eNB_ULSCH_t *ulsch=eNB->ulsch[UE_id]; LTE_UL_eNB_HARQ_t *ulsch_harq; + if (nfapi_mode==2) return; + int harq_pid = rel8->harq_process_number; ulsch_harq = ulsch->harq_processes[harq_pid]; ulsch_harq->frame = frame; @@ -443,6 +459,8 @@ void handle_ulsch_cqi_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request int harq_pid = ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8.harq_process_number; LTE_UL_eNB_HARQ_t *ulsch_harq = ulsch->harq_processes[harq_pid]; + if (nfapi_mode==2) return; + ulsch_harq->frame = frame; ulsch_harq->subframe = subframe; ulsch_harq->O_RI = rel9->aperiodic_cqi_pmi_ri_report.cc[0].ri_size; @@ -464,6 +482,8 @@ void handle_ulsch_cqi_harq_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_re LTE_UL_eNB_HARQ_t *ulsch_harq = ulsch->harq_processes[harq_pid]; nfapi_ul_config_ulsch_harq_information *harq_information = &ul_config_pdu->ulsch_cqi_harq_ri_pdu.harq_information; + if (nfapi_mode==2) return; + ulsch_harq->frame = frame; ulsch_harq->subframe = subframe; ulsch_harq->O_RI = rel9->aperiodic_cqi_pmi_ri_report.cc[0].ri_size; @@ -479,6 +499,9 @@ void handle_ulsch_cqi_harq_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_re void handle_uci_harq_information(PHY_VARS_eNB *eNB, LTE_eNB_UCI *uci,nfapi_ul_config_harq_information *harq_information) { + + if (nfapi_mode==2) return; + if (eNB->frame_parms.frame_type == FDD) { uci->num_pucch_resources = harq_information->harq_information_rel9_fdd.number_of_pucch_resources; @@ -577,6 +600,8 @@ void handle_uci_sr_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu_t { LTE_eNB_UCI *uci = &eNB->uci_vars[UE_id]; + if (nfapi_mode==2) return; + uci->frame = frame; uci->subframe = subframe; uci->rnti = ul_config_pdu->uci_sr_pdu.ue_information.ue_information_rel8.rnti; @@ -600,6 +625,8 @@ void handle_uci_sr_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_ { LTE_eNB_UCI *uci = &eNB->uci_vars[UE_id]; + if (nfapi_mode==2) return; + uci->frame = frame; uci->subframe = subframe; uci->rnti = ul_config_pdu->uci_sr_harq_pdu.ue_information.ue_information_rel8.rnti; @@ -621,6 +648,8 @@ void handle_uci_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu { LTE_eNB_UCI *uci = &eNB->uci_vars[UE_id]; + if (nfapi_mode==2) return; + LOG_D(PHY,"Frame %d, Subframe %d: Programming UCI_HARQ process (type %d)\n",frame,subframe,HARQ); uci->frame = frame; uci->subframe = subframe; @@ -642,6 +671,8 @@ void handle_srs_pdu(PHY_VARS_eNB *eNB,nfapi_ul_config_request_pdu_t *ul_config_p { int i; + if (nfapi_mode==2) return; + for (i=0;isoundingrs_ul_config_dedicated[i].active==1) continue; @@ -668,6 +699,8 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, nfapi_ul_config_ulsch_pdu_rel8_t *rel8 = &ul_config_pdu->ulsch_pdu.ulsch_pdu_rel8; int16_t UE_id; + if (nfapi_mode==2) return; + // check if we have received a dci for this ue and ulsch descriptor is configured if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_ULSCH_PDU_TYPE) {